/ 最終更新日 :
じょーじ
フォーラムへの返信
2件の投稿を表示中 - 1 - 2件目 (全2件中)
-
投稿者投稿
-
じょーじ参加者いしかわ 様
ご回答ありがとうございます。
「画像右上分類」を特定のタクソノミーの子タームから表示するように出来ました。コードは下記になります。投稿にタクソノミーが設定されていない場合を考慮してif文を追加しています。
function my_vk_post_custom_term($options, $post) { if (get_post_type() === 'company') { // 元の画像右上のカスタム分類名を非表示に. $options['display_image_overlay_term'] = false; // 画像右上に表示するカスタム分類 $options['body_append'] = my_get_vk_post_custom_single_term($post); } return $options; } add_filter('vk_post_options', 'my_vk_post_custom_term', 10, 2); /** * 投稿一覧画面で表示する投稿情報画像右上のカスタム分類. * * @param object $post : 1件分の投稿情報 */ function my_get_vk_post_custom_single_term($post) { // 表示したい投稿タイプを条件分岐で指定します. // ※その他必要に応じて $options や $post の中身を元に条件分岐を追加してください. if (get_post_type() === 'company') { $args = [ 'class' => 'vk_post_imgOuter_singleTermLabel', // クラス名を追加する場合は指定. ]; $outer_class = ' class="' . esc_attr($args['class']) . '"'; $single_term_with_color = ''; // 表示対象に指定するカスタム分類名. $taxonomy = 'area'; // 投稿に紐付いているカスタム分類を取得. $terms = get_the_terms($post->ID, $taxonomy); if ($terms) { foreach ($terms as $key => $term) { // 親タームの場合. if (!$term->parent) { // 親タームを除外. unset($terms[$key]); } } // 配列キーのふりなおし. $terms = array_values($terms); } if (!empty($terms[0])) { $term_name = esc_html($terms[0]->name); if (method_exists('Vk_term_color', 'get_term_color')) { $term_color = Vk_term_color::get_term_color($terms[0]->term_id); $term_color = ($term_color) ? ' style="color:#fff;background-color:' . $term_color . '"' : ''; $single_term_with_color .= '<span' . $outer_class . $term_color . '>'; $single_term_with_color .= $term_name; $single_term_with_color .= '</span>'; } } } return $single_term_with_color; }
じょーじ参加者ご回答ありがとうございます。
CSSを使用するのは盲点でした。
CSSを使用して「分類(全項目)」の表示順をコントロール出来ました。子タームだけ表示するのってむずかしそうなので、エリア と 都道府県 を別々のタクソノミーに分けるのってダメでしょうか?
タクソノミー構造を変えない方法を探しております。
-
投稿者投稿
2件の投稿を表示中 - 1 - 2件目 (全2件中)