フォーラムへの返信
-
投稿者投稿
-
今言われているのは、
https://xxxxx.autosns.app/
のドメインのリンクについてでしょうか?そうだとして、これは LINE の公式ドメインでは無いと思うので、フックを使って独自にカスタマイズしてもらうのが良いかなと思います。
/** * ソーシャルナビゲーションの xxxxx.autosns.app ドメインのリンクを LINE アイコンにする */ add_filter( 'snow_monkey_social_nav_item', function( $new_item_output, $item_output, $args, $item ) { if ( preg_match( '|^https?://([^\.]+?\.)*?autosns\.app?|', $item->url ) ) { $new_item_output = str_replace( $args->link_before, '<i class="fa-brands fa-line"></i>' . $args->link_before, $item_output ); $new_item_output = str_replace( '<a ', '<a data-icon="line" ', $new_item_output ); } return $new_item_output; }, 10, 4 );
現時点可能になっていますでしょうか?
はい、現時点では LINE の公式ドメインである
– https://line.me
– https://lin.eeが対象になっています。
♥ 0Who liked: No user2024年9月13日 10:45 AM 返信先: パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい #141645ありがとうございます! My Snow Monkey プラグイン自体、フックした関数のいずれも正しく実行されていることが確認できました。
で、それをみて思い出したのですが、Snow Monkey は WordPress デフォルトのパスワード保護入力欄のデザインを、同じフィルターフック(
the_password_form
)でカスタマイズしているのでした。だからそのフィルターフックにフックされた関数の実行順によって、効いていないように見える(実際には効いているけど、その次に実行される関数で上書きされている)のだと思います。下記のようにコードを変えてみるとどうでしょうか?
add_filter('the_password_form', 'my_password_form');
↓
add_filter('the_password_form', 'my_password_form', 11);
♥ 0Who liked: No user↑のコードを応用するとどうですかね?
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query']->set( 'orderby', 'modified' ); $args['vars']['_posts_query']->set( 'order', 'DESC' ); // セットしたクエリーをもとに WP_Query をリセット $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); } return $args; } );
♥ 0Who liked: No userSnow Monkey v27.0.4 にアップデートして確認してみてください!
♥ 0Who liked: No user2024年9月12日 4:04 PM 返信先: パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい #141626なるほどです。ということは My Snow Monkey プラグイン自体は正しく実行されているのだと思います。
あとは地道に検証するしかないかなと思うので、例えばmy_password_form
関数が実行されているか確かめるために、function my_password_form() { if(is_page('3926')){ return '〜'
を
function my_password_form() { var_dump( 1 ); if(is_page('3926')){ var_dump( 2 ); return '〜'
としてみて、
1
と2
が画面に表示されるか確認してみると良いかもしれません。♥ 0Who liked: No user2024年9月12日 2:54 PM 返信先: パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい #141624Snow Monkey に限らず、自作のプラグイン・テーマ以外の、WordPress コア、プラグイン、テーマはファイルを直接編集しないほうが良いです。書かれている通り、更新の際に最新のファイルと置き換わってしまうためです。
My Snow Monkey と
functions.php
はほぼ同じものなので、基本的にはコピペするだけで動作するはずですが、動作しないということは My Snow Monkey プラグインが有効化されていない可能性があるかもしれません。まずはプラグインの管理画面で、My Snow Monkey プラグインが有効化されているか確認してみてください。
♥ 0Who liked: No user解決できて良かったです!
解決済みということで、トピックのクローズをお願いします。♥ 0Who liked: No user何か WordPress のメニュー機能に関連する部分で、独自にコードでカスタマイズをしたり、何らかのプラグインでカスタマイズしてたりということはありませんか?
本来オブジェクトであるべき部分が配列になっていて、それでプロパティにアクセスできない、というエラーに見えます。
nav_menu_item_title
とかwalker_nav_menu_start_el
とか、メニュー関連のフィルターフックは$args
というオブジェクト型の引数が渡されるのですが、なぜかそこが配列になっているっぽいので、カスタマイズの影響でオブジェクトが配列になっているという可能性はあるのかなと…。あと、念の為、下記の場合にどういう出力がされるか教えていただけると助かります。
snow-monkey/app/setup/nav-menus.php
のadd_filter( 'nav_menu_item_title', function ( $title, $item, $args, $depth ) { $show_description = 0 === (int) $depth && 'global-nav' === $args->theme_location;
を
add_filter( 'nav_menu_item_title', function ( $title, $item, $args, $depth ) { var_dump( $args ); $show_description = 0 === (int) $depth && 'global-nav' === $args->theme_location;
に変更
♥ 0Who liked: No user現状、SEO パネルは、その投稿タイプが「カスタムフィールド」をサポートしている場合にのみ表示されるようになっています。
↑のページでいう
supports
のcustom-fields
です。まずはそこが有効化されているかを確認してみてください。
♥ 0Who liked: No userjQuery
とwp
が無いというエラーがでているみたいですね。wp
はブロックエディターの根幹なので、これがないとエディターが全く使えなくなります。Snow Monkey 側で
wp
をどうこうはしていなかったと思うので、プラグインか追加しているコード、あるいはサーバー側に高速化の設定があるならそういうところが気になります。エラーが発生したときに、デベロッパーツールの「ネットワーク」タブを開いて、どのパスのjQuery
やwp
を参照しようとしているのか、あるいは参照自体していないのか、また、他にどういうパスのファイルを参照しようとしているのかを調べると、何かヒントがあるかもしれません。良かったです!
再保存せずにちゃんと表示できるように修正できたらまた書き込みます。
♥ 0Who liked: No userルートで表示するように変更したところ、カスタム投稿のアーカイブページからの検索結果が表示されるようになりました。
ありがとうございます!やはりサブディレクトリだとだめみたいですね…。
テンプレートに home.php が使われているのを確認していますので、 Snow Monkey Search が動作する「ブログのトップ(home)」という事のはずだと思うのですが、認識は合っていますでしょうか。
あっています!
いくつかの環境で試していたところ、再現できたので調査してみました。検索ボックスの設定の「投稿タイプ」のところを、一度「投稿」以外に変えて保存し、再度「投稿」に戻すと表示されるようになりました。
検索フォームを新規作成したときに「投稿タイプ」がデフォルトで「投稿」になっているのでそのまま作成されたのだと思います。まだなぜかはわかりませんが、どうもそれだとちゃんと home に表示されないみたいです。これから詳しく調査し、修正を入れていきます。
ひとまず、前述の方法で表示されるようになるか試してみてください!
-
投稿者投稿