-
投稿者投稿
-
2020年7月20日 5:15 PM #54346
【お使いの Snow Monkey のバージョン】
10.10.5===
アーカイブページの表示を「テキスト」にしたときは日付とタイトルしか表示されませんが、カテゴリーも表示させたい場合はどうすればいいでしょうか。
テンプレートをカスタマイズしようと思ったのですが、テンプレート構造が複雑なのと、もっとスマートにカスタマイズできればと思ってお聞きしました…🙇♂️
もしよろしければ、著者も表示できると嬉しいんですが…!
♥ 0いいねをした人: 居ません2020年7月20日 7:19 PM #54348下記のトピックで、先頭にカテゴリーを追加する方法を書いています。
もしよろしければ、著者も表示できると嬉しいんですが…!
カテゴリー表示もなのですが、テキストレイアウトのときはスペースが厳しいので、例えばカテゴリーと著者は下に表示して1項目2行にする、のようなデザインだと収まりが良いかもしれません。もしデザインを提示いただけるのであれば、コードを提示しやすいです!
♥ 0いいねをした人: 居ません2020年7月20日 9:26 PM #54349おお…これ、display:none;してただけなんですね…!
そして既出の質問で失礼しました!こんなふうになってほしいなというデザインを添付します。すごく雑で申し訳ないのですが…。
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年7月21日 11:27 AM #54375おお…これ、display:none;してただけなんですね…!
そうなんです。本当は HTML を出し分けたほうが良いのかもですが、こっちのほうがちょっとした CSS でのカスタマイズはしやすいのかなと思ってこうしています。
こんなふうになってほしいなというデザインを添付します。
ありがとうございます!わかりやすいです。ちょっとやってみますのでお待ちくださいまし…
♥ 1いいねをした人: 居ません2020年7月21日 11:45 AM #54376下記のコードを My Snow Monkey に貼り付けてください。子テーマをお使いの場合は、子テーマの
functions.php
でも構いません。add_filter( 'snow_monkey_pre_template_part_render', function( $html, $slug, $name, $vars ) { if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) { if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) { ob_start(); ?> <a href="<?php the_permalink(); ?>"> <section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text"> <div class="c-entry-summary--my-text__meta"> <ul class="c-meta"> <li class="c-meta__item c-meta__item--published"> <?php the_time( get_option( 'date_format' ) ); ?> </li> <li class="c-meta__item c-meta__item--author"> <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?> </li> <li class="c-meta__item c-meta__item--categories"> <?php $categories = get_the_terms( get_the_ID(), 'category' ); if ( $categories ) { foreach ( $categories as $category ) { ?> <span class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>"><?php echo esc_html( $category->name ); ?></span> <?php } } ?> </li> </ul> </div> <div class="c-entry-summary__body"> <div class="c-entry-summary__header"> <?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?> </div> </div> </section> </a> <?php return ob_get_clean(); } } return $html; }, 10, 4 );
既存の HTML 構造だと CSS だけではできなさそうだったので、HTML もまるごと書き換えるようにしました。ちょっとコードが長くてわかりにくいかもしれませんが、HTML の部分にだけ注目してもらえば調整等しやすいかもしれません。
♥ 1いいねをした人: 居ません2020年7月21日 1:34 PM #54388ありがとうございます!!
全部をまるっと記事へのリンクではなく、タイトルは記事へのリンク、カテゴリーはカテゴリー一覧へのリンクが望ましいかなと感じたので、自分で以下のようにしたのですが、カテゴリーへのリンクの記載がわからず…。
PHP全然わかってないので恐らく初歩的なことなのかと思うのですが…お手間をかけてすみません🙇♂️
add_filter( 'snow_monkey_pre_template_part_render', function( $html, $slug, $name, $vars ) { if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) { if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) { ob_start(); ?> <div> <section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text"> <div class="c-entry-summary--my-text__meta"> <ul class="c-meta"> <li class="c-meta__item c-meta__item--published"> <?php the_time( get_option( 'date_format' ) ); ?> </li> <li class="c-meta__item c-meta__item--author"> <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?> </li> <li class="c-meta__item c-meta__item--categories"> <?php $categories = get_the_terms( get_the_ID(), 'category' ); if ( $categories ) { foreach ( $categories as $category ) { ?> <span class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>"><?php echo esc_html( $category->name ); ?></span> <?php } } ?> </li> </ul> </div> <div class="c-entry-summary__body"> <div class="c-entry-summary__header"> <a href="<?php the_permalink(); ?>"> <?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?> </a> </div> </div> </section> </div> <?php return ob_get_clean(); } } return $html; }, 10, 4 );
ごめんなさい、何度やってもコードになってくれない…♥ 1いいねをした人: 居ません2020年7月21日 1:41 PM #54393あ、すみません、カテゴリーだけでなく著者リンクもですね…。
♥ 0いいねをした人: 居ません2020年7月21日 3:45 PM #54399これでどうでしょう? Snow Monkey のデフォルトは
a
で全体が囲われる前提の CSS になっているので、CSS はちょっと調整が必要です。add_filter( 'snow_monkey_pre_template_part_render', function( $html, $slug, $name, $vars ) { if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) { if ( isset( $vars['_entries_layout'] ) && 'text' === $vars['_entries_layout'] ) { ob_start(); ?> <section class="c-entry-summary c-entry-summary--post c-entry-summary--my-text"> <div class="c-entry-summary--my-text__meta"> <ul class="c-meta"> <li class="c-meta__item c-meta__item--published"> <?php the_time( get_option( 'date_format' ) ); ?> </li> <li class="c-meta__item c-meta__item--author"> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>"> <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?><?php echo esc_html( get_the_author() ); ?> </a> </li> <li class="c-meta__item c-meta__item--categories"> <?php $categories = get_the_terms( get_the_ID(), 'category' ); if ( $categories ) { foreach ( $categories as $category ) { ?> <a class="wpaw-term wpaw-term--category-<?php echo esc_attr( $category->term_id ); ?>" href="<?php echo esc_url( get_term_link( $category ) ); ?>"><?php echo esc_html( $category->name ); ?></a> <?php } } ?> </li> </ul> </div> <div class="c-entry-summary__body"> <div class="c-entry-summary__header"> <a href="<?php the_permalink(); ?>"> <?php \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/title/title' ); ?> </a> </div> </div> </section> <?php return ob_get_clean(); } } return $html; }, 10, 4 );
ごめんなさい、何度やってもコードになってくれない…
お手数おかけしてすみません!bbPress はブロックコードも
```
じゃなくて`
で囲まないといけないみたいなんです。テキストモードだと「code」というボタンがでていると思うので、コードを囲ってそのボタンを押してもらうと良いかと思います(もしくはpre
タグも使えるのでそれで囲ってもらっても大丈夫です)。♥ 0いいねをした人: 居ません2020年7月21日 4:15 PM #54401わーー、バッチリです!!
本来のSnow Monkeyの使い方から外れたわがままに対応していただき、本当にありがとうございました!
大変助かりました!コードの件もありがとうございます…!お手数おかけしました。
♥ 1いいねをした人: 居ません -
投稿者投稿
- トピック「ブログ一覧(アーカイブ)を「テキスト」にしたときもカテゴリーを表示させたい」には新しい返信をつけることはできません。