Я пытаюсь использовать пользовательскую таксономию со страницами. В основном на странице есть «релевантная» таксономия, в которой указывается, для какой страницы важна. Страницы создаются в иерархии, основанной на ведомственной структуре школьного округа, для которой предназначен сайт. Так что скажите, что я на странице выпускников, и я хочу перечислить все дочерние страницы образовательных услуг, которые имеют отношение, например, как получить ваши транскрипты.
Я пробовал следующие два метода
<?php $pages = get_pages( array( 'child_of' => '65','hierarchical' => 0, 'meta_key' => 'relevance', 'meta_value' => 'alumni' ) ); foreach ( $pages as $page ) { echo $page->post_title; } ?>
а также
<?php wp_list_pages( array( 'child_of' => '65', 'meta_key' => 'relevance', 'meta_value' => 'alumni') ); ?>
оба отображают дочерние страницы 65 без свойств meta_key & meta_value, но как только я их получил, я ничего не получаю. Я уверен, что значения верны.
Я тоже пробовал ..
'relevance' => 'alumni',
как и в запросе, но это не работает с этими функциями.
Любая идея, почему это не сработает? Функция get_pages перечисляет meta_key & meta_value при использовании и означает, что вы должны установить иерархическое значение 0, которое я сделал.
Таможенные таксономии не являются метазначими, а скорее их собственными. Я не думаю, что wp_list_pages()
или get_pages()
могут запрашивать на основе таксономии, поэтому я рекомендую вместо этого использовать WP_Query :
<?php $relevant_pages_args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => 65, 'tax_query' => array( array( 'taxonomy' => 'relevance', 'field' => 'slug', 'terms' => 'alumni' ) ) ); $relevant_pages = new WP_Query( $relevant_pages_args ); if( $relevant_pages->have_posts() ) : while( $relevant_pages->have_posts() ) : $relevant_pages->the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php endwhile; endif; wp_reset_postdata(); ?>