-
投稿者検索結果
-
2021年8月20日 3:15 PM #84953
返信が含まれるトピック: カスタム投稿タイプの記事テンプレート編集
時間があいたので、投稿日(メタ)と前後のリンクだけ表示しようとしています
投稿日、更新日、投稿者は表示されました(これらの個別編集をしたいところですがそれはのちほど)
ページの前後が表示されません。 なにかたりない? のでしょうか
add_action( 'snow_monkey_get_template_part_args_templates/view/content', function( $args ) { // カスタム投稿タイプ information のとき(カスタマイザーでビューテンプレートを変更している場合は効きません) if ( 'information' === $args['name'] ) { // 投稿日を表示 $args['vars']['_display_entry_meta'] = true; // 前後の記事を表示 $args['vars']['_display_prev_next_nav'] = true; } return $args; } );
もしや1つづつかとおもったのですが、だめでした。
これって、$args[‘vars’][‘hoge’] となってる多次元配列を
検索してみつけたら上書きするという流れで認識間違えないでしょうか♥ 0Who liked: No user2021年8月20日 2:18 PM #84943返信が含まれるトピック: カスタム投稿タイプの記事テンプレート編集
snow-monkey/templates/view/content.php
をみてみてください。中に下記のコードがあると思います。$args = wp_parse_args( // phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable $args, // phpcs:enable [ '_display_adsense' => false, '_display_article_bottom_widget_area' => false, '_display_article_top_widget_area' => false, '_display_bottom_share_buttons' => false, '_display_contents_bottom_widget_area' => false, '_display_comments' => true, '_display_entry_footer' => false, '_display_entry_header' => $display_entry_header, '_display_eyecatch' => $display_eyecatch, '_display_profile_box' => false, '_display_tags' => false, '_display_top_share_buttons' => false, ] );
「この記事を書いた人」だと
$args['_display_profile_box']
で出すかどうかを管理しています。デフォルトはfalse
なのでカスタム投稿タイプでは表示されません(投稿の場合はsnow-monkey/templates/view/content-post.php
が使用されますが、そちらではtrue
になっています)。そういう感じでこのパラメーターをよしなに書き換えることで、どのパーツを表示して表示させないかをカスタマイズできます。このパラメーターは
snow_monkey_get_template_part_args_templates/view/content
フックでカスタマイズできます。add_action( 'snow_monkey_get_template_part_args_templates/view/content', function( $args ) { // カスタム投稿タイプ news のとき(カスタマイザーでビューテンプレートを変更している場合は効きません) if ( 'news' === $args['name'] ) { // 「この記事を書いた人」を表示 $args['vars']['_display_profile_box'] = true; } return $args; } );
子テーマのように1枚のテンプレートを編集することも出来るのか等について教えて下さい
できます。普通に子テーマをつくって、
snow-monkey/templates/view/content-news.php
やsnow-monkey/template-parts/content/entry/entry-news.php
なんかをつくって HTML や PHP を記述すれば良いです。Snow Monkey も単なる WordPress テーマなので、他のテーマと同じく子テーマをつくってテンプレートの上書きは可能です。多分、投稿のテーマを読み込んでいるので、それを直接いじると
投稿のテーマを読み込んでるモノ全部に影響がある可能性あり?もちろん影響しますが、それよりもテーマ(に限らずプラグインもコアも)のファイルを直接いじってはダメです。多分これも前コメントしたと思いますが、アップデートは最新のファイルをネット上からダウンロードしてきてサーバー内のファイルと置き換える行為なので、直接いじるとアップデートしたらその変更は消えていまします。
2021年7月27日 9:39 AM #82000返信が含まれるトピック: カスタム投稿の一覧でカテゴリー複数表示は可能でしょうか
わー!ご解説いただきありがとうございます…m(__)m
できました!!本当にありがとうございます><
カスタム投稿が計2つあったのでこんな感じで書いてみました。
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; } if ( 'news' === get_post_type() ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category' ); } if ( 'article' === get_post_type() ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'article_category' ); } return $args; } );
ありがとうございました!!
2021年7月27日 1:03 AM #81980返信が含まれるトピック: カスタム投稿の一覧でカテゴリー複数表示は可能でしょうか
解説コメントを付け加えてみました。
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; } // 全ての設定されたカテゴリーを返す ← ここで「投稿のビューテンプレート」なカスタム投稿タイプも「category」を取得しにいくためカテゴリーラベルの表示が消えます $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' ); return $args; } );
ということで、こんな感じでどうでしょうか?(適宜変更してみてください)
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; } // 投稿のときは全ての設定されたカテゴリーを返す if ( 'post' === get_post_type() ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'category' ); } // news のときは news_category を返す if ( 'news' === get_post_type() ) { $args['vars']['_terms'] = get_the_terms( get_the_ID(), 'news_category' ); } return $args; } );
2021年7月15日 11:00 AM #80922返信が含まれるトピック: 新着記事の表示順を「更新日時」で並べたい
@キタジマタカシ氏
上記のコード、上手く動かないような気がします。原因特定できていないですけど…
僕の方では、ホームページ設定した固定ページに最近の投稿ブロックを配置して以下のようなコードで試してみました。過去の投稿を更新してみても並び順が変わらないので…なんでだろ…
add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { if ( is_front_page() ) { $args['vars']['_posts_query']->set( 'orderby', 'modified' ); return $args; } return $args; } );
♥ 0Who liked: No user2021年7月14日 9:43 AM #80800返信が含まれるトピック: アイキャッチ画像に引用リンクを表示させることは可能か?
PaPa-Riderさん
参考のご提示ありがとうございます。よくわかりました。
適宜調整は必要かもしれませんが、こんな感じでいかがでしょうか?画像のキャプション欄に以下を挿入
<i class="fas fa-camera-retro"></i>画像引用元:<a href="https://example.com/" target="_blank" rel="noreferrer noopener">PaPa-Riderブログ</a>
my-snow-monkey.phpに以下を追加add_filter( 'snow_monkey_get_template_part_args_template-parts/common/page-header', function( $args ) { $args['vars']['_display_image_caption'] = true; return $args; } );
アイキャッチの右下に引用元を表示する場合は、CSSを一部上書き.c-page-header__bgimage-caption { text-align: right; }
一度お試しくださいませ。
♥ 0Who liked: No user2021年7月13日 9:35 AM #80701返信が含まれるトピック: 「任意のタクソノミーの投稿ブロック」で、カテゴリー・タグ以外の条件で表示させる投稿記事を指定できますか?
やるとすればフックでクエリを書き換える方法になります。下記サンプルです(動作未確認)。
add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { // 任意のタクソノミーの投稿ブロック/任意のタクソノミーの投稿ウィジェットの場合 // 実際にはもうちょっと条件を足して絞り込んだほうが良いかも if ( 'taxonomy' === $args['name'] ) { $args['vars']['_posts_query']->set( 'post__in', [ 1, 2, 4 ] ); } return $args; } );
個人的には、表示したい各投稿に共通する適当なタグをつけて、それを呼びだすのが一番簡単だと思います。
2021年7月12日 10:24 AM #80609返信が含まれるトピック: 新着記事の表示順を「更新日時」で並べたい
僕も確認してみましたがちゃんと反映されているようでした。もし「記事一覧の表示順」というのが「トップページの記事の一覧」ということであれば、トップページでは最近の投稿ブロックを使用されているようなのでこのコードでは並び順は変更されません(
is_main_query
で分岐しているけど、最近の投稿ブロックはメインクエリーではないため)最近の投稿ブロックのクエリを書き換える場合は下記のような感じになります(すべての最近の投稿ウィジェット・最近の投稿ブロックに影響が出るので、実運用では適当に条件分岐させるのが良いと思います)。
add_filter( 'snow_monkey_get_template_part_args_template-parts/widget/snow-monkey-posts', function( $args ) { $args['vars']['_posts_query']->set( 'orderby', 'modified' ); return $args; } );
♥ 0Who liked: No user2021年6月14日 1:52 PM #78256返信が含まれるトピック: 投稿ページに「前の記事」、「次の記事」に移動するリンクを実装したい
デフォルトではカテゴリーの移動制限は無効です。
snow_monkey_get_template_part_args_template-parts/content/prev-next-nav
フックで_in_same_term
をtrue
にしてみてください。2021年6月4日 1:38 PM #77382返信が含まれるトピック: 絞り込み検索結果の記事一覧レイアウトをリッチメディアではなくテキストにしたい
ありがとうございます! 検証環境を整えてみました。
rich-media を text に書き換えると表示も変わる
これは
$args['vars']['_entries_layout'] = 'text';
の部分は常に反映されないけど、$args['vars']['_entries_layout'] = 'rich-media';
は意図していない(='template-parts/archive/entry/search' === $args['slug']
であろうという想定のとき)も反映されてしまう、ということですかね?もしそうだった場合、カスタマイザー → デザイン → (question)アーカイブページ設定 → ビューテンプレートの設定が「投稿のビューテンプレート」になっていないでしょうか?「投稿のビューテンプレート」になっていると
$args['name']
が投稿と同じpost
になるので条件が意図したとおりに動かなくなります。「投稿のビューテンプレート」を使いたい場合は下記のようにするのが良いかなと思います。
add_filter( 'snow_monkey_get_template_part_args_template-parts/archive/entry/search', function( $args ) { if ( 'news' === get_post_type() ) { // ← 投稿タイプの判定を get_post_type() でおこなう $args['vars']['_entries_layout'] = 'text'; } else { $args['vars']['_entries_layout'] = 'rich-media'; } return $args; } );
2021年5月28日 6:55 PM #76814早速にありがとうございます!!!(涙
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries/posts', function( $args ) { if ( 'ir' === $args['name'] ) { $args['vars']['_display_item_terms'] = true; $args['vars']['_display_item_meta'] = true; } return $args; } );
日付情報とターム名を表示したいので、上記としました。
まだまだわからないことも多いですが、このテーマのカスタマイズ感の良さに平伏しておりますw2021年5月28日 1:56 PM #76788設定をデフォルトにすると c-entry-summary__meta が非表示になってしまうんですが、
これはターム名のラベルの表示が、ということですよね?
ターム名のラベルの表示はテンプレート引数をフックで書き換えることで変更できます。
タームをビューテンプレートはデフォルトのままで、
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries/posts', function( $args ) { if ( 'カスタム投稿タイプ名' === $args['name'] ) { $args['vars']['_display_item_terms'] = true; } return $args; } );
とするとどうでしょうか?
♥ 0Who liked: No user2021年4月21日 3:35 PM #73880返信が含まれるトピック: WooCommerceの商品ページに「SNS」シェアボタンを追加したい
v14.1.0 で、コードを追加することでシェアボタンが表示できるようにしてみました。
add_filter( 'snow_monkey_get_template_part_args_templates/view/woocommerce-single-product', function( $args ) { $args['vars']['_display_top_share_buttons'] = true; // 上部に出したいとき $args['vars']['_display_bottom_share_buttons'] = true; // 下部に出したいとき return $args; } );
これで表示されはするんですが、WooCommerce の商品ページは普通の記事ページと違ってタイトルがページ上部に表示されないので、シェアボタンの位置がちょっと微妙になるなぁと個人的には思いました。微妙であれば WooCommerce のフックを調べて、そこに対してシェアボタンを表示するコードを突っ込むみたいな感じになるかなと思います。
2021年4月14日 1:09 AM #73221返信が含まれるトピック: アーカイブページで投稿がない時のメッセージを変更したい
アクツさん、キタジマさん ご回答ありがとうございます。
キタジマさんのコードでうまく行きました!snow_monkey_get_template_part_args_template-parts/ の使い方がいまひとつわからなかったんですが、これで他にも応用できそうです。
すぐにご回答いただいていたのに、別件でバタバタしていて試すのが遅くなってしまいました。
申し訳ないです。ありがとうございました!
クローズしますね。
♥ 2Who liked: No user2021年4月13日 3:45 PM #73159返信が含まれるトピック: 投稿ページで、「関連記事」と「コメント」の位置を入れ替えたい
add_filter( 'snow_monkey_get_template_part_args_template-parts/content/entry/entry', function( $args ) { $args['vars']['_display_comments'] = false; return $args; } );
でデフォルトのコメントエリアを消しつつ、
template-parts/content/entry/footer/footer.php
を上書きしてコメントエリアを追加する感じですかねー。template-parts/content/entry/footer/footer.php
は結構大きいテンプレートなので、今後のメンテナンスのことを考えると個人的には上書きはあまりオススメできません。メンテナンスとカスタマイズの重要度を天秤にかけて判断してもらうと良いかなと思います。これをMy Snow Monkeyで実現する方法はありますか?
できなくはないですが、結局テンプレートを上書きすることになるので、子テーマでやったほうが素直かなと思います。
♥ 1Who liked: No user -
投稿者検索結果