-
投稿者投稿
-
2019年5月20日 7:51 PM #15913
トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。
【お使いの Snow Monkey のバージョン】v6.0.0 ベータ4
【お使いのブラウザ】Safari
【当該サイトのURL】ローカルテスト環境===
‘snow_monkey_get_template_part_template-parts/loop/entry-summary’
を掛けた場合、slug-nameに該当するようになったので、今までのままであればもしかしたらフックが掛からなくなったのか…と。
この場合って、どう判断させてカスタマイズするのが良いのか悩んでます。
(slugの判断を思い切り何かすれば出来ると思いますが、影響範囲が大きいので簡易的に済ませたい)該当のカスタマイズしてるコードを下記に書いておきます。
レイアウトに「オリジナル」を加える変更をしてますが、フックが通らなくなってるっぽいです。
(多分、この部分が問題と思いますが、足りなければ言ってください)add_filter( 'snow_monkey_get_template_part_template-parts/loop/entry-summary', [ $this, '_entry_summary' ], 10, 2 ); function _entry_summary( $_name, $_vars ) { $_is_removed = remove_filter( 'snow_monkey_get_template_part_template-parts/loop/entry-summary', [ $this, '_entry_summary' ], 10 ); if ( $_is_removed ) { $_layout = \Framework\Helper::get_var( $widget_layout, get_theme_mod( get_post_type() . '-entries-layout' ) ); if ( is_archive() && $_layout === 'original' ) { ob_start(); \Framework\Helper::get_template_part( 'customize/entry-summary', $_name, $_vars ); $_html = ob_get_clean(); } else { ob_start(); \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary', $_name, $_vars ); $_html = ob_get_clean(); } echo $_html; add_filter( 'snow_monkey_get_template_part_template-parts/loop/entry-summary', [ $this, '_entry_summary' ], 10, 2 ); } }
♥ 0いいねをした人: 居ません2019年5月20日 11:12 PM #15915すみません、やり方が悪かったようで、フック処理されていました。
ちょっと構成を合わせると処理されたのですが、何が原因なのかちょっと不明で調べると…\Framework\Helper::get_template_part( ‘テンプレート名’, $name, $vars );
を省略して書いてもv5の時は意外と行けていたのが$nameと$varsを渡さないとかなり多くの問題が起こるようになっている…って感じですね。
もし、カスタマイズで$nameと$varsを省略して使っているならv6では入れるようにした方が良いと思われます。また、entry-summaryのtitleなどを分けた形で修正もしないと駄目だった様子。
そう考えると、オリジナルレイアウトとかも、v6とv5での互換が無いと思えます。と言う感じがします。
とりあえず問題は解決したのでクローズしますが、これまでのget_template_part部分を略してた場合には、カスタマイズに結構影響が及ぶ…って解りました。(結構、辛い♥ 0いいねをした人: 居ません2019年5月21日 8:25 AM #15925\Framework\Helper::get_template_part( ‘テンプレート名’, $name, $vars );
を省略して書いてもv5の時は意外と行けていたのが$nameと$varsを渡さないとかなり多くの問題が起こるようになっている…って感じですね。
もし、カスタマイズで$nameと$varsを省略して使っているならv6では入れるようにした方が良いと思われます。「多くの問題」というのは例えばどういうものでしょう?
remove_filter
できないとかテンプレートが読み込まれないとかですかね? フックに関してはこれまで動いていたものが動かなくなるのであればバグとして修正したほうが良いと思うので、詳しく知りたいです。♥ 0いいねをした人: 居ません2019年5月21日 10:34 AM #15936> 「多くの問題」というのは例えばどういうものでしょう?
> remove_filter できないとかテンプレートが読み込まれないとかですかね?remove_filterは全部出来たのを確認済みです。
(思い切りほとんどのテンプレートに対してフック掛けて調べた結果問題なさそう)さっき調べてみたんですが、めっちゃ勘違いしていました。
多分、こちらでレイアウト追加を無理矢理していたのが原因です…。レイアウトにoriginalを追加……みたいなのとか色々追加をしていた所が、
entry-summaryの構造がv6から変更と言う事で、
各要素のmeta-post.phpとかが、v6のテーマ元を読んでしまうようになってしまってたようです。
(その形で、適切にoriginalのレイアウト構造が当たらなくなっていた、または一部が当たっていたりCSSが掛かって、デザインがおかしくなってしまったとか色々)
って感じのようでした。
(また、多分、get_template_partに$nameとか与えないと、entry-summary内で各要素を取るようになったので、その処理をするget_post_typeなどが取れなくなる為か、何か動作に違いを出してしまうか、何かが起こったのかも)「多くの問題」と言って、すみません。そんなに問題なかったようです。
また、レイアウトのオリジナル追加とかやってるのは私だけと思うので、気にしないでください。レイアウトのオリジナル追加自体が結構無理矢理な部分もあるので、この辺はもう…サポート外で良いかもです。
(いつか、簡単にレイアウト追加できる仕組み考えたいですが…)♥ 0いいねをした人: 居ません2019年5月21日 10:44 AM #15939あーなるほど。下記の投稿と似ているかもですが、テンプレートを細かくわけたのは、その部分だけ書き換えたい、に対応するためなので、entry-summary の中身をほぼまるっと書き換えるのであれば、無理に分割せずに
.c-entry-summary__header
や.c-entry-summary__meta
も1つのテンプレート内に書いちゃったほうが良いかなと思います。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「v6ベータでのentry-summaryに対するフック」には新しい返信をつけることはできません。