首页 文章

修改the_post_navigation以在wordpress中包含分类术语

提问于
浏览
0

我已经修改了the_post_navigation $ args,通过将'in_same_term'参数更改为TRUE来在特定的分类术语中导航 . 它工作得很好 . 我想要做的是将分类学术语名称添加到'prev_text'和'next_text'参数,以便显示“Next(Tax Title Term)”而不是显示“Next(Taxonomy Term)”的链接:(帖子 Headers ) )” . 我认为您需要从页面中获取该术语,将其存储在变量中,就像我在页面顶部显示术语名称一样:

<?php global $post;

$terms = get_the_terms( $post->ID , 'resource_cat' );
foreach ( $terms as $term ) {
echo $term->name;
} ?>

但是,如何在'prev_text'和'next_text'参数中获取该变量?这是我目前的代码:

$args = array(
            'prev_text'          => '&#8592;Previous<span>%title</span>',
            'next_text'          => 'Next<span>%title</span> &#8594;',
            'in_same_term'       => true,
            'taxonomy'           => 'resource_cat',
            'excluded_terms'     => 1,
            'screen_reader_text' => 'Post navigation'
        );
        the_post_navigation($args);

或者这是完全错误的方式吗?

使用以下标准的Next链接的期望最终结果示例将是:

CPT=resources (using single-resources.php template)
Taxonomy=resource_cat
Taxonomy Term=Podcasts

期望的结果:下一个播客:“播客的名字”

如果有人能帮助我正确的语法或指向我更好的方向,将不胜感激!提前致谢 .

1 回答

  • 0

    如果只有一个 resource_cat 术语分配给帖子,我认为这样的事情应该有效:

    $args = array(
      'prev_text'          => '&#8592; Previous ' . $term->name . ': <span>%title</span>',
      'next_text'          => 'Next ' . $term->name . ': <span>%title</span> &#8594;',
      'in_same_term'       => true,
      'taxonomy'           => 'resource_cat',
      'excluded_terms'     => 1,
      'screen_reader_text' => 'Post navigation'
    );
    the_post_navigation($args);
    

    我在自己的安装上测试了这段代码,它对我有用 .

    仅供参考:如果为帖子分配了多个术语,导航链接将仅显示页面顶部循环中最后一个术语的名称 .

相关问题