使用自定义分类作为页面导航

时间:2016-07-08 12:24:14

标签: wordpress navigation custom-taxonomy

**更新(有点障碍)......

我通过回应分类术语得到了代码。有一点小问题。你不能选择超过一个学期。否则它不知道该怎么做。这是代码。

为echo做好准备:

<?php $my_terms = get_the_terms( $post->ID, 'YOUR_TERM_HERE' );
if( $my_terms && !is_wp_error( $my_terms ) ) {
    foreach( $my_terms as $term ) {}
} ;?>

设置页面导航:

<?php // get_posts in same custom taxonomy
                  $postlist_args = array(
                     'posts_per_page'  => -1,
                     'orderby'         => '',
                     'order'           => 'ASC',
                     'post_type'       => 'YOUR_POST_TYPE_HERE',
                     'YOUR_TERM_HERE'         => array( $term->slug )  // here is your echo

                  ); 
                  $postlist = get_posts( $postlist_args );    
                  // get ids of posts retrieved from get_posts
                  $ids = array();
                  foreach ($postlist as $thepost) {
                     $ids[] = $thepost->ID;
                  }

                  // get and echo previous and next post in the same taxonomy        
                  $thisindex = array_search($post->ID, $ids);
                  $previd = $ids[$thisindex-1];
                  $nextid = $ids[$thisindex+1];
                  if ( !empty($nextid) ) {
                     echo '<a rel="next" href="' . get_permalink($nextid). '"><i class="fa fa-chevron-circle-left" aria-hidden="true"></i></a>';
                  }
                  if ( !empty($previd) ) {
                     echo '<a rel="prev" href="' . get_permalink($previd). '"><i class="fa fa-chevron-circle-right" aria-hidden="true"></i></a>';
                  } ;?>

如果有人知道如何使用多个分类术语来执行此操作。我真的很想知道。

嗯,这可能很难描述,但我会尽我所能。

我收到了自定义帖子类型about us,在该CPT中,我创建了一个分层自定义分类our team。我在该自定义分类中添加了几个项目。

  • 团队成员1
  • 团队成员2

我想要做的是当你点击团队成员1时会有一个显示团队成员2名称的字段(div)并且可以点击,这样你就可以去找下一个团队成员,或者回来......等等。

这种做法可以通过post_type进行自定义分类:

 <?php // get_posts in same custom taxonomy
$postlist_args = array(
   'posts_per_page'  => -1,
   'orderby'         => 'menu_order title',
   'order'           => 'ASC',
   'post_type'       => 'over-ons',
   'taxonomy' => 'ons_team'
); 
$postlist = get_posts( $postlist_args );

// get ids of posts retrieved from get_posts
$ids = array();
foreach ($postlist as $thepost) {
   $ids[] = $thepost->ID;
}

// get and echo previous and next post in the same taxonomy        
$thisindex = array_search($post->ID, $ids);
$previd = $ids[$thisindex-1];
$nextid = $ids[$thisindex+1];
if ( !empty($previd) ) {
   echo '<a rel="prev" href="' . get_permalink($previd). '">previous</a>';
}
if ( !empty($nextid) ) {
   echo '<a rel="next" href="' . get_permalink($nextid). '">next</a>';
} ;?>

原始代码说:

// get_posts in same custom taxonomy
$postlist_args = array(
   'posts_per_page'  => -1,
   'orderby'         => 'menu_order title',
   'order'           => 'ASC',
   'post_type'       => 'your_custom_post_type',
   'your_custom_taxonomy' => 'your_custom_taxonomy_term'
); 
$postlist = get_posts( $postlist_args );

// get ids of posts retrieved from get_posts
$ids = array();
foreach ($postlist as $thepost) {
   $ids[] = $thepost->ID;
}

// get and echo previous and next post in the same taxonomy        
$thisindex = array_search($post->ID, $ids);
$previd = $ids[$thisindex-1];
$nextid = $ids[$thisindex+1];
if ( !empty($previd) ) {
   echo '<a rel="prev" href="' . get_permalink($previd). '">previous</a>';
}
if ( !empty($nextid) ) {
   echo '<a rel="next" href="' . get_permalink($nextid). '">next</a>';
}

我的your_custom_taxonomy_term是什么?因为我不认为我的分类法有一个?

正常导航无效:

<?php posts_nav_link('separator','prelabel','nextlabel'); ?>

是否有人做过类似的事情或知道从哪里开始...

2 个答案:

答案 0 :(得分:0)

使用此

<?php previous_post_link('<div class="prev">%link</div>'); ?> <?php next_post_link('<div class="next">%link</div>'); ?>

%link将显示下一个团队成员的名称

答案 1 :(得分:0)

请参阅我在OP中的更新,了解那些想要了解的人。