2014-01-12 3 views
0

Используя приведенный ниже код, как я могу отображать только непосредственный набор дочерних элементов, связанных с текущей страницей, а не детей детей или других родителей на уровне этой страницы. Я предполагаю, что параметр глубины является частью решения, однако я не уверен, как его наилучшим образом реализовать. Кроме того, глубина относится к иерархии абсолютным или относительным образом. Я бы хотел, чтобы он показывал только 1 уровень глубины относительно выбранной страницы.WordPress - всего лишь 1 уровень детей

Большое спасибо за помощь, и если я могу предложить какие-либо разъяснения, пожалуйста, дайте мне знать.

<?php 
    if($post->post_parent) 
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); 
    else 
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); 
    if ($children) { ?> 
    <ul> 
    <?php echo $children; ?> 
    </ul> 
    <?php } ?> 
+0

Как насчет использования 'get_pages ('child_of ='. Get_the_ID(). '& Hierarchical = 0 & parent ='. Get_the_ID()); вместо этого? Вы можете закодировать массив, который возвращается этим кодом, чтобы отобразить всю информацию. – harsh8888

+0

Эй, Harsh8888, THX для ответа. Я попробовал вышеуказанный код, и он, похоже, не работал. Я закончил двигаться вперед с условным утверждением, которое говорит (если внуки) тогда (показать братьев и сестер). – user2325396

ответ

2

глубина используется следующим образом:

wp_list_pages("depth=1&title_li=&child_of=".$post->ID."&echo=0"); 

Что произойдет, если вы используете это?

из документации:

глубина: (целое число) Этот параметр управляет тем, как много уровней в иерархии страниц которые должны быть включены в перечень, генерируемого wp_list_pages. Значение по умолчанию - 0 (отображение всех страниц, включая все подстраницы).

0 (по умолчанию) Отображение страниц на любой глубине и размещает их в иерархическом порядке вложенных списков

-1 Отображение страниц на любой глубине и размещает их в единый плоский список страниц

1 Отображение верхнего уровня только

2, 3 ... Отображение страниц на заданную глубину

.

+0

Эй, Нимле, Еще раз спасибо за советы и объяснения. Это отлично работает. Однако в настоящее время у меня есть 3 уровня (родительский, дочерний и дочерний). Я хотел бы, чтобы вспомогательные дочерние страницы (окончательный уровень) отображали своих братьев и сестер. В настоящее время, когда пользователь посещает подстраницу, нет параметров, которые отображаются. Любая помощь с наибольшей оценкой – user2325396

+0

У дочерних страниц также есть дети, и вы хотите их показать? Если текущий является субстраницей, то глубина 1 покажет его детям, так что это нормально. Но если вы хотите показать детей, внуков и т. Д., То используйте глубину = -1. Это то, что вы хотите? Если хотите, отправьте URL-адрес. – Selay

+0

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

Смежные вопросы