从自定义帖子类型的单个模板获取父类别(分类)ID

时间:2019-04-17 作者:TestimiUEB

-Parent-category
    -Sub-category
希望在的当前帖子上获取父IDsub-category.为该帖子类型创建了自定义帖子类型和自定义分类法。创建了一个类别并分配了另一个类别,以将第一个类别作为父类别。我将在父类别页面上列出该父类别的所有帖子,当单击某个特定帖子时,会打开single-custom_post_type.php 并希望在single-custom_post_type.php 因此,我可以添加一个侧栏,其中包含具有相同父类别的所有兄弟帖子。

有什么帮助吗?

$args_docs   =   array(
    \'post_type\'         =>  Documents::DOCUMENTS_TYPE_KEY,
    \'posts_per_page\'    =>  -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\'  =>  DocumentsTaxonomy::DOCUMENTS_TAXONOMY_KEY,
            \'field\'     =>  \'term_id\',
            \'terms\'     =>  9, // <- I want here to add the parent category ID dynamically,so whenever we are currently on a post it gives that posts parent category ID
        ),
    ),
);

1 个回复
最合适的回答,由SO网友:Qaisar Feroz 整理而成

Get Object Terms : 检索的数组WP_Term 在提供的分类法中,与给定帖子关联的对象。

Term object ( WP_Term )offers some handy information. For example,

为您提供术语slug: e、 g.:term-slug-example

$slug = $term->slug;
为您提供术语name: e、 g。Term Name Example

$name = $term->name;
为您提供术语description: e、 g。This is my new cool custom term.

$desc = $term->description;
但不幸的是,缺少链接值。So使用Get Term Link 为分类术语存档生成永久链接。

$term_link = get_term_link( $term);

So your finalcode should look like this:

$sub_cats = wp_get_object_terms( $post->ID, DocumentsTaxonomy::DOCUMENTS_TAXONOMY_KEY, ); // array of categories associated with current post


$args_docs   =   array(
    \'post_type\'         =>  Documents::DOCUMENTS_TYPE_KEY,
    \'posts_per_page\'    =>  -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\'  =>  DocumentsTaxonomy::DOCUMENTS_TAXONOMY_KEY,
            \'field\'     =>  \'term_id\',
            \'terms\'     =>  $sub_cats[0]->parent, 
        ),
    ),
);

相关推荐