【问题标题】:How to get Next/Previous Post titles under WP_Query loop?如何在 WP_Query 循环下获取下一个/上一个帖子标题?
【发布时间】:2013-10-30 20:39:41
【问题描述】:

我为 Wordpress 项目创建了一个名为“视频”的自定义帖子类型。在此之下,我创建了一个名为“视频类别”的分类法。目的是创建一个页面,视频将显示在 single-videos.php 页面上,然后需要在视频下方显示所有视频列表的循环。现在这里是我需要帮助的地方。我用这段代码很好地构建了循环

<?php
$args = array( 
    'post_type' => 'videos', 
    'posts_per_page' => -1,
    'tax_query' => array(
        array(
            'taxonomy' => 'video-categories',
            'field' => 'id',
            'terms' => $category_id
        )
    )
);
?>
<?php   $loop = new WP_Query( $args ); ?>
<?php   if($loop) :?>
<?php   while ( $loop->have_posts() ) : $loop->the_post();?>

... things to do inside the loop ...

<?php   endwhile; ?>
<?php   endif;?>
<?php   wp_reset_postdata();?>

$category_id 变量保存当前帖子的video-category ID。这个循环很好地列出了所有视频,但我需要做的是,我想在 Same term 下放置下一个和上一个帖子的链接,这里是 $category_id

一般来说,我正在尝试找到一种方法来获取WP_Query 下的下一个和上一个帖子。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您可以使用 Wordpress 内置函数

    查看下一篇文章列表(新页面)

    next_posts_link()
    

    以前的帖子(新页面)

    previous_posts_link()
    

    对于单个帖子页面

    next_post_link()
    

    previous_post_link()
    

    两者都可以在任何单个帖子页面上使用,无论您如何拉帖子

    【讨论】:

    • 我已经知道并尝试过。这不会列出分类法下相同术语的下一篇和上一篇文章。
    • 如果你稍微调整一下代码,它们确实可以工作,看看这个类似的案例stackoverflow.com/questions/14364488/…
    【解决方案2】:

    我实际上做了一个简单的函数,您可以在其中添加自定义查询对象作为参数,如下所示: keha76_print_pagination( $loop );它使用 paginate_links 函数来构建分页输出。

    https://gist.github.com/keha76/7096613

    【讨论】:

    • 该链接已损坏。
    • 该链接已损坏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 2013-01-21
    相关资源
    最近更新 更多