Ранее я рассказывал о том, как в список страниц вставить произвольный разделитель. Теперь приведу пример, как сделать то же самое при использовании функции wp_nav_menu().

В данном случае все делается по аналогии со страницами. Код выглядит следующим образом:

<?php
	$nav = wp_nav_menu('echo=0');
	$nav = preg_replace('#<li\s(.+)><a\s(.+</a>)</li>#siU', '<a $1 $2', $nav);
	preg_match_all('#(<a.+/a>)#siU', $nav, $matches);
	$nav = implode(' | ', $matches[1]);
	echo $nav;
?>

Вот, собственно, и все.

На WordPress-сайтах, как правило, информация о количестве комментариев выглядит текстом вида комментариев: 21. Более красиво это выглядело бы так: 21 комментарий.

WordPress, естественно, не учитывает особенности русского языка, когда окончание слова после числа меняется в зависимости от этого числа.

Я предлагаю вашему простейшую PHP-функцию, которая решает эту задачу. Покажу 2 варианта этой функции.

Вариант 1

Когда нужен текст вида 21 комментарий.

В файле functions.php темы вставляем функцию:

function plural_form($number, $after) {
	$cases = array (2, 0, 1, 1, 1, 2);
	echo $number.' '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
}

Читать далее »

Представим ситуацию, что у нас на сайте есть список рубрик и нужно сделать, так, чтобы, когда мы находимся на странице одной записи, то та рубрика, в которой находится эта запись, выделялась в списке всех рубрик сайта.

Эта задача решается всего несколькими строчками php-кода, которые добавляют нужной рубрике специальный CSS-класс. А само выделение рубрики, как вы, наверное, уже догадались, будет осуществляться с помощью CSS.

Находим в шаблоне вашего сайта стандартную фукнцию вывода списка рубрик:

<?php wp_list_categories('тут_могут_быть_какие-то_параметры'); ?>

И вместо нее вставляем вот такой код:

<?php
if (is_single()) {
	$cat = get_the_category();
	$cat = $cat[0]->cat_ID;
	$currentCat = '&current_category='.$cat;
}
wp_list_categories('тут_могут_быть_какие-то_параметры'.$currentCat);
?>

Читать далее »

Облако тегов