-
投稿者投稿
-
2021年7月5日 11:19 AM #80060
【お使いの Snow Monkey のバージョン】14.3.5
【お使いの Snow Monkey Blocks のバージョン】11.4.1
【お使いの Snow Monkey Editor のバージョン】5.0.6
【お使いのブラウザ】chrome
【当該サイトのURL】 https://demo.waiwai-do.com/news/do_action-japan-2020/### 実現したいこと
カスタム投稿タイプの関連記事で、投稿タイプの判別をしたい。投稿一覧のカテゴリーのラベルの表示位置を変えるために以下のコードを追加しています。
/** * 各投稿一覧で taxonomy のラベルをタイトルの上に表示 * * @param string $html はコンテンツの中身. * @param string $name は post type. */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title', function ( $html, $name ) { $taxonomy = 'category'; $post_type = $name; switch ( $name ) { case 'post': $taxonomy = 'category'; break; case 'news': $taxonomy = 'news_category'; break; case 'shop-info': $taxonomy = 'shop_genre'; break; case 'interview': $taxonomy = ''; break; } if ( $post_type === $name ) { $tags = ''; $postid = get_the_ID(); $post_terms = get_the_terms( $postid, $taxonomy ); if ( ! empty( $post_terms ) ) { $tags = '<ul class="' .$taxonomy. '-tags taxonomy-tags">'; foreach ( $post_terms as $post_term ) { $term_name = $post_term->name; $slug = $post_term->slug; $term_id = $post_term->term_id; $tags .= '<li class="' .$taxonomy. '-' .$term_id.' ' .$slug.'">' . $term_name . '</li>'; } $tags .= '</ul>'; } $html = str_replace( '<h3', $tags . '<h3', $html ); } return $html; }, 10, 2 );
投稿一覧では、name が投稿タイプになっているのですが、カスタム投稿タイプのシングルページで、関連記事の部分では、投稿タイプにかかわらず、name が post になっているため、投稿タイプの判別ができません。
関連記事でもラベルの位置を変更したいのですが、何かいい方法はありますか?投稿一覧
<!-- Start : [slug] => template-parts/loop/entry-summary/title/title [name] => news [template-slug] => template-parts/loop/entry-summary/title/title -->
関連記事
<!-- Start : [slug] => template-parts/loop/entry-summary/title/title [name] => post [template-slug] => template-parts/loop/entry-summary/title/title -->
♥ 0いいねをした人: 居ません2021年7月5日 12:57 PM #800692021年7月5日 3:10 PM #80084なるほど!
無理に$name
を使わなくてもget_post_type()
で行けそうな気がします。
ちょっとコード書きなおしてみます。♥ 0いいねをした人: 居ません2021年7月5日 3:15 PM #80090ありがとうございます。
get_post_type()
に変更で、うまくいきました。/** * 各投稿一覧で taxonomy のラベルをタイトルの上に表示 * * @param string $html はコンテンツの中身. */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title', function ( $html ) { $taxonomy = 'category'; $post_type = get_post_type(); switch ( $post_type ) { case 'post': $taxonomy = 'category'; break; case 'news': $taxonomy = 'news_category'; break; case 'shop-info': $taxonomy = 'shop_genre'; break; case 'interview': $taxonomy = ''; break; } $tags = ''; $postid = get_the_ID(); $post_terms = get_the_terms( $postid, $taxonomy ); if ( ! empty( $post_terms ) ) { $tags = '<ul class="' .$taxonomy. '-tags taxonomy-tags">'; foreach ( $post_terms as $post_term ) { $term_name = $post_term->name; $slug = $post_term->slug; $term_id = $post_term->term_id; $tags .= '<li class="' .$taxonomy. '-' .$term_id.' ' .$slug.'">' . $term_name . '</li>'; } $tags .= '</ul>'; } $html = str_replace( '<h3', $tags . '<h3', $html ); return $html; } );
-
投稿者投稿
- トピック「カスタム投稿タイプの関連記事で、投稿タイプの判別をしたい。」には新しい返信をつけることはできません。