投稿のプライマリセットカテゴリの取得に問題があります。どうすればこれを達成できますか?
私のコード:
global $post;
$terms = get_the_terms( $post->ID, 'event-categories');
if($terms) {
foreach( $terms as $term ) {
$cat_obj = get_term($term->term_id, 'event-categories');
$cat_slug = $cat_obj->slug;
}
}
そして私のHTMLで
<div class="post_kachel <?php echo $cat_slug; ?>">
どうぞ。これをfunctions.phpに追加し、任意の場所から呼び出します。
関数get_post_primary_category($ post_id、$ term = 'category'、$ return_all_categories = false){ $ return = array(); if(class_exists( 'WPSEO_Primary_Term')) { //有効になっている場合はYoastでプライマリカテゴリを表示および設定 $ wpseo_primary_term = new WPSEO_Primary_Term($ term、$ post_id); $ primary_term = get_term($ wpseo_primary_term- > get_primary_term()); if(!is_wp_error($ primary_term)){ $ return ['primary_category'] = $ primary_term; } } if(empty($ return ['primary_category'])|| $ return_all_categories){ $ categories_list = get_the_terms($ post_id、$ term); if(empty($ return ['primary_category'])&&!empty($ categories_list)){ $ return ['primary_category'] = $ categories_list [0]; //最初のカテゴリを取得 } if($ return_all_categories){ $ return ['all_categories'] = array(); if(!empty($ categories_list)){[..____。] foreach($ categories_list as&$ category){ $ return ['all_categories'] [] = $ category-> term_id; } } } } return $ return; }