显示自定义分类中的类别列表

时间:2015-09-16 作者:timmyg

我的网站是一本在线杂志,所以我有一个自定义功能,可以为帖子和页面创建分类法(卷/期)。

每期杂志都有自己的特定类别(如新闻、校友、网络临时演员)。

如何让WordPress以编程方式显示每个卷/问题分类法的适当填充类别?

例如,在v12n1期中,显示指向新闻和;校友档案页。在v11n1期中,对新闻和;Web Extras(假设v11n1中没有校友,v12n1中也没有Web Extras)。

这可能吗?

我试过了get_terms 函数,但我太有限了,因为我只调用一个类别的父级,而不是适用的分类法:

$volume = get_the_volume($post); //the custom function
$departments = get_terms(\'category\', array(
              \'orderby\'     => \'ID\',
              \'post_type\' => \'post\',
              \'volume\' => $volume,
              \'category__not_in\' => array(2, 9),
              \'order\'     => \'ASC\',
              \'hide_empty\'  => true,
              \'parent\'      => \'81\',
              ));

        if ( ! empty( $departments ) && ! is_wp_error( $departments ) ) {
                $count = count( $departments );
                $i = 0;
                $department_list = \'\';
                foreach ( $departments as $department ) {
                    $i++;
                  $department_list .= \'<li><a href="\' . get_term_link( $department ) . \'" title="\' . sprintf( __( \'View all post filed under %s\', \'my_localization_domain\' ), $department->name ) . \'">\' . $department->name . \'</a></li>\';
                }
                echo $department_list;
            } ?>

1 个回复
SO网友:Alex Pogiba

很难理解如何使用分类法以及在何处显示分类法。

您的帖子是否有自定义分类法,并且希望在那里显示它?或者你有一些页面,比如/issues/,上面有一个链接到某个问题编号的帖子列表,并对一些帖子进行了分组?

因此,如果要基于自定义分类法检索类别,可以使用以下代码:

在您的functions.php 定义此功能:

function my_custom_function() {
    global $post;
    $result = get_the_term_list( $post->ID, \'people\', \'<span>\', \'&nbsp;\', \'</span>\');
    echo $result;
}
然后在您的循环中,在一个主题文件内调用它。

single-something.php

<?php my_custom_function(); ?>
重要的是要理解,我们不知道您的实现细节,您应该自己提供一个Post Id。通过,它是一个工作的、经过测试的示例,可以检索给定帖子的每个类别。

我想你只需要检索类别就会更容易。

相关推荐

Get_Terms()Order by Term_Meta

我正在做一个get_terms() 我试图按自定义术语元排序的查询。自定义术语元键是\'order\' 它是一个数值(介于1和10之间)。我尝试了以下方法,但顺序似乎没有遵循元值-任何指针都是值得赞赏的。$type_terms = get_terms( \'type\', array( \'hide_empty\' => false, array( \'key\' => \'order\', ), \'or