首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress上一次和下一次只在一个类别中-有多个类别的帖子

WordPress上一次和下一次只在一个类别中-有多个类别的帖子
EN

Stack Overflow用户
提问于 2017-06-08 19:20:52
回答 1查看 1.1K关注 0票数 2

要单击下一篇或上一篇文章,我使用以下代码

代码语言:javascript
复制
<?php the_post_navigation( array (
            'next_text' => '<span class="meta-nav">' . __( 'Previous', 'neubau' ) . '</span> ' .
                '<span class="screen-reader-text">' . __( 'Previous Post', 'neubau' ) . '</span> ',
            'prev_text' => '<span class="meta-nav">' . __( 'Next', 'neubau' ) . '</span> ' .
                '<span class="screen-reader-text">' . __( 'Next Post', 'neubau' ) . '</span> ',
            'in_same_term' => 'true',
        ) ); ?>

“in_same_term‘=> 'true’用于在同一个猫体内打开下一篇或前一篇文章。但这并不适用于多个类别。

我的帖子有三个类别: portfolio-1,portfolio-2,portfolio-3。为了在首页上展示这些帖子,我增加了第四类:主页。在一个类别中(例如portfolio-1),我点击下一个或上一个帖子链接。如果下一篇或上一篇文章有两类(portfolio-1和home),我将被重定向到下一篇文章/前一篇文章--而不是下一篇文章/前一篇文章。

我如何才能保持在一个类别内(例如投资组合-1)?

我发现一些网站有类似的问题,但我无法将te解决方案转移到我的代码。

谢谢你帮忙。

EN

回答 1

Stack Overflow用户

发布于 2017-06-09 09:22:14

文件"link-template.php“似乎是进行代码更改的合适文件。

代码语言:javascript
复制
function get_the_post_navigation( $args = array() ) {
    $args = wp_parse_args( $args, array(
        'prev_text'          => '%title',
        'next_text'          => '%title',
        'in_same_term'       => true,
        'excluded_terms'     => '7,37',
        'taxonomy'           => 'category',
        'screen_reader_text' => __( 'Post navigation' ),
    ) );

    $navigation = '';

    $previous = get_previous_post_link(
        '<div class="nav-previous">%link</div>',
        $args['prev_text'],
        $args['in_same_term'],
        $args['excluded_terms'],
        $args['taxonomy']
    );

    $next = get_next_post_link(
        '<div class="nav-next">%link</div>',
        $args['next_text'],
        $args['in_same_term'],
        $args['excluded_terms'],
        $args['taxonomy']
    );

    // Only add markup if there's somewhere to navigate to.
    if ( $previous || $next ) {
        $navigation = _navigation_markup( $previous . $next, 'post-navigation', $args['screen_reader_text'] );
    }

    return $navigation;
}

这似乎是重要的一段:

代码语言:javascript
复制
function get_the_post_navigation( $args = array() ) {
    $args = wp_parse_args( $args, array(
        'prev_text'          => '%title',
        'next_text'          => '%title',
        'in_same_term'       => true,
        'excluded_terms'     => '7',
        'taxonomy'           => 'category',
        'screen_reader_text' => __( 'Post navigation' ),
    ) );

我把“in_same_term”设置为“真”。(为了测试"link-template.php“是否是正确的文件,我从文件”in_same_term“中删除了以前添加的代码‘=> 'true’)。我在'excluded_terms‘'7’中添加了"home“这个类别。其结果是,以前/下一个类别仍保留在一个类别内。但是有两个类别的帖子--“portfolio--1”和"home“--没有显示。

下一步:如何将包含"portfolio-1“和"home”两个类别的帖子包括在内,并将"home“类别中的其他帖子排除在外?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44443962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档