-
投稿者投稿
-
2021年8月20日 7:40 AM #84910
【お使いの Snow Monkey のバージョン】15.3.1
【お使いの Snow Monkey Blocks のバージョン】12.0.1
【お使いの Snow Monkey Editor のバージョン】6.0.0
【お使いのブラウザ】Chrome
【当該サイトのURL】http://x04.kglb.net/special/%e7%89%b9%e9%9b%86%ef%bc%94/### 実現したいこと
毎回すみません…
特集4〜関連記事までのテンプレートの構成を編集したいです
まだ構成はきまってないけどこの記事を書いた人
関連記事は無くてもいいと思われるます
おそらくCSSで非表示にすることは自分でもできそうだけど
できればテンプレートを編集したいです### 発生している問題
記事投稿画面には存在しないので、テンプレートにあるっぽい
### 試したこと
おそらくこれもフック等をつかってひとつひとつ変更削除する必要があるのかとおもいますが、
子テーマのように1枚のテンプレートを編集することも出来るのか等について教えて下さい知りたいのはどれをいじれば実現できるかです
また、エンジニアでないわたしで出来る範囲かです(分かりづらい言い方でスミマセン)多分、投稿のテーマを読み込んでいるので、それを直接いじると
投稿のテーマを読み込んでるモノ全部に影響がある可能性あり?
投稿タイプ毎に表現を変えたい場合は、どうすればいいのか
フィルターで内容の編集はできたとしても、投稿タイプ用のテンプレートを
新たにつくるとかどうすればいいのだろう### その後
カスタマイズ>デザイン>特集ページ設定>ビューテンプレート>固定ページのビューテンプレート
にしたら本文以外全部なくなることはわかったのだけど、
これは必要、これが不要ができないですいったんもどしたしました
♥ 0Who liked: No user2021年8月20日 10:07 AM #84927こんにちは。
テンプレートの内容を書き換える場合は、フィルターフックのsnow_monkey_template_part_render_{slug}
を使用します。
テンプレートの内容を書き換えるローカル環境等でデバッグモードをtrueにしておくと、ソース上にどのテンプレートを使用しているのかが表示されます。
・この記事を書いた人
・関連記事
を単純に消すだけなら、以下のコードを My Snow Monkey に追加すればOKです。add_filter( 'snow_monkey_template_part_render_template-parts/common/profile-box', function ( $html ) { $post_type = get_post_type(); if ( 'special' == $post_type ) { return; } return $html; } ); add_filter( 'snow_monkey_template_part_render_template-parts/content/related-posts', function ( $html ) { $post_type = get_post_type(); if ( 'special' == $post_type ) { return; } return $html; } );
2021年8月20日 2:18 PM #84943snow-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年8月20日 2:31 PM #84946コメントみなさんありがとうございます
環境設定ぽくつくりこまれてること
それを個別に変更すればよいことがわかりました夕方にいったん、現状をもとにどういう方針で変更するか打ち合わせしまので
それまでさわらず、今晩から週明けにかけてカスタマイズしてみようとおもいますいったん、ありがとうございます
作業の過程をポストしたいので、しばらく閉じずにおいときます
よろしくお願いします!#おしえもらって感謝のプラグイン本かったら分厚さにびっくり、
#せっかくなので、とりあえずフックの部分だけでも読みます!
#なんかやるべきコトがいっぱいで大変です♥ 0Who liked: No user2021年8月20日 2:34 PM #84947できます。普通に子テーマをつくって、snow-monkey/templates/view/content-news.php や snow-monkey/template-parts/content/entry/entry-news.php なんかをつくって HTML や PHP を記述すれば良いです。Snow Monkey も単なる WordPress テーマなので、他のテーマと同じく子テーマをつくってテンプレートの上書きは可能です。
でもこれは非推奨なのですよね。My Snow Monkeyでのフックが推奨なのですよね
まえ、My Snow Monkey内のコードで数行のHTMLを見ましたが、フックかけた場所をごそっとHTMLに入れ替えることも
可能なのですよね(変数はPHPになってるともっと理想、日付とか)♥ 0Who liked: No user2021年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日 3:52 PM #849642021年8月20日 4:32 PM #84965‘_display_entry_footer’が true になってないからじゃないですか?
その通りでした! ありがとうございます。
‘_display_entry_meta’ の投稿者だけを消すとはCSSですかね.
17時半からのMTGで希望を確認します!♥ 0Who liked: No user2021年8月20日 4:48 PM #84969結果こうなりました。MTGで詰める予定
本当にありがとうございます。なんとなく感覚がわかって来た
あとはこの連想配列というか、多次元配列というかこの宣言の仕方に慣れるだけですね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_entry_footer'] = true; $args['vars']['_display_prev_next_nav'] = true; // 関連記事を非表示 $args['vars']['_display_related_posts'] = false; } return $args; } ); add_action( 'snow_monkey_get_template_part_args_templates/view/content', function( $args ) { // カスタム投稿タイプ special のとき(カスタマイザーでビューテンプレートを変更している場合は効きません) if ( 'special' === $args['name'] ) { // 投稿日を表示 $args['vars']['_display_entry_meta'] = true; // 前後の記事を表示 $args['vars']['_display_entry_footer'] = true; $args['vars']['_display_prev_next_nav'] = true; // 関連記事を非表示 $args['vars']['_display_related_posts'] = false; } return $args; } );
2021年8月20日 7:28 PM #84976結果的に全部いったん非表示になったので、関連記事の非表示以外はコメントアウトしました
ありがとうございます。とても勉強になりました。
いったん閉じますね♥ 0Who liked: No user2021年8月21日 11:13 AM #85012でもこれは非推奨なのですよね。My Snow Monkeyでのフックが推奨なのですよね
非推奨というのは、Snow Monkey テーマが子テーマに向いていないというわけではなくて、僕が WordPress の子テーマというものを積極的には使わないほうが良いと思っているということです。
むしろ Snow Monkey は子テーマを使いやすいように工夫している(テンプレートを小分けにしたり、デバッグコメントとしてテンプレートの情報を出力するようにしたり)ので、フックでのカスタマイズが苦手な方は子テーマを使うのもありだと思います(個人的には、コードによるカスタマイズが難しいという方は無理にカスタマイズせずに使うほうが安全だとは思いますが)。
まえ、My Snow Monkey内のコードで数行のHTMLを見ましたが、フックかけた場所をごそっとHTMLに入れ替えることも
可能なのですよねまーちゅうさんが書かれていた
snow_monkey_template_part_render_{slug}
とか、snow_monkey_get_template_part_{slug}
でできます。♥ 0Who liked: No user -
投稿者投稿
- トピック「カスタム投稿タイプの記事テンプレート編集」には新しい返信をつけることはできません。