-
投稿者検索結果
-
2021年6月29日 11:31 AM #79584
ひとまず簡単な方法として、画像を表示しているattachment.phpをiframeをポップアップさせる方法です。
Easy Fancyboxプラグインを使用している場合になりますが、左メニュー【設定】内の【メディア】を開くと、下部にEasy Fancyboxの各種設定項目がありますので、iFrameにもチェックを入れ【変更を保存】を押してください。
次に前回ご提示したコード
<a target="_blank" rel="noreferrer noopener"
を<a class="fancybox-iframe"
に(以下のように)変更します。my-snow-monkey.phpに記述
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', function( $html ) { if ( is_search() ) { $html = str_replace( '<a', '<a class="fancybox-iframe"', $html ); } return $html; } );
これで、検索結果ページの投稿をクリックすると、新しいタブで開くのではなく、ポップアップ(Fancybox)で開くようになると思います。
一度お試しください。2021年6月27日 11:02 PM #79441お世話になります。
以下のように、追記したら別タブ表示になりました。
ありがとうございます。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', function( $html ) { if ( is_search() ) { // 検索結果ページのみ // $html = str_replace( // '<a', // '<a class="fancybox image"', $html = str_replace( '<a', '<a target="_blank" rel="noreferrer noopener"', $html ); } return $html; } );
2021年6月27日 2:34 PM #79405お試しいただけるようで良かったです。
snow_monkey_template_part_render
は、こちらや
こちら
で解説されているように、テンプレート内容を書き換えることのできるフィルターフックです。
snow_monkey_template_part_render_
以降のtemplate-parts/loop/entry-summary
は、下に記載したとおり、テーマ内の特定のテンプレートファイル(今回はentry-summary.php
)を指しています。テーマ「Snow Monkey」
snow-monkey └template-parts └loop └entry-summary.php
この
entry-summary.php
の<a href="<?php the_permalink(); ?>">
に、target="_blank" rel="noreferrer noopener"
を追加する方法になります。また、ご質問の見出し
サイト内検索の検索フォームの画像で検索されたものをクリックした時別タブで表示
とのことでしたので、検索結果ページ(
is_search()
)にのみ作用するようにします。
例えば、この検索結果ページ以下のコードをmy-snow-monkey.phpに追記することで、お望みの動作になるとは思います。
ただ、提示しておいて言うのも無責任ですが、適切なコードでないかもしれませんので、ご理解いただいたうえでお試しください。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', function( $html ) { if ( is_search() ) { // 検索結果ページのみ $html = str_replace( '<a', '<a target="_blank" rel="noreferrer noopener"', $html ); } return $html; } );
なお、ほかのページにある画像の拡大は、ソースコードを拝見したところ、Easy FancyBoxプラグインによるポップアップ形式になっているようなので、同じ動作をさせる場合には、上記コードの該当箇所を
$html = str_replace( '<a', '<a class="fancybox image"',
としてあげると同じ表現になるような気がします。
※こちらは未検証です。以上となりますが、まずは一度お試しください。
2021年6月27日 12:03 PM #79396お世話になります。
記事拝見致しました。my-snow-monkey.php
に記事のようなコードを追加するということでしょうか?str_replaceでtarget=”_blank” rel=”noopener”がつくようにすれば良いと思います。
をどのようにコードに書けばいいでしょうか?
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', return str_replace( '</header><a>">', target="_blank" rel="noopener"がつくように );
♥ 0いいねをした人: 居ません2021年6月26日 11:37 AM #79311snow_monkey_template_part_render_template-parts/loop/entry-summary
こちらのファイルはどこにあるのでしょうか?ファイルは、テーマの
template-parts/loop/entry-summary
にありますが、フックでおこなうのがベターです。こちらのトピックを応用されれば実装可能かと思いますので、試してみてください。
♥ 0いいねをした人: 居ません2021年6月26日 10:21 AM #79307ご返信ありがとうございます。
snow_monkey_template_part_render_template-parts/loop/entry-summary
こちらのファイルはどこにあるのでしょうか?♥ 0いいねをした人: 居ません2021年6月26日 6:03 AM #79296*****[ プライベートトピックのため非表示 ]♥ 0いいねをした人: 居ません2021年6月21日 11:46 AM #78882返信が含まれるトピック: 投稿記事一覧に表示させた更新日に、アイコンも表示させたい
あ、そうか失礼しました。追加したコードで強制的に更新日が追加されるからですね。
add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html ) { // 更新日と公開日が同じ、あるいは更新日より公開日が新しい場合は更新日を追加しない if ( get_the_time( 'Ymd' ) >= get_the_modified_time( 'Ymd' ) ) { return $html; } ob_start(); ?> <li class="c-meta__item c-meta__item--modified"> <i class="fas fa-sync-alt" aria-hidden="true"></i> <?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 ); } );
2021年6月20日 2:56 PM #78800返信が含まれるトピック: 投稿記事一覧に表示させた更新日に、アイコンも表示させたい
キタジマさん、
該当部分を教えていただいたコードに変えて、My Snow Monkeyに追記して無事出来ました、ありがとうございました。
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"> <i class="fas fa-sync-alt" aria-hidden="true"></i> <?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 ); } );
投稿日と更新日を切り分けて表示させるルールがないので、記事更新をしていないくても強制的に更新日が表示されるので、その点理解して使用してみます。
♥ 0いいねをした人: 居ません2021年5月14日 8:51 AM #75670返信が含まれるトピック: テーマを更新したらページが崩れてしまいました
functions.php
で、以下のリンクを外す記述をしているだけですね。add_filter( 'snow_monkey_template_part_render', function( $html, $slug, $name ) { if ( 'template-parts/loop/entry-summary' === $slug && 'tournament_all' === $name ) { $html = preg_replace( '|<a>]+?>|ms', '', $html ); $html = str_replace( '|</a>', '', $html ); return $html; } return $html; }, 10, 3 );
♥ 0いいねをした人: 居ません2021年4月21日 10:01 AM #73763返信が含まれるトピック: 記事一覧にコメント数を表示したい(表示はできたのですが、余分なコードが消せません)
改めて確認してみました。当初の
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 $modified = ob_get_clean(); return preg_replace( '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms', '$1' . $modified, $html ); } );
で正しいと思います。
♥ 0いいねをした人: 居ません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 さんのテーマ)を改変してしまうと、その親テーマをアップデートしたときに改変部分がすべてもとに戻ってしまいます(アップデートはネット上にある最新のファイルをダウンロードしてきて書き換えたファイルを含む古いファイルを全部上書きしてしまうため)。なのでこの対処法はあまりやらないほうが良いと思います…(親テーマが絶対アップデートされないというなら別ですが、アップデートされないということはセキュリティ脆弱性があっても対応されないということなのでそれはそれで…) -
投稿者検索結果