为什么类别是从默认帖子类型中提取的,而不是从我的自定义帖子类型空缺职位中提取的?

Why are the categories being pulled from the default posts post type and not my custom post type open-positions?

提问人:Sam 提问时间:11/17/2023 更新时间:11/17/2023 访问量:19

问:

我想在我的自定义帖子类型中提取类别列表。我的自定义职位类型的分类设置为类别,我的职位类型是空缺职位(空缺职位)。

简码显示默认帖子类型“帖子”中的类别,而不是我的自定义帖子类型中的类别。

我使用 ACF 添加自定义帖子类型(仅供参考)。

我有 4 个类别(3 个是已发表的帖子,1 个是草稿帖子)。

当我执行此代码并使用简码显示在页面上时,我从普通帖子而不是我的 CPT 中获得单个“未分类”类别。 我希望在我的自定义帖子类型下看到 3 个类别。

正在使用的代码:

function display_custom_post_type_categories() {
    // Change 'your_custom_post_type' to the name of your custom post type
    $post_type = 'open-positions';

    // Get the categories associated with the custom post type
    $categories = get_categories(array(
        'taxonomy'   => 'category', // Change to the taxonomy you are using
        'orderby'    => 'name',
        'order'      => 'ASC',
        'hide_empty' => 1, // Set to 0 if you want to display empty categories
        'post_type'  => $post_type,
    ));

    // Display the categories in a list
    if ($categories) {
        echo '<ul>';
        foreach ($categories as $category) {
            echo '<li><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></li>';
        }
        echo '</ul>';
    } else {
        echo 'No categories found.';
    }
}

// Create a shortcode to use in your pages or posts
function custom_post_type_categories_shortcode() {
    ob_start();
    display_custom_post_type_categories();
    $output = ob_get_clean();
    return $output;
}

add_shortcode('display_custom_post_type_categories', 'custom_post_type_categories_shortcode');
php wordpress 自定义后类型

评论


答: 暂无答案