-
投稿者検索結果
-
2021年3月9日 1:09 AM #69800
返信が含まれるトピック: 全ページのメインコンテンツ部分にIDを設定する方法
これでどうでしょうか! My Snow Monkey プラグインか子テーマの
functions.php
に貼り付けてみてください。add_filter( // 出力される HTML を書き換えるフック。 // 対象にしたいテンプレートに応じて templates/layout/wrapper/one-column-full の部分を調整。 'snow_monkey_template_part_render_templates/layout/wrapper/one-column-full', function( $html ) { return str_replace( '<div class="l-contents"', '<div class="l-contents" id="l-contents"', $html ); } );
♥ 1いいねをした人: 居ません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月15日 9:29 AM #68070返信が含まれるトピック: 「最近の投稿」にカスタムフィールドを追加したい
置換対象が
<ul> <li class="c-meta__item c-meta__item--author">.*?</li> </ul>
だと、著者名と日付、のようにメタ情報が2つある(ul の中に li が2つ以上ある)と一致しなくなってしまうので、次のように書き換えるとうまくいくかもしれません。
add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( 'template-parts/widget/snow-monkey-posts' === $slug && 'recent' === $name ) { return preg_replace( '|<li class="c-meta__item c-meta__item--author">.*?</li>|ms', '<li class="c-meta__item client_name">' .ここに表示させたい内容を記載する?. '</li>', $html ); } return $html; }, 10, 3 );
♥ 0いいねをした人: 居ません2021年2月12日 6:39 PM #67938返信が含まれるトピック: アーカイブページのアイキャッチにクラスを追加したい
アクツさん
ありがとうございます!
そして、非常にお恥ずかしいです…
ご指摘どおりのケアレスミスでした。
書き直したコードは以下のとおりです。
本当にありがとうございました。
add_filter( 'snow_monkey_template_part_render_template-parts/archive/eyecatch', function ( $html, $name, $vars ) { $html = str_replace( '<div class="c-eyecatch">', '<div class="c-eyecatch w1280px">', $html ); return $html; },10,3 );
♥ 1いいねをした人: 居ません2021年2月12日 6:15 PM #67933返信が含まれるトピック: アーカイブページのアイキャッチにクラスを追加したい
tomohanano さんこんにちは。
コードがちゃんと動くとかはチェックしていないのですが、記載してくれたコードのフック名が違っているのでひとまずお知らせします
snow_monkrey_template_part_render_
→snow_monkey_template_part_render_
※monkreyになっているので、そこをmonkeyにする
♥ 2いいねをした人: 居ません2021年2月3日 9:29 AM #66987返信が含まれるトピック: 一覧の表示項目を変更したい
結構聞かれることが多いので、いくつか思いつくやり方をここで書いておきたいと思います。
CSS で消す
単純に CSS で消す方法です。これが一番手軽で後方互換性的にも問題が起こりにくいのではないかと思います。
.c-entry-summary__meta { display: none; }
snow_monkey_get_template_part_args_{slug} フィルターフックで消す
テンプレートパーツの引数を書き換える方法です。メタ情報を表示するかどうかは
template-parts/loop/entry-summary.php
の_display_meta
という引数で制御されているので、そこをfalse
に書き換えることでメタ情報が表示されなくなります。add_filter( 'snow_monkey_get_template_part_args_template-parts/loop/entry-summary', function( $args ) { $args['vars']['_display_meta'] = false; return $args; } );
snow_monkey_template_part_render_{slug} フィルターフックで消す
テンプレートパーツの HTML を書き換える方法です。メタ情報のテンプレートパーツ
template-parts/loop/entry-summary/meta/meta.php
の HTML を空(ここではfalse
にしていますがコールバック関数内でreturn
とかでも OK)にすることでメタ情報を非表示にしています。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', '__return_false' );
snow_monkey_get_template_part_{slug} アクションフックで消す
テンプレートパーツの HTML を定義する方法です。↑のフィルターフックと似ていますが、違うのは↑はあくまで「既存のテンプレートパーツの書き換え」ですが、これは「テンプレートパーツのファイルをつくらずにテンプレートの中身を定義する」というところです。メタ情報のテンプレートパーツ
template-parts/loop/entry-summary/meta/meta.php
の HTML を空(ここではfalse
にしていますがコールバック関数内でreturn
とかでも OK)にすることでメタ情報を非表示にしています。add_action( 'snow_monkey_get_template_part_template-parts/loop/entry-summary/meta/meta', '__return_false' );
参考:
♥ 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年2月2日 10:31 AM #66875返信が含まれるトピック: トップにフル幅のスライダーを設置して、その下にロゴとヘッダーを設置したい。
あ、ショートコードだと
do_shortcode()
関数で囲まないと実行されないかもです。 これでどうですかね?add_filter( 'snow_monkey_template_part_render_header', function( $html ) { // トップページ以外のときは追加しない if ( ! is_front_page() ) { return $html; } return do_shortcode( '[metaslider id="388"]' ) . $html; } );
♥ 0いいねをした人: 居ません2021年2月1日 9:14 PM #66848返信が含まれるトピック: トップにフル幅のスライダーを設置して、その下にロゴとヘッダーを設置したい。
Metasliderというプラグインでスライダーを作成してみました。
そしてショートコードを該当の位置に入力したのですが、
ショートコード自体が表示されてスライダーが表示されませんでした。phpの知識が無く恐縮なのですが、私のショートコードの入力方法はあっておりますでしょうか。
add_filter( 'snow_monkey_template_part_render_header', function( $html ) { // トップページ以外のときは追加しない if ( ! is_front_page() ) { return $html; } ob_start(); // 追加するコンテンツを記述 ?> [metaslider id="388"] <!--?php <br ?--> return ob_get_clean() . $html; } );
♥ 0いいねをした人: 居ません2021年2月1日 1:42 PM #66815返信が含まれるトピック: トップにフル幅のスライダーを設置して、その下にロゴとヘッダーを設置したい。
– ヘッダーは2行に設定
– ヘッダー位置はノーマルに設定
– スライダーを何らかのプラグインで作成として、
下記のコードを My Snow Monkey プラグインもしくは子テーマの
functions.php
に追加でいけると思います。add_filter( 'snow_monkey_template_part_render_header', function( $html ) { // トップページ以外のときは追加しない if ( ! is_front_page() ) { return $html; } ob_start(); // 追加するコンテンツを記述 ?> ここにスライダーの HTML やショートコードなど <?php return ob_get_clean() . $html; } );
♥ 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月22日 3:15 PM #66067返信が含まれるトピック: グローバルメニューの上にメッセージ画像を表示させたい。
一応下記のコードでグローバルナビゲーションの上に「あいうえお」という文字列を追加できるのですが、グローバルナビゲーションのテンプレートパーツは普通のグローバルナビゲーションだけではなくドロップナビゲーション(スクロールしたら上からにゅっとでてくるナビゲーション)にも流用しているので、そちらにも文字列が表示されてしまいます…。
add_filter( 'snow_monkey_template_part_render_template-parts/nav/global', function( $html, $name, $vars ) { ?> あいうえお <?php return ob_get_clean() . $html; }, 10, 3 );
v13.0.0 からは判別してどちらか片方に出せるようにしようと思いますが、お急ぎであればとりあえず上記で追加しておいて、ドロップナビゲーションのほうは CSS で消しておくのが良いかもしれません…。
♥ 2いいねをした人: 居ません2021年1月20日 10:37 AM #65852返信が含まれるトピック: インフィード広告が表示されない
コード書いてみました。こんな感じでどうでしょうか?
/** * 投稿の一覧ページで、記事一覧レイアウトが simple のときにインフィード広告を表示 */ add_filter( 'snow_monkey_template_part_render_template-parts/archive/entry/content/content', function( $html, $name ) { $infeed_ads = get_option( 'mwt-google-infeed-ads' ); if ( ! $infeed_ads ) { return $html; } $entries_layout = get_theme_mod( $name . '-entries-layout' ); if ( 'post' !== $name ) { return $html; } if ( ! in_array( $entries_layout, [ 'simple' ], true ) ) { return $html; } $count = 0; return preg_replace_callback( '|(<li class="c-entries__item)|s', function( $matches ) use ( &$count, $infeed_ads ) { $count ++; if ( 0 !== $count % 4 ) { return $matches[0]; } ob_start(); ?> <li class="c-entries__item"> <?php \Inc2734\WP_Adsense\Helper::the_adsense_code( $infeed_ads ); ?> </li> <?php return ob_get_clean() . $matches[0]; }, $html ); }, 10, 2 );
♥ 0いいねをした人: 居ません2021年1月20日 6:39 AM #65836返信が含まれるトピック: 画面の上部に3列目のメニューを表示する
ob_start()を知らなかったので勉強になりました。
当初理解できなかったのですが、昨日の配信で
・snow_monkey_template_part_render_<slug>
・str_replace
に触れてらっしゃったのでどのような処理かわかりました。記載いただいたようにするとheaderとして上部固定などもできるようになりました。
お手数おかけしました。ありがとうございました。♥ 1いいねをした人: 居ません -
投稿者検索結果