Недавно я робив сайт, де треба було вивести список категорій у 2 колонки. Хочу поділитися цим рішенням.
Я створив спеціальний плаґін-віджет, який і виводив категорії у 2 колонки.
Код для віджету, його слід додати у файл functions.php:
class cat_in_2_col extends WP_Widget { function cat_in_2_col() { // Plugin description $widget_ops = array('classname' => 'cat_in_2_col', 'description' => __('Display categories in 2 columns', 'cehla')); // Plugin name $this->WP_Widget('cat_in_2_col', __('Categories in 2 columns', 'cehla'), $widget_ops); } /** * Displays our widget */ function widget($args, $instance) { extract( $args ); print $before_widget; // Widget cat_in_2_col_title print $before_title; print $instance["cat_in_2_col_title"]; print $after_title; $cats = explode("<br />",wp_list_categories('title_li=&echo=0&depth=1&style=none')); $cat_n = count($cats) - 1; for ($i=0;$i< $cat_n;$i++): if ($i<$cat_n/2): $cat_left = $cat_left.'<li>'.$cats[$i].''; elseif ($i>=$cat_n/2): $cat_right = $cat_right.'<li>'.$cats[$i].'</li>'; endif; endfor; ?> <ul class="aleft"><?php print $cat_left;?></ul> <ul class="aright"><?php print $cat_right;?></ul> <?php print $after_widget; } /** * Form processing... Dead simple */ function update($new_instance, $old_instance) { return $new_instance; } /** * The configuration form */ function form($instance) { ?> <p> <label for="<?php print $this->get_field_id("cat_in_2_col_title"); ?>"> <?php _e( 'Title' ); ?>: <input class="widefat" id="<?php print $this->get_field_id("cat_in_2_col_title"); ?>" name="<?php print $this->get_field_name("cat_in_2_col_title"); ?>" type="text" value="<?php print esc_attr($instance["cat_in_2_col_title"]); ?>" /> </label> </p> <?php } } add_action( 'widgets_init', create_function('', 'return register_widget("cat_in_2_col");') );
Можна завантажити плаґін і використати його:
Віджет «категорії у 2 колонки» (1,0 KiB, 710 hits)
коментарі 2
Подскажите плиз, а как сделать рубрики в две колонки, но чтобы еще подрубрики были??? Спасибо!
Не знаю як так зробити 🙁