Добрый вечер.
Посоветуйте пожалуйста как можно сделать такой момент
Есть 2 главные страницы, в которых есть подстраницы. Нужно при переходе на одну страницу в сайдбаре выводить список подстраниц из этой страницы. Также при переходе на другую главную страницу – список подстраниц.
Поставил такой код.
<?php if (is_page('96')){ wp_list_pages('title_li=&child_of=96'); } ?>
96- айди главной страницы. В принципе работает. Только когда переходишь не подстраницу, список в сайдбаре пропадает. Понимаю почему, ведь четко указано условие для страницы с айди 96. Но как сделать, чтобы при переходе по подстраницах, список в сайдбаре сохранялся.
Понимаю, можно прописать для каждой подстраницы условие. Но хочется, чтобы происходило все автоматом.
Кто что может посоветовать.
Спасибо.
Попробуйте так:
global $post;
if ($post->ID == 96 OR $post->post_parent == 96) {
wp_list_pages(‘title_li=&child_of=96’);
}
elseif….
Ю.Б. спасибо большое. все работает. очень помогли.
Ю.Б. скажите пожалуйста, а как сделать отображение сайдбара при переходе на страницу 3-го уровня.
Пробовал ставить таким образом, не отображается.
global $post;
if ($post->ID == 101 OR $post->post_parent == 101 OR $post->post_parent->post_parent === 101) {
wp_list_pages(‘title_li=&child_of=101’);
}
А то! $post->post_parent – целое число, а не объект, поэтому так с ним нельзя обращаться. Чтобы получить ID бабушки, нужно сначала заполучить маму как объект.
$post_parent = get_post($post->post_parent);
if ($post->ID == 101 OR $post->post_parent == 101 OR $post_parent->post_parent == 101) {
Супер. Спасибо большое. Вы действительно хороший хирург 🙂
Большое пожалуйста 🙂 То вообще. Я, скорее, не хирург, а патологоанатом 😀
🙂 🙂 🙂
else if ( is_page(”) )
{echo ‘<div class="contact_box">г. Санкт-Петербург,<br>ст.метро Чернышевская, проспект Чернышевского, <br>дом 16, офис 9
<a href="http://maps.yandex.ru/-/CBgCZhB" class="ya_link">посмотреть на карте</a>
<div class="nomber">
930-58-79<br><span>+7 (812)</span>
</div>
<a href="mailto:info@injuris.ru">info@injuris.ru</a></div>’;}
Как отключить отображение этого блока в сайдбаре при просмотре определенных страниц
В принципе, предыдущий пост не актуальный.
Ю.Б. во втором посте дал очень хороший код, как выводить в сайдбаре список подстраниц главной страницы.
Но вот, задача усложняется. Как говорится, чем дальше в лес…
Как сделать подобную штуку для категорий и подкатегорий. Тоесть, при переходе в домашнюю рубрику, в сайдбаре отображается список подрубрик. и когда посещаешь записи из этой рубрики (подрубрики), чтобы в сайд баре отображался список подрубрик этой категории.
Подскажите пожалуйста. Очень актуально.
Вопрос еще актуальный
Неужели никто не знает решение?
Ю.Б. Подскажите пожалуйста решение. За вознаграждение
Подсказываю, что можно использовать
1. is_category()
2. is_single()
3. $cat = $wp_query->query_vars[‘cat’];
4. foreach(get_the_category($post->ID) AS $category)) { $cat = $category->cat_ID }
5. wp_list_categories(‘child_of=’.$cat);
а что лучше использовать? Какую комбинацию лучше взять для решения моей проблемы?
Все. Скомбинировав в нужном порядке и дополнив нужным кодом.
пробовал несколько вариантов. выдает ошибку
Понимаю, проблема в том, что я допускаю где то ошибку. Но я только начал изучать пхп более глубоко, чем просто теги вордпресс
else if ( is_category(‘1’) )
$cat = $wp_query->query_vars[‘1’];
{‘foreach(get_the_category($post->ID) AS $category)) { $cat = $category->cat_ID }’;
wp_list_categories(‘title_li=&child_of=1’.$cat);}
что я делаю не так? как правильно сделать?
Почти всё.
Как-то так.
if (is_category()) {
wp_list_categories(‘title_li=&child_of=’.$wp_query->query_vars[‘cat’]);
}
elseif (is_single()) {
foreach(get_the_category($post->ID) AS $category)) {
wp_list_categories(‘title_li=&child_of=’.$category->cat_ID);
}
}
else if (is_category()) {
wp_list_categories(‘title_li=&child_of=’.$wp_query->query_vars[‘cat’]);
}
elseif (is_single()) {
‘foreach(get_the_category($post->ID) AS $category))’;
{wp_list_categories(‘title_li=&child_of=’.$category->cat_ID);}
}
Так отображается без ошибки. Но при переходе в подрубрики не отображает список подрубрик данной рубрики. Тоесть, главные рубрики отображаются нормально и посты, которые находятся в данной рубрике. А если войти в подрубрики, той список подрубрик главной рубрики в сайдбаре не отображается
Какой такой "главной рубрики"? Родительской, что ли? Вы хотите, чтобы в рубриках первого уровня показывались детки, а в этих детках их "сестры"?
хочу, чтобы в родительской (1-ого уровня) показывались их детки (2-ого уровня). Когда во втором уровне, в сайдбаре тоже отображается список порубрик 2-ого уровня. Когда заходишь в пост, который находится в данной рубрике, в сайдбаре отобажались подрубрики родительской. Для чего это. Родительская рубрика – Новости. Подрубрики – закононодательство, … Человек заходит в законодательство, список постов из этой подрубрики, а в сайдбаре – список подрубрик 2-ого уровня родительской рубрики. Думаю, подрубрик 3-го уровня не должно быть. Хотя, стоит предусмотреть
Ю.Б. спасибо большое.
Все работает.
Скиньте мне свои реквизиты для благодарности. ICQ 48199499шесть.
Аську забыл когда видел (надо бы восстановить, если еще не угнали). "Реквизиты" держу в блоге http://blog.portal.kharkov.ua/price/ 😀
Ю.Б. – у Вас самый дорогой прейскурант среди всех специалистов ВП!
Это тест на наличие шестого чувства 😉