Не правильно работает функция в динамическом сайдбаре WP

[Удален]
950

Не правильно работает функция в динамическом сайдбаре WordPress.

Есть тема оформления wp-business-blog, она активирована в админке WP.

Файл sidebar.php версия номер 1


<div id="side-content" class="span-6 last">
<?php /* Widgetized sidebar, if you have the plugin installed. */
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

<h3>Рубрики</h3>
<ul>
<?php wp_list_categories('title_li=&hide_empty=0'); ?>
</ul>

Создано несколько рубрик. Добавлен один пост в одну рубрику.

То есть только в одной рубрике один пост, остальные рубрики пустые (без постов).

В панели управления виджетами добавлен виджет "Рубрики".

Открываю блог (как простой посетитель) показывает только ту рубрику,

в которой есть пост, а нужно чтобы показывало все рубрики.

Поэтому я и поставил hide_empty=0

Меняю sidebar.php таким образом.

Файл sidebar.php версия номер 2


<div id="side-content" class="span-6 last">
<h3>Рубрики</h3>
<ul>
<?php wp_list_categories('title_li=&hide_empty=0'); ?>
</ul>
<?php /* Widgetized sidebar, if you have the plugin installed. */
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>

Опять открываю блог - показывает все рубрики!

Вопрос: как сделать так, чтобы показывало все рубрики в файле sidebar.php версии номер 1 ?

Ведь hide_empty в обоих версиях sidebar.php равно нулю, значит теоретически должно в обоих версиях показывать пустые рубрики.

NetSky
На сайте с 05.04.2008
Offline
104
#1

нет в первом случае рубрики отображаются виджетом а код <?php wp_list_categories('title_li=&hide_empty=0'); ?> игнорируется .. поэтому надо в коде виджета вносить изменения

Адаптация верстки сайта под мобильные устройства. .Скорая помощь для ваших сайтов- Wordpress, DLE, Joomla, Drupal
BPhoenix
На сайте с 12.01.2009
Offline
66
#2

На много лучше убить динамический вывод сайдбара и прописать всё вручну. ТАк будет наверняка

[Удален]
#3
NetSky:
нет в первом случае рубрики отображаются виджетом а код <?php wp_list_categories('title_li=&hide_empty=0'); ?> игнорируется .. поэтому надо в коде виджета вносить изменения

В коде виджета? А где этот код? Это отдельный php-файл?

[Удален]
#4

файл wp-includes/widgets.php, функция wp_widget_categories

[Удален]
#5
seocode:
файл wp-includes/widgets.php, функция wp_widget_categories

Посмотрел этот файл.

Строки 403-404

'wp_widget_categories',

'wp_widget_categories_control',

Функции wp_widget_categories нету.

[Удален]
#6

Я смотрел на стареньком WP 2.7.1 там на строке 1071

[Удален]
#7
seocode:
Я смотрел на стареньком WP 2.7.1 там на строке 1071

А у меня WP 2.9.2

farizor добавил 25.05.2010 в 21:56

В админке, в разделе "Виджеты" открываю настройки виджета "Рубрики"

Как сделать чтобы была настройка "Показывать пустые рубрики" ?

farizor добавил 25.05.2010 в 22:05

Кое что нашёл.

wp-includes/default-widgets.php

Строка 482 function form( $instance ) {

Строка 494 <label for="<?php echo $this->get_field_id('dropdown'); ?>"><?php _e( 'Show as dropdown' ); ?></label><br />

wp-content\languages\ru_RU.po

Строка 11066

#: wp-includes/default-widgets.php:494

msgid "Show as dropdown"

msgstr "Отображать как выпадающее меню"

farizor добавил 25.05.2010 в 22:06

Значит надо вносить изменения в default-widgets.php

farizor добавил 25.05.2010 в 22:19

Внёс изменения в wp-includes\default-widgets.php

Со строки 482


function form( $instance ) {
//Defaults
//$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'hide_empty' => '') );
...
//$hide_empty = (bool) $instance['hide_empty'];
$hide_empty = false;
...
<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('hide_empty'); ?>" name="<?php echo $this->get_field_name('hide_empty'); ?>"<?php checked( $hide_empty ); ?> />
<label for="<?php echo $this->get_field_id('hide_empty'); ?>"><?php _e( 'Show empty cat' ); ?></label></p>

Теперь в админке, в виджете "Рубрики" появился пункт "Show empty cat", но не происходит запоминание состояния флажка.

И всё равно - не показывает пустые рубрики.

Форумчане, я уже не знаю что делать, помогите.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий