Rumah Tutorial CMS WordTekan 怎么为WordPress小工具添加CSS类选项

怎么为WordPress小工具添加CSS类选项

Apr 26, 2021 pm 04:54 PM
wordpress

下面由WordPress教程栏目给大家介绍怎么为WordPress小工具添加CSS类选项,希望对需要的朋友有所帮助!

WordPress 小工具可以重复使用,相同的小工具样式也是相同的,如果想自定义某个前台添加的小工具样式,与其它不同,可以通过查看原代码,找到它的id,比如搜索小工具会看到类似的:

<section id="search-2" class="widget widget_search">
Salin selepas log masuk

其中search-2就是这个小工具的ID,可以用#search-2定义样式,不过这个后缀的编号并不是固定的,下次添加可能会变,需要再次编辑之前的样式,有些麻烦。

可以通过下面的代码,给现有的小工具统一增加CSS类选项,将代码添加到当前主题函数模板functions.php中即可,效果如图:

70e06e59d91eaead639d4158799192c.png

代码一 

只加一个CSS类选项

function zm_widget_form_extend( $instance, $widget ) {
  if ( !isset($instance[&#39;classes&#39;]) )
$instance[&#39;classes&#39;] = null;
$row = "<p>\n";
$row .= "\t<label for=&#39;widget-{$widget->id_base}-{$widget->number}-classes&#39;>CSS类</label>\n";
$row .= "\t<input type=&#39;text&#39; name=&#39;widget-{$widget->id_base}[{$widget->number}][classes]&#39; id=&#39;widget-{$widget->id_base}-{$widget->number}-classes&#39; class=&#39;widefat&#39; value=&#39;{$instance[&#39;classes&#39;]}&#39;/>\n";
$row .= "</p>\n";
echo $row;
return $instance;
}
add_filter(&#39;widget_form_callback&#39;, &#39;zm_widget_form_extend&#39;, 10, 2);
 
function zm_widget_update( $instance, $new_instance ) {
$instance[&#39;classes&#39;] = $new_instance[&#39;classes&#39;];
return $instance;
}
add_filter( &#39;widget_update_callback&#39;, &#39;zm_widget_update&#39;, 10, 2 );
 
function zm_dynamic_sidebar_params( $params ) {
global $wp_registered_widgets;
$widget_id    = $params[0][&#39;widget_id&#39;];
$widget_obj    = $wp_registered_widgets[$widget_id];
$widget_opt    = get_option($widget_obj[&#39;callback&#39;][0]->option_name);
$widget_num    = $widget_obj[&#39;params&#39;][0][&#39;number&#39;];
 
if ( isset($widget_opt[$widget_num][&#39;classes&#39;]) && !empty($widget_opt[$widget_num][&#39;classes&#39;]) )
$params[0][&#39;before_widget&#39;] = preg_replace( &#39;/class="/&#39;, "class=\"{$widget_opt[$widget_num][&#39;classes&#39;]} ", $params[0][&#39;before_widget&#39;], 1 );
return $params;
}
add_filter( &#39;dynamic_sidebar_params&#39;, &#39;zm_dynamic_sidebar_params&#39; );
Salin selepas log masuk

代码二 

添加ID及CSS类下拉选项

function zm_widget_form_extend( $instance, $widget ) {
if ( !isset( $instance[&#39;classes&#39;] ) )
$instance[&#39;classes&#39;] = null;
 
if ( !isset( $instance[&#39;custom_id&#39;] ) )
$instance[&#39;custom_id&#39;] = null;
 
$class_prefix = &#39;widget-&#39;; 
$myclass = array(
&#39;default&#39;  => &#39;默认&#39;,
&#39;blue&#39;     => &#39;蓝色&#39;,
&#39;yellow&#39;   => &#39;黄色&#39;,
&#39;black&#39;    => &#39;黑色&#39;,
);
 
$row = "<p>\n";
$row .= "\t<label for=&#39;widget-{$widget->id_base}-{$widget->number}-custom_id&#39;>添加ID</label>\n";
$row .= "\t<input type=&#39;text&#39; name=&#39;widget-{$widget->id_base}[{$widget->number}][custom_id]&#39; id=&#39;widget-{$widget->id_base}-{$widget->number}-custom_id&#39; class=&#39;widefat&#39; value=&#39;{$instance[&#39;custom_id&#39;]}&#39; />\n";
$row .= "\t<label for=&#39;widget-{$widget->id_base}-{$widget->number}-classes&#39;>CSS类</label>\n";
$row .= "\t<select name=&#39;widget-{$widget->id_base}[{$widget->number}][classes]&#39; id=&#39;widget-{$widget->id_base}-{$widget->number}-classes&#39; class=&#39;widefat&#39;>";
foreach( $myclass as $key => $class ) {
$selected = null;
if( $class_prefix.$key == $instance[&#39;classes&#39;] ) $selected = &#39;selected = "selected"&#39;;
$row .= "\t<option value=&#39;$class_prefix$key&#39; $selected>$class</value>\n";
}
$row .= "</select>\n";
echo $row;
return $instance;
}
add_filter(&#39;widget_form_callback&#39;, &#39;zm_widget_form_extend&#39;, 10, 2);
 
function zm_widget_update( $instance, $new_instance ) {
$instance[&#39;classes&#39;] = $new_instance[&#39;classes&#39;];
$instance[&#39;custom_id&#39;] = $new_instance[&#39;custom_id&#39;];
return $instance;
}
add_filter( &#39;widget_update_callback&#39;, &#39;zm_widget_update&#39;, 10, 2 );
 
function zm_dynamic_sidebar_params( $params ) {
global $wp_registered_widgets;
$widget_id  = $params[0][&#39;widget_id&#39;];
$widget_obj = $wp_registered_widgets[$widget_id];
$widget_opt = get_option($widget_obj[&#39;callback&#39;][0]->option_name);
$widget_num = $widget_obj[&#39;params&#39;][0][&#39;number&#39;];
 
if ( isset( $widget_opt[$widget_num][&#39;classes&#39;] ) && !empty( $widget_opt[$widget_num][&#39;classes&#39;] ) )
$params[0][&#39;before_widget&#39;] = preg_replace( &#39;/class="/&#39;, "class=\"{$widget_opt[$widget_num][&#39;classes&#39;]} ", $params[0][&#39;before_widget&#39;], 1 );
if ( isset($widget_opt[$widget_num][&#39;custom_id&#39;]) && !empty($widget_opt[$widget_num][&#39;custom_id&#39;]) )
$params[0][&#39;before_widget&#39;] = preg_replace( &#39;/id=".*?"/&#39;, "id=\"{$widget_opt[$widget_num][&#39;custom_id&#39;]}\"", $params[0][&#39;before_widget&#39;], 1 );
return $params;
}
add_filter( &#39;dynamic_sidebar_params&#39;, &#39;zm_dynamic_sidebar_params&#39; );
Salin selepas log masuk

代码中预设了CSS类名称,可能使用更方便些。

缺点:添加的选项位置在其它小工具选项的上面,需要改进一下。

Atas ialah kandungan terperinci 怎么为WordPress小工具添加CSS类选项. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1666
14
Tutorial PHP
1272
29
Tutorial C#
1251
24
Cara Melaraskan Senarai Artikel WordPress Cara Melaraskan Senarai Artikel WordPress Apr 20, 2025 am 10:48 AM

Terdapat empat cara untuk menyesuaikan senarai artikel WordPress: Gunakan pilihan tema, gunakan plugin (seperti pesanan jenis pos, senarai pos WP, barangan boxy), gunakan kod (tambah tetapan dalam fail fungsi.php), atau ubah suai pangkalan data WordPress secara langsung.

Cara Membina Laman Web Untuk WordPress Host Cara Membina Laman Web Untuk WordPress Host Apr 20, 2025 am 11:12 AM

Untuk membina laman web menggunakan hos WordPress, anda perlu: pilih penyedia hosting yang boleh dipercayai. Beli nama domain. Sediakan akaun hosting WordPress. Pilih topik. Tambah halaman dan artikel. Pasang pemalam. Sesuaikan laman web anda. Menerbitkan laman web anda.

Cara menukar imej kepala tema WordPress Cara menukar imej kepala tema WordPress Apr 20, 2025 am 10:00 AM

Panduan langkah demi langkah untuk menggantikan imej header WordPress: Log masuk ke papan pemuka WordPress dan menavigasi ke penampilan & gt; tema. Pilih topik yang ingin anda edit dan klik Sesuaikan. Buka panel Pilihan Tema dan cari tajuk laman web atau pilihan imej header. Klik butang Pilih Imej dan muat naik imej kepala baru. Tanaman imej dan klik simpan dan tanaman. Klik butang Simpan dan Terbitkan untuk mengemas kini perubahan.

Cara mengimport kod sumber WordPress Cara mengimport kod sumber WordPress Apr 20, 2025 am 11:24 AM

Mengimport kod sumber WordPress memerlukan langkah-langkah berikut: Buat sub-tema untuk pengubahsuaian tema. Import kod sumber dan ganti rugi fail dalam sub-topik. Aktifkan sub-tema untuk menjadikannya berkesan. Uji perubahan untuk memastikan semuanya berfungsi.

Cara melihat bahagian depan WordPress Cara melihat bahagian depan WordPress Apr 20, 2025 am 10:30 AM

Anda boleh melihat front-end WordPress dengan log masuk ke papan pemuka dan beralih ke tab Laman Pandangan; mengautomasikan proses tontonan dengan penyemak imbas tanpa kepala; memasang plugin WordPress untuk melihat pratonton bahagian depan dalam papan pemuka; Melihat bahagian depan melalui URL tempatan (jika WordPress ditetapkan secara tempatan).

Apakah plugin untuk wordpress menyekat ip Apakah plugin untuk wordpress menyekat ip Apr 20, 2025 am 08:27 AM

Pemilihan plugin WordPress IP menyekat adalah penting. Jenis -jenis berikut boleh dipertimbangkan: berdasarkan .htaccess: operasi yang cekap, tetapi kompleks; Operasi pangkalan data: fleksibel, tetapi kecekapan rendah; Firewall: prestasi keselamatan yang tinggi, tetapi konfigurasi kompleks; Ditulis sendiri: Kawalan tertinggi, tetapi memerlukan lebih banyak tahap teknikal.

Cara membatalkan tarikh penyuntingan WordPress Cara membatalkan tarikh penyuntingan WordPress Apr 20, 2025 am 10:54 AM

Tarikh pengeditan WordPress boleh dibatalkan dalam tiga cara: 1. Pasang tarikh pasca Lumpuhkan Plug-in; 2. Tambah kod dalam fail Functions.php; 3 secara manual mengedit lajur post_modified dalam jadual WP_POSTS.

Cara Menulis Tajuk WordPress Cara Menulis Tajuk WordPress Apr 20, 2025 pm 12:09 PM

Langkah -langkah untuk membuat tajuk tersuai di WordPress adalah seperti berikut: Edit fail tema "header.php". Tambahkan nama dan keterangan laman web anda. Buat menu navigasi. Tambah bar carian. Simpan perubahan dan lihat tajuk tersuai anda.

See all articles