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

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

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

<section id="search-2" class="widget widget_search">

其中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; );

 

代码二 

添加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; );

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

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

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

Kenyataan
Artikel ini dikembalikan pada:zmingcx. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Bagaimanakah ekosistem plugin WordPress meningkatkan keupayaan CMSnya?Bagaimanakah ekosistem plugin WordPress meningkatkan keupayaan CMSnya?May 14, 2025 am 12:20 AM

Wordpresspluginssignificantelyedhanceitscmscapabilitiesbyofferingcustomizationandfunctionality.1) over50,000pluginsallowuserstotailortheirsiteforseo, e-commerce, andsecurity.2) pluginscanextendcoreFeatures, likeaddingcustyCostyCes.3)

Adakah WordPress sesuai untuk e-dagang?Adakah WordPress sesuai untuk e-dagang?May 13, 2025 am 12:05 AM

Ya, WordPress sangat sesuai untuk e-dagang. 1) Dengan plugin WooCommerce, WordPress dengan cepat dapat menjadi kedai dalam talian yang berfungsi sepenuhnya. 2) Perhatikan pengoptimuman dan keselamatan prestasi, dan kemas kini tetap dan penggunaan cache dan pemalam keselamatan adalah kunci. 3) WordPress menyediakan banyak pilihan penyesuaian untuk meningkatkan pengalaman pengguna dan mengoptimumkan SEO dengan ketara.

Cara Menambah Laman WordPress Anda di Alat Webmaster YandexCara Menambah Laman WordPress Anda di Alat Webmaster YandexMay 12, 2025 pm 09:06 PM

Adakah anda ingin menyambungkan laman web anda ke alat webmaster Yandex? Alat webmaster seperti Google Search Console, Bing dan Yandex boleh membantu anda mengoptimumkan laman web anda, memantau lalu lintas, menguruskan robots.txt, periksa kesilapan laman web, dan banyak lagi. Dalam artikel ini, kami akan berkongsi cara menambah laman web WordPress anda ke alat Webmaster Yandex untuk memantau trafik enjin carian anda. Apa itu Yandex? Yandex adalah enjin carian popular yang berpusat di Rusia, sama seperti Google dan Bing. Anda boleh cemerlang dalam yandex

Cara Memperbaiki Ralat Muat Naik Http Di WordPress (Sederhana)Cara Memperbaiki Ralat Muat Naik Http Di WordPress (Sederhana)May 12, 2025 pm 09:03 PM

Adakah anda perlu membetulkan kesilapan muat naik imej HTTP di WordPress? Kesalahan ini boleh menjadi sangat mengecewakan apabila anda membuat kandungan dalam WordPress. Ini biasanya berlaku apabila anda memuat naik imej atau fail lain ke CMS anda menggunakan perpustakaan media WordPress terbina dalam. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk membetulkan kesilapan muat naik imej HTTP di WordPress. Apakah sebab kesilapan HTTP semasa memuat naik media WordPress? Apabila anda cuba memuat naik fail ke WO menggunakan pemuat naik media WordPress

Cara membetulkan masalah di mana menambahkan butang media tidak berfungsi di WordPressCara membetulkan masalah di mana menambahkan butang media tidak berfungsi di WordPressMay 12, 2025 pm 09:00 PM

Baru -baru ini, salah satu pembaca kami melaporkan bahawa butang Tambah Media di laman WordPress mereka tiba -tiba berhenti berfungsi. Masalah editor klasik ini tidak menunjukkan sebarang kesilapan atau amaran, yang membuat pengguna tidak menyedari mengapa butang "Tambah Media" mereka tidak berfungsi. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana dengan mudah membetulkan butang Tambah Media di WordPress yang tidak berfungsi. Apa yang menyebabkan butang WordPress "Tambah Media" untuk berhenti bekerja? Jika anda masih menggunakan editor WordPress klasik lama, butang Tambah Media membolehkan anda memasukkan imej, video, dan banyak lagi ke dalam catatan blog anda.

Cara Menetapkan, Dapatkan dan Padam Kuki WordPress (Seperti Profesional)Cara Menetapkan, Dapatkan dan Padam Kuki WordPress (Seperti Profesional)May 12, 2025 pm 08:57 PM

Adakah anda ingin tahu cara menggunakan kuki di laman web WordPress anda? Kuki adalah alat yang berguna untuk menyimpan maklumat sementara dalam pelayar pengguna. Anda boleh menggunakan maklumat ini untuk meningkatkan pengalaman pengguna melalui pemperibadian dan penargetan tingkah laku. Dalam panduan muktamad ini, kami akan menunjukkan kepada anda bagaimana untuk menetapkan, mendapatkan, dan memadam WordPresscookies seperti profesional. Nota: Ini adalah tutorial lanjutan. Ia memerlukan anda mahir dalam laman web HTML, CSS, WordPress dan PHP. Apa itu kuki? Kuki dicipta dan disimpan apabila pengguna melawat laman web.

Cara Memperbaiki WordPress 429 Terlalu Banyak Kesalahan PermintaanCara Memperbaiki WordPress 429 Terlalu Banyak Kesalahan PermintaanMay 12, 2025 pm 08:54 PM

Adakah anda melihat ralat "429 terlalu banyak permintaan" di laman web WordPress anda? Mesej ralat ini bermakna pengguna menghantar terlalu banyak permintaan HTTP ke pelayan laman web anda. Kesalahan ini boleh menjadi sangat mengecewakan kerana sukar untuk mengetahui apa yang menyebabkan kesilapan. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana dengan mudah membetulkan ralat "WordPress429ToomAnyRequests". Apa yang menyebabkan terlalu banyak permintaan untuk WordPress429? Penyebab paling umum mengenai ralat "429ToomAnyRequests" ialah pengguna, bot, atau skrip cuba pergi ke laman web

Bagaimana Skala WordPress sebagai CMS untuk laman web besar?Bagaimana Skala WordPress sebagai CMS untuk laman web besar?May 12, 2025 am 12:08 AM

Wordpresscanhandlelargewebsiteswithcarefulplanningandoptimization.1) useCachingtoreduceServerVoad.2) OptimizeYourDatabaseRegularly.3) ExplibectDntodistributeContent.4) vetpluginsandthemestoavoidconflicts.5)

See all articles

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

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna