Розпродаж хостинг-планів на неймовірних умовах!
Знижка від 300 до 500грн!
 

автор Дмитро Кондрюк

05.03.2011

2

Зверніть увагу: ця публікація побачила світ більше року тому, з того часу багато чого могло змінитися ;)

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

Дмитро Кондрюк

Автор публікації Дмитро Кондрюк

В веб-індустрії з 2003 року. В 2009р. заснував проект Український WordPress (що у подальшому став офіційним сайтом команди локалізації WordPress в Україні). З 2010 року засновник і технічний директор проекту Український хостинг для WordPress (WPHost.me) - повноцінного хостинг-сервісу, максимально оптимізованого на використання CMS WordPress.

Є що відповісти?

Ваш email не буде публікуватися

Можна скористатися такими тегами в тексті:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>