カスタムタイプの投稿IDからカテゴリIDを取得したい。投稿IDはありますが、カテゴリIDを取得できません。
私は非常に多くのコードを使用してきましたが、動作しません。カスタム投稿タイプが原因の可能性があります。
$category = get_the_category( $post->ID );
助言がありますか?
wp_get_post_categories
はカスタム投稿のカテゴリではなくPOSTカテゴリしか取得できません。代わりにこれを試してください:
$category = get_the_terms( $post->ID, 'custom-taxonomy-here' );
foreach ( $category as $cat){
echo $cat->name;
}
チェック このリンク
カスタム投稿タイプは標準カテゴリ分類をサポートしていますか?カスタム投稿タイプで使用されているカテゴリが標準のカテゴリ分類ではなくカスタム分類である場合は、 get_the_terms()
ではなく get_the_category()
を使用してください。
$categories = get_the_terms($post->ID, "my-custom-taxonomy");
この解決策は私のために働く:
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;
}