web-dev-qa-db-ja.com

カスタム投稿タイプの投稿IDからカテゴリIDを取得する

カスタムタイプの投稿IDからカテゴリIDを取得したい。投稿IDはありますが、カテゴリIDを取得できません。

私は非常に多くのコードを使用してきましたが、動作しません。カスタム投稿タイプが原因の可能性があります。

$category = get_the_category( $post->ID );

助言がありますか?

4
Aman

wp_get_post_categoriesはカスタム投稿のカテゴリではなくPOSTカテゴリしか取得できません。代わりにこれを試してください:

$category = get_the_terms( $post->ID, 'custom-taxonomy-here' );     
foreach ( $category as $cat){
   echo $cat->name;
}

チェック このリンク

7
Gaurang P

カスタム投稿タイプは標準カテゴリ分類をサポートしていますか?カスタム投稿タイプで使用されているカテゴリが標準のカテゴリ分類ではなくカスタム分類である場合は、 get_the_terms() ではなく get_the_category() を使用してください。

$categories = get_the_terms($post->ID, "my-custom-taxonomy");
2
cybmeta

この解決策は私のために働く:

    global $wpdb;

    // get all category id's based on post id
    $result = $wpdb->get_results( " select term_taxonomy_id from " . $wpdb->prefix . "term_relationships where object_id = '" . $post_id . "' " );
    $cats_ids_array = [];
    foreach ( $result as $c ) {
        $cats_ids_array[] = $c->term_taxonomy_id;
    }
0