Недавно я робив сайт, де треба було вивести список категорій у 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, 744 hits)




коментарі 2
Подскажите плиз, а как сделать рубрики в две колонки, но чтобы еще подрубрики были??? Спасибо!
Не знаю як так зробити 🙁