0

好的,我已经通过 stackoverflow 和谷歌搜索和搜索,但找不到我要找的东西。我正在寻找一种方法,让我的下一个和上一个按钮链接到我在相同帖子类型术语中的帖子。

我有一个名为“Projects”的帖子类型,分类是“projects_category”。我在该分类下有几个术语,当我查看单个项目帖子时,我希望能够在该术语中单击下一个和上一个。有没有办法做到这一点?

更新(11/13/13)(再次):

这就是我现在所拥有的。

<?php
$projectCat = wp_get_post_terms($postid,"projects_category");
if(count($projectCat)){
$projectC = $projectCat[0]->slug;
}
else{
$projectC = "";
}
$args = array(

'post_type'=>'project_post',
'showposts' => -1,
'tax_query' => array(
array(
        'taxonomy' => 'projects_category',
        'terms' => '{$projectC}',  //define your category id or slug here
            'field' => 'slug',
        )
),
'order'=>'ASC', 
);

$postlist = get_posts($args);
$posts = array();
foreach ($postlist as $post) {
$posts[] += $post->ID;
}

$prev_post = get_previous_post(); 
$prevID = $prev_post->ID ;
?>
<?php 
$next_post = get_next_post();
$nextID = $next_post->ID ;
?>          

<?php if (!empty($prevID)) { ?>

<li><a href="<?php echo get_permalink($prevID); ?>"
title="<?php echo get_the_title($prevID) ." ". $projectC; ?>" 
class="p_prev widget_anim"><span></span>Previous</a>
</li>
<?php }

if (!empty($nextID)) { ?>
<li><a href="<?php echo get_permalink($nextID); ?>" 
title="<?php echo get_the_title($nextID) ." ". $projectC;; ?>"  
class="p_next widget_anim">Next<span></span></a>
</li>
<?php }  

wp_reset_postdata();
?>

我得到了在 single-project_post 页面上找到的当前术语,并且查询似乎抓住了它,但查询并未遵循它需要保留在该术语中。它正在从我拥有的其他术语中提取帖子。即使我在查询中将确切的术语替换为 $projectC,它仍然给我下一个和上一个错误的帖子。谁能帮我?到目前为止,我感谢以前的答案所提供的帮助。

4

3 回答 3

0

在子主题中创建functions.php,这样它就不会被更新覆盖。然后编写一个返回帖子数组的函数。法典准确地告诉您如何按照您的要求去做<?php $project_posts_array = get_posts( $args ); ?>。然后从链接标签中的自定义帖子类型调用该函数。

这是在同一个 Codex 页面上。

    <div class="alignleft">    
    <a href="<?php echo get_permalink($prevID); ?>"
    title="<?php echo get_the_title($prevID); ?>">Previous</a>
    </div>
    <?php }
    if (!empty($nextID)) { ?>
    <div class="alignright">
    <a href="<?php echo get_permalink($nextID); ?>" 
     title="<?php echo get_the_title($nextID); ?>">Next</a>
    </div>
于 2013-11-08T06:28:04.503 回答
0
<?php
                 $args = array(
                'tax_query' => array(
                    array(
                            'taxonomy' => 'projects_category',
                            'field' => 'id',
                            'terms' => '2'  //define your category id hear
                            )
                    ),
                    'post_type'=>'project_post',
                    'order'=>'ASC',
                    'posts_per_page'=>-1
            );

                        $postlist = get_posts($args);
$posts = array();
foreach ($postlist as $post) {
   $posts[] += $post->ID;
}
                <?php
        $prev_post = get_previous_post(); 
        $prevID = $prev_post->ID ;
?>
<?php 
        $next_post = get_next_post();
        $nextID = $next_post->ID ;
?>          

    <?php if (!empty($prevID)) { ?>

    <li><a href="<?php echo get_permalink($prevID); ?>"
            title="<?php echo get_the_title($prevID); ?>" 
            class="p_prev widget_anim">Previous</a>
            </li>
    <?php }

    if (!empty($nextID)) { ?>
        <li><a href="<?php echo get_permalink($nextID); ?>" 
            title="<?php echo get_the_title($nextID); ?>"  
            class="p_next widget_anim">Next</a>
            </li>
    <?php }  

    wp_reset_postdata();
?>
于 2013-11-12T04:40:43.017 回答
0

有同样的问题,我在这里找到了我的解决方案:http: //bucketpress.com/next-and-previous-post-link-in-same-custom-taxonomy

希望这对你有用!

于 2014-08-13T16:46:09.130 回答