-
投稿者検索結果
-
2021年4月21日 9:57 AM #73760
返信が含まれるトピック: アーカイブページのテンプレートを新しく作りたい
ループの中のテンプレートは
name
が投稿タイプ名になっているので、–
template-parts/loop/entry-summary/entry-summary-news.php
–template-parts/loop/entry-summary/content/content-news.php
みたいなファイルを追加することで、その投稿タイプ用のファイルとして使われます! もしテンプレートを追加するほどではない軽微な変更を特定の投稿タイプのときに入れたいということであれば、
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/entry-summary', function( $html, $name ) { if ( 'news' === $name ) { return str_replace( ... ); } return $html; }, 10, 2 );
みたいな感じでもカスタマイズできるかなと思います。
♥ 0いいねをした人: 居ません2021年4月20日 11:39 AM #73711返信が含まれるトピック: 記事一覧にコメント数を表示したい(表示はできたのですが、余分なコードが消せません)
キタジマさま
早速のご返信ありがとうございます。
下記で試してみたのですが、表示されていた「公開日」が消えてしまいました。
コメント数は表示されています。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html ) { ob_start(); ?> <li class="c-meta__item c-meta__item--comments__number"><span> <?php echo get_comments_number(); ?> </span>コメント</li> <?php return ob_get_clean(); } );
上下に入っていたulタグが消えてしまうようです。
<div class="c-entry-summary__meta"> <ul class="c-meta">
原因わかりますでしょうか?
お手数をおかけし申し訳ありません。よろしくお願いいたします。
♥ 0いいねをした人: 居ません2021年4月19日 10:29 AM #73629返信が含まれるトピック: 投稿ページの「抜粋」に改行コードを反映させたい
抜粋の入力欄に(
<br>
は入力せずに)単純に改行を含んだ抜粋文を入力したとして、下記のコードを My Snow Monkey プラグインか子テーマのfunctions.php
に入力することで改行が<br>
に変換されます。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/content/content', function( $html ) { $match = preg_match( '|(<div class="c-entry-summary__content">)(.*?)(</div>)|ms', $html, $reg ); if ( $match ) { return $reg[1] . nl2br( $reg[2] ) . $reg[3]; } return $html; } );
※ちなみに、この TCD さんの記事は親テーマの
functions.php
を直接改変する説明のようにみえます。親テーマ(この場合は TCD さんのテーマ)を改変してしまうと、その親テーマをアップデートしたときに改変部分がすべてもとに戻ってしまいます(アップデートはネット上にある最新のファイルをダウンロードしてきて書き換えたファイルを含む古いファイルを全部上書きしてしまうため)。なのでこの対処法はあまりやらないほうが良いと思います…(親テーマが絶対アップデートされないというなら別ですが、アップデートされないということはセキュリティ脆弱性があっても対応されないということなのでそれはそれで…)2021年4月12日 10:36 AM #73001返信が含まれるトピック: 記事一覧ページに更新日を追加したいです。
My Snow Monkey プラグインか、子テーマの
functions.php
に下記のコードを追加してみるとどうでしょうか?add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html ) { ob_start(); ?> <li class="c-meta__item c-meta__item--modified"> <?php $date_format = get_option( 'date_format' ); the_modified_time( $date_format ); ?> </li> <?php $modified = ob_get_clean(); return preg_replace( '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms', '$1' . $modified, $html ); } );
♥ 1いいねをした人: 居ません2021年3月26日 10:29 AM #71587返信が含まれるトピック: 「最新の情報」更新日の位置をカスタマイズしたい(テキスト形式)
返答いただきありがとうございます!
こちらはテキスト2ではなく、テキスト形式です(今もう一度確認しました)
あと追加した分と言えば、投稿日非表示のCSSと子テーマのfunctions.phpに
こちらのフォーラムで紹介されていた「カテゴリ複数表示」「最終更新日表示」のコードです//投稿日非表示 .c-entries--text .c-entry-summary__meta .c-meta__item--published{ display:none !important; } //更新日表示 .c-entries--text .c-entry-summary__meta .c-meta__item--modified{ position: absolute; display:block !important; top: 55%; right: 0; @include sm { ※スマホ用mixinです position: static; } }
/**カテゴリ複数表示 */ add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } // 全ての設定されたカテゴリーを返す $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' ); return $args; } ); /** 「最新の記事一覧」に最終更新日を表示 */ add_filter( 'snow_monkey_template_part_render', function( $html, $slug ) { if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) { ob_start(); ?> <li class="c-meta__item c-meta__item--modified"> <svg class="svg-inline--fa fa-sync-alt fa-w-16" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="sync-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"></path></svg> <?php the_modified_time( get_option( 'date_format' ) ); ?> </li> <?php $modifiled = ob_get_clean(); return preg_replace( '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms', '$1' . $modifiled, $html ); } return $html; }, 10, 2 );
クライアント様のサーバー内にある公開前データなので
実際のページをお見せすることができません、申し訳ありません!♥ 0いいねをした人: 居ません2021年2月18日 10:18 AM #68410返信が含まれるトピック: 「最近の投稿」にカスタムフィールドを追加したい
キタジマさん
早々にご返信いただきましてありがとうございます!
お返事が遅くなりまして申し訳ございません!上記だとやはり希望通りの動作にならず試行錯誤していただのですが、こちらの記事を参考にさせていただきましたらうまくいきました!
■参考記事
カスタム投稿のアーカイブ(記事一覧)で、タイトルの下にカスタムフィールドの内容を表示するmy-snow-monkeyに記載した内容は以下のとおりです(一部のみの書きかえですが、他の方の参考になれば)。
もし内容に不適切な箇所があればご指摘いただければ助かります。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', //entry-summary-postが対象 function( $html ) { if (get_post_type() === 'works'): //カスタム投稿worksに限定する // 以降の出力を変数に格納する ob_start(); ?> <div class="client-name"> <p><?php echo esc_html (get_field('client_name')); ?></p> </div> <?php // 変数に格納する $works_client = ob_get_clean(); // </header>を書き換える return str_replace( '</header>', '</header>'.$works_client, $html ); endif; return $html; } );
どうぞよろしくお願いいたします。
♥ 1いいねをした人: 居ません2021年2月3日 9:18 AM #66985返信が含まれるトピック: カスタム投稿一覧ページにテキストを追加したい
HTML の内容を書き換えるフィルターフックは
snow_monkey_template_part_render_テンプレートのスラッグ
となります。一覧部分のサムネイルのテンプレートを書き換えたい場合は
snow_monkey_template_part_render_template-parts/loop/entry-summary/figure/figure
です。また、一覧部分のサムネイル用のテンプレートには
</header>
が無いので</header>
を対象に置換しようとしても機能しません。return
のところをreturn $html . $cv_comment;
に書き換えるとどうでしょうか?
これで動かないようだったら調査してみます!
♥ 0いいねをした人: 居ません2021年1月22日 5:38 PM #66080返信が含まれるトピック: 任意のタクソノミーブロックで表示される投稿の投稿者を削除したい
キタジマ様
一応確認ですが、投稿者の HTML を削除するのは「任意のタクソノミーブロック」だけで、カテゴリーアーカイブページの一覧部分からは消さないということであっていますでしょうか?
投稿者のHTMLはカテゴリーアーカイブページの一覧部分、投稿記事メタ情報などすべてから削除したいのです。
なお、カテゴリーアーカイブページの一覧部分については以前にキタジマ様からフックを教えていただきましたので削除出来ております。
また、投稿記事メタ情報部分については、本フォーラムの過去記事に該当するフックが紹介されておりましたのでこれも削除出来ております。
後は、固定ページに作成した任意のタクソノミーブロックにのみ投稿者が表示されていますので、これを削除したいということです。
一応現在のフックを掲載しますので、問題点などありましたらご指摘いただけますと助かります。
/** * 投稿ページのメタ情報の投稿者を削除 */ add_action( 'snow_monkey_entry_meta_items', function() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 ); }, 9 ); /** * カテゴリーページの投稿者を削除 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html, $name, $vars ) { // カテゴリーアーカイブ表示時、かつ記事一覧部分のとき. if ( is_category() && 'archive' === $vars['_context'] ) { return preg_replace( '| <ul> <li class="c-meta__item c-meta__item--author">.*?</li> </ul> |ms', '', $html ); } return $html; }, 10, 3 );
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2021年1月22日 4:02 PM #66075返信が含まれるトピック: カスタム投稿のアーカイブ(記事一覧)で、タイトルの下にカスタムフィールドの内容を表示する
サニタイズの視点、完全に飛んでましたので助かります。
esc_htmをつかって、下記のようなカスタマイズとして利用させていただきます。
ありがとうございます!add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', //entry-summary-postが対象 function( $html ) { if (get_post_type() === 'item'): //カスタム投稿 itemに限定する // 以降の出力を変数に格納する ob_start(); ?> <div class="price__wrapper"> <p>税込<?php echo esc_html(number_format(get_field('price'))); ?>円</p> </div> <?php // 変数に格納 $kw_price = ob_get_clean(); // </header>を書き換える return str_replace( '</header>', '</header>'.$kw_price, $html ); endif; return $html; } );
2021年1月9日 1:16 PM #65065返信が含まれるトピック: 関連記事の記事タイトルを 2行目以降は表示せずに「…」にしたい
My Snow Monkey プラグインに下記のコードを貼り付けてみてください。
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title', function( $html, $name, $vars ) { // 関連記事のとき if ( 'snow-monkey/related-posts' === $vars['_context'] ) { // テキスト部分を抽出 $text = trim( strip_tags( $html ) ); // タイトル(タグを含む)のテキスト部分を、トリミングしたテキストに置換 return str_replace( $text, mb_strimwidth( $text, 0, 10, '…' ), // 抽出したテキストをトリミング $html ); } return $html; }, 10, 3 );
「2行目以降」という指定はできないので、切り取る長さを調整してみてください(
mb_strimwidth
の10
の部分)。あと、僕はサイトを何度も拝見しているのでだいたいなにがどこにあるのかわかりますが、初見の人は「関連記事はどこにあるの?」となってしまう場合があると思いますので、【当該サイトのURL】にはトップページの URL ではなくそのトピックの内容(今回であれば関連記事)が確認できる URL を書いていただければと思います!
♥ 0いいねをした人: 居ません2020年11月25日 9:30 AM #61554返信が含まれるトピック: カテゴリーページで投稿者名を削除したい
これでどうでしょう?
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html, $name, $vars ) { // カテゴリーアーカイブ表示時、かつ記事一覧部分のとき if ( is_category() && 'archive' === $vars['_context'] ) { return preg_replace( '|<li class="c-meta__item c-meta__item--author">.*?</li>|ms', '', $html ); } return $html; }, 10, 3 );
上記で HTML ごと消えると思いますが、互換性を考えると CSS のほうが安定度は高いかなぁとは思います。
♥ 1いいねをした人: 居ません2020年8月24日 2:26 PM #56081返信が含まれるトピック: 特定のカテゴリーアーカイブページで全文表示したい
了解です! こんな感じでどうでしょうか?
add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( ! is_category( '未分類' ) ) { return $html; } if ( 'template-parts/loop/entry-summary/content/content' === $slug && 'rss' !== $name ) { ob_start(); ?> <div class="任意の class"> <div class="c-entry-summary__content p-entry-content"> <?php the_content(); ?> </div> </div> <?php $html = ob_get_clean(); $html = preg_replace( '|<a[\s\t\r\n]|ms', '<span ', $html ); $html = str_replace( '</a>', '</span>', $html ); } return $html; }, 10, 3 );
上記は「未分類」カテゴリーにだけ全文表示を適用するコードになります。「未分類」となっている部分を対象にしたいカテゴリー名に変更してください。また、「任意の class」としているところも適当な class 名に変更してください。
♥ 1いいねをした人: 居ません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日 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日 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いいねをした人: 居ません -
投稿者検索結果