Записи с тегом "wp_list_categories"

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

Эта задача решается всего несколькими строчками 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);
?>

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

21 декабря 2009 г.

Как вы, наверняка, знаете, для вывода списка рубрик в WordPress используется функция wp_list_categories(). Манипулируя этой функцией с помощью PHP, мы можем реализовать вывод этого списка в две колонки.

Прошу обратить внимание, что этот способ годится в случае, если нужно вывести только родительские рубрики (без подрубрик).

В соответствующее место шаблона вашей WordPress-темы вставьте следующий PHP-код:

<?php
$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) {
		$catLeft = $catLeft.'<li>'.$cats[$i].'</li>';
	} elseif ($i >= $cat_n / 2) {
		$catRight = $catRight.'<li>'.$cats[$i].'</li>';
	}
}
?>

А после него вот такой HTML-код:

<div class="cats">
	<ul class="catLeft">
		<?php echo $catLeft;?>
	</ul>
	<ul class="catRight">
		<?php echo $catRight;?>
	</ul>
</div>

Теперь остается расположить списки правильно с помощью CSS (добавьте эти стили в файл style.css вашей темы):

.cats {
	width: 100%;
	overflow: hidden;
}
.catLeft,
.catRight {
	float: left;
	width: 50%;
}

По умолчанию в списке рубрик, если задана соответствующая опция, функция wp_list_categories() выводит количество записей после ссылки на рубрику:

Новости (73)

Но иногда бывает необходимо, чтобы счетчик находился в ссылке, а не после нее, т.е. вот так:

Новости (73)

Задача решается путем небольшой php-замены с помощью следующего кода:

<?php
	$cats = wp_list_categories('show_count=1&title_li=&echo=0');
	$cats = str_replace('</a>', '', $cats);
	$cats = str_replace(')', ')</a>', $cats);
	echo $cats;
?>

Вот и все.

—–
Работа в Мурманске представлена сайтом http://murmansk.job.ru/. Соискателям здесь можно оставить свое резюме или искать вакансии с заданными параметрами через удобную форму.

Облако тегов