フォーラムへの返信
-
投稿者投稿
-
ぐわーほんとですね。正確にどの段階かはわかりませんが、リンク要素に自動的に
rel="noopener noreferrer
が追加されるために保存されてる HTML と違う!ということで壊れてしまうみたいです。この変更が影響しているような気がしますが、どう対処したら良いのかまだわからないので、調査してみますね。
♥ 0Who liked: No user解析タグとか、body の最初に入れてくださいというものがちょいちょいあるので、そのためのフックとして入れています。
アクションフックは入れやすいので、もしコンテンツ入れる用にこの辺にアクションフックがあったほうが良いとかがあれば言ってください!
♥ 0Who liked: No user明確に提示しているわけではないのですが、一応 Snow Monkye の各テンプレートファイルは
- レイアウトファイル (templates/layout)
- ビューファイル (templates/view)
- それ以外のテンプレート (いわゆるテンプレートパーツ、基本的には template-parts の中)
と分類されています。そして、
Helper::get_template_part
やget_template_part()
で呼び出すのはテンプレートパーツを想定しています。なのでレイアウトファイルやビューファイルをそれらの関数で呼び出したときにエラーになるのはあえて特に対策をしていません。ご提案のとおり、なんとかやればなんとかなるのかもしれませんが、それで複雑になるとメンテも難しくなっていくので、そうなっているほうがなんとなく便利くらいであれば、現状のままのほうが良いかと思います。
♥ 0Who liked: No userぐわーそうか、そういうパターンもありますね。。修正します。
♥ 0Who liked: No userいずれのウィジェットにも記事の表示条件を変更できるフックがあります。下記のトピックを参照してください。
「WPAW:最近の投稿」については、デフォルトで表示する投稿タイプを選択できるようになっています。「WPAW:最近の投稿」の設定パネルの「投稿タイプ」のところを適当に切り替えてみてください。
カスタムフィールドの内容を表示することは可能でしょうか。
これはちょっと大変かも…です。一応できないことはなくて、「WPAW:最近の投稿」の場合は
snow-monkey/vendor/inc2734/wp-awesome-widgets/src/widget/recent-posts/_widget.php
を、子テーマ/templates/widget/recent-post.php
にコピペすると、recent-post.php
ファイルが表示時に使われるようになるので、そのrecent-post.php
をカスタマイズしてカスタムフィールドの内容が表示されるようにすれば良いです。「Snow Monkey:最近の投稿」の場合は
snow-monkey/app/widget/snow-monkey-recent-posts/_widget.php
を、子テーマ/templates/widget/snow-monkey-recent-posts.php
にコピペです。♥ 0Who liked: No userこちらの環境にコピペして試してみたところ、
display: flex
もcolor: #ccc
も反映されていました。つくりによっては詳細度の問題がでるのかもしれないので、.wpaw-showcase .wpaw-showcase__lead{display: flex;} .wpaw-showcase .left{color: #ccc;} .wpaw-showcase .right{color: #000;}
みたいな感じで詳細度を上げてみるとどうでしょうか?あと、ブラウザのデベロッパーツールで CSS が適用されているか、また、追加 CSS に書いた CSS がそのページの head の中にちゃんと出力されているか確認してみてください。
♥ 0Who liked: No userあ、なんというか、そういうことをしないといけないシチュエーションが思い浮かばない…という感じでして。単純に中でテンプレートを呼びだしたいだけだとしたら、
add_filter( 'snow_monkey_get_template_part_template-parts/common/infobar', function( $name, $vars ) { ob_start(); \get_template_part( 'template-parts/common/infobar' ); $html = ob_get_clean(); echo $html; }, 10, 2 );
のように、コアの
get_template_part()
を使うのはどうでしょう?♥ 0Who liked: No userプラグインを幾つも作った際に、
snow_monkey_template_part_root
のフックを掛けちゃうと、Rootの取り合いになっちゃう為に上手く動作しなくなっちゃうから、配布するとか拡張目当ての共通プラグインでは使わないようにする等の注意は必要かなと思ったりしています。ぐわーそうか、もともと「子テーマの代替」で考えていたので、ちょっとそこ配慮が不足していました。単一のルートを返すのではなく、配列にして、そのルートにあれば使う、なければ次のルートを使う、みたいなフックのほうが良さそうですね。いまさら
snow_monkey_template_part_root
を変更するとちょっと影響が大きそうなので、別なフックを追加する等で良い感じにできないか試行錯誤してみます。slug などで分岐はできるのですが、同じテンプレートの場合は、優先度が高い低い関係なく最後に設定された return の値に合わせられてしまいますよね?
ですね。フックは一般的には優先度が高いものほど後で実行されるだったかなと思います。
また、
Helper::get_template_part
でフックしている template_parts を呼び出すと、その呼び出したテンプレートが同 filter をフックをしている場合は、無限ループに陥るので、それもremove_filter
で消したりする必要があるようなのですが、remove_filter
って無名関数とか使えない(?)ので、ちょっとそこだけ別 function で記述するなど、ややスムーズにならないーとか考えてしまっています…。ちょっと「また、Helper::get_template_partでフックしているtemplate_partsを呼び出すと、その呼び出したテンプレートが同filterをフックをしている場合は、無限ループに陥る」を具体的に想像できなかったのですが、確かに
remove_filter()
は無名関数消せないですね…。♥ 0Who liked: No userSnow Monkey v5.1.2 で修正してみました。どうでしょうか?
♥ 0Who liked: No userSnow Monkey v5.1.2 から、
View
にget_layout()
、get_view()
、get_view_suffix()
の3つのメソッドを追加しました。♥ 0Who liked: No userSnow Monkey v5.1.2 で修正しました。
♥ 0Who liked: No user言われてみて、確かにプラグイン版の
get_template_part()
みたいなのを Snow Monkey に持たせておけば、各アドオン間でビューの呼び出し方法を共通化できるし共通のカスタマイズ手法も提供できるので良いかなと思ったのですが、とはいえテーマの範疇でもないきがして、ちょっと悩むところですね。テーマに持たせずに小さな composer のライブラリとしてつくって、各アドオンでそれを使うというのはアリかもなと思ったり…。
Member Postの方は、多分このフィルターで出来るのかなと思ったのですが、
です! Snow Monkey Member Post v1.1.6 で正しい綴りに修正しました。間違った綴りにあわせてフックさせている場合は変更してください!
♥ 0Who liked: No userv1.1.6 で修正しました!
♥ 0Who liked: No userあー、ページを more で分割して表示するときに
wp_kses_post()
を通しているのですが、そのときにチェックボックスが消えちゃってるみたいですね。ちょっと修正いれます!♥ 0Who liked: No userSnow Monkey Member Post v1.1.5 で修正してみましたがどうでしょうか?
♥ 0Who liked: No user -
投稿者投稿