站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        怎么為WordPress小工具添加CSS類選項

        下面由WordPress教程欄目給大家介紹怎么為WordPress小工具添加CSS類選項,希望對需要的朋友有所幫助!

        WordPress 小工具可以重復(fù)使用,相同的小工具樣式也是相同的,如果想自定義某個前臺添加的小工具樣式,與其它不同,可以通過查看原代碼,找到它的id,比如搜索小工具會看到類似的:

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

        其中search-2就是這個小工具的ID,可以用#search-2定義樣式,不過這個后綴的編號并不是固定的,下次添加可能會變,需要再次編輯之前的樣式,有些麻煩。

        可以通過下面的代碼,給現(xiàn)有的小工具統(tǒng)一增加CSS類選項,將代碼添加到當(dāng)前主題函數(shù)模板functions.php中即可,效果如圖:

        怎么為WordPress小工具添加CSS類選項

        代碼一 

        只加一個CSS類選項

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

        代碼二 

        添加ID及CSS類下拉選項

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

        代碼中預(yù)設(shè)了CSS類名稱,可能使用更方便些。

        缺點:添加的選項位置在其它小工具選項的上面,需要改進一下。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 一区二区日韩国产精品| 亚洲AV永久无码精品一区二区国产| 91无码人妻精品一区二区三区L| 合区精品中文字幕| 四虎国产精品免费观看| 漂亮人妻被黑人久久精品| 国产亚洲精品激情都市| 国产精品视频白浆免费视频| 亚洲精品A在线观看| 国产精品美女网站| 久久国产乱子伦精品免费强| 国精品午夜福利视频不卡| 伊人精品视频在线| 久久无码精品一区二区三区| 成人精品一区二区三区在线观看| heyzo高无码国产精品| 亚洲精品美女久久777777| 黑人巨茎精品欧美一区二区| 亚洲精品欧美综合| 精品一区二区久久| 国产福利视精品永久免费| 国产久热精品无码激情| 无码国内精品人妻少妇| 中文精品99久久国产| 无码国产亚洲日韩国精品视频一区二区三区 | 99精品视频在线观看婷| 91精品国产福利在线导航| 国产美女久久精品香蕉69| 无码精品视频一区二区三区| 日韩精品无码Av一区二区| 免费观看四虎精品成人| 久久免费国产精品| 久久97久久97精品免视看秋霞| 国产在线国偷精品免费看| 国内精品久久久久久久影视麻豆| 国产精品久久久99| 国产精品毛片无码| 国内精品久久久久久久久电影网| 精品久久久久久无码中文字幕| 久久精品成人免费观看97| 四虎国产精品永久在线看|