如果有人尝试使用自定义分类法通过get_pages过滤内容,那就太好了。我有一个标有“衣服”的自定义帖子类型,我试图通过仅拉动“性别”分类中具有“女性”子弹的“衣服”件来创建“上一个和下一个”导航。 / p>
然而,上一个和下一个链接正在拉动所有衣服,包括我的“男装”件。任何人都有自定义分类和get_pages的经验?
<?php
$args = array(
'sort_column' => 'menu_order',
'sort_order' => 'desc',
'post_type' => 'clothing',
'post_status' => 'publish',
'gender'=> 'female'
);
$list = get_pages($args);
$pages = array();
foreach ($list as $page) {
$pages[] += $page->ID;
}
$current = array_search($post->ID, $pages);
$prevID = $pages[$current-1];
$nextID = $pages[$current+1];
?>
<div class="post-nav">
<?php if (!empty($prevID)) { ?>
<a href="?pID=<?php echo $prevID ?>" title="<?php echo get_the_title($prevID); ?>" class="left">« PREVIOUS</a>
<?php }
if (!empty($nextID)) { ?>
<a href="?pID=<?php echo $nextID ?>" title="<?php echo get_the_title($nextID); ?>" class="right">NEXT »</a>
<?php } ?>
</div>
答案 0 :(得分:0)
将您的代码与this post on advance taxonomy querying结合使用,并提出了这个:
<?php
$myquery = array(
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_key' => 'whatever',
'orderby' => 'meta_value',
'order' => 'DESC',
'post_type' => 'your_post_type',
);
$myquery['tax_query'] = array(
array(
'taxonomy' => 'your_tax',
'terms' => array('your_term'),
'field' => 'slug',
),
array(
'taxonomy' => 'your_other_tax',
'terms' => array('your_other_term'),
'field' => 'slug',
),
);
$queryObject = new WP_Query($myquery);
while( $queryObject->have_posts() ) : $queryObject->the_post();
$posts_array[] = $post->ID;
endwhile;
wp_reset_query();
$current = array_search($post->ID, $posts_array); // returns key
$prevID = $posts_array[$current - 1]; // get value from key 1 before
$nextID = $posts_array[$current + 1]; // get value from key 1 after
$prevLINK = get_permalink( $prevID );
$nextLINK = get_permalink( $nextID );
$prevTITLE = get_the_title( $prevID );
$nextTITEL = get_the_title( $nextID );
?>
<div class="post-nav">
<?php if (!empty($prevID)) { ?>
<a href="<?php echo $prevLINK; ?>" title="<?php echo $prevTITLE; ?>" class="left">« PREVIOUS</a>
<?php }
if (!empty($nextID)) { ?>
<a href="<?php echo $nextLINK; ?>" title="<?php echo $nextTITLE; ?>" class="right">NEXT »</a>
<?php } ?>
</div>
为我工作,它非常令人敬畏......通过查询Otto解释的高级分类法,您可以非常好地控制下一个/上一个链接。如果没有你原来的代码,我就无法弄清楚这一点,对你和奥托来说是疯狂的道具!
我将尝试通过自动检测页面中的术语来进一步微调这一点...... get_the_term_list()
可能有用。