仅与另一自定义分类相关联的帖子类别列表

时间:2021-10-26 作者:Paolo Sacchetti

我有一个自定义分类法“;“部门”;与岗位相关;帖子也被分配到默认类别。我想实现的是在自定义侧栏中显示一个;“类别”;链接/名称,其职位分配给所选的;扇区;。

例如:假设我的数据是这样组织的(希望这有意义),其中有三个帖子与不同类别和特定部门相关:

职位1

类别:类别1部门:部门1岗位2

类别:类别2;部门:部门1;岗位3

现在,当我在;扇区1“;存档页,在侧边栏中,我想显示以下列表:

这可能吗?可能使用tax\\u查询或其他方法?

1 个回复
SO网友:Paolo Sacchetti

这是我想到的,看起来很有效。但或许(肯定)有一种更有效的方法可以做到这一点:

// current queried
$term = \'sector\';
$current_sector_id = get_queried_object_id();

// Prepare wp_query to get all posts assigned to the current "sector" 
$sector_posts_query = new WP_Query();
$sector_posts_query->query(
    array(
        \'post_type\' => \'post\',
        \'posts_per_page\' => -1,
        \'tax_query\' => array(
            array(
                \'taxonomy\' => $term,
                \'field\' => \'term_id\',
                \'terms\' => $current_sector_id
            ),
        )
    )
);

// loop the posts
if ($sector_posts_query->have_posts()) {
    $terms_array = array();
    while ($sector_posts_query->have_posts()) : $sector_posts_query->the_post();
        // get the product_cat of each post and store it as arrays in the $terms_array
        $current_category_terms = get_the_terms(get_the_ID(), \'my_category\');
        $terms_array[] = wp_list_pluck($current_category_terms, \'term_id\');
    endwhile;
    wp_reset_postdata();
}
// merge the inner arrays and remove doubles
$result = call_user_func_array("array_merge", $terms_array);
$result = array_unique($result, SORT_REGULAR);

echo \'<ul>\';
foreach ($result as $id) {
    $my_category = get_term_by(\'id\', $id, \'my_category\');
    $my_category_url = get_term_link($id, \'my_category\');
    echo \'<li><a href="\' . $my_category_url . \'">\' . $my_category->name . \'</a></li>\';
}
echo \'</ul>\';

相关推荐

在循环中使用新的WP_QUERY

我正在尝试查询数据库以统计文件下载的日志条目,然后在列出搜索结果时显示缩略图。来自搜索。php`<?php //JAYJAY Get the download count for this listing so we can pass it to the template part $query_args = array( \'post_parent\' => get_the_ID(), \'pos