フォーラムへの返信
-
投稿者投稿
-
ひとまず、公開日と更新日のどちらを出すか選べるようにしてみようかなと思います。
♥ 0いいねをした人: 居ませんあーデフォルトでは更新日は無いですね。公開日は消して、更新日を追加で出したいということですか? それとも公開日はそのままで更新日も出したい?
♥ 0いいねをした人: 居ません今言われているのは、
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が対象になっています。
♥ 0いいねをした人: 居ません2024年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);
♥ 0いいねをした人: 居ません↑のコードを応用するとどうですかね?
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; } );
♥ 0いいねをした人: 居ませんSnow Monkey v27.0.4 にアップデートして確認してみてください!
♥ 0いいねをした人: 居ません2024年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
が画面に表示されるか確認してみると良いかもしれません。♥ 0いいねをした人: 居ません2024年9月12日 2:54 PM 返信先: パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい #141624Snow Monkey に限らず、自作のプラグイン・テーマ以外の、WordPress コア、プラグイン、テーマはファイルを直接編集しないほうが良いです。書かれている通り、更新の際に最新のファイルと置き換わってしまうためです。
My Snow Monkey と
functions.php
はほぼ同じものなので、基本的にはコピペするだけで動作するはずですが、動作しないということは My Snow Monkey プラグインが有効化されていない可能性があるかもしれません。まずはプラグインの管理画面で、My Snow Monkey プラグインが有効化されているか確認してみてください。
♥ 0いいねをした人: 居ません解決できて良かったです!
解決済みということで、トピックのクローズをお願いします。♥ 0いいねをした人: 居ません何か 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;
に変更
♥ 0いいねをした人: 居ません現状、SEO パネルは、その投稿タイプが「カスタムフィールド」をサポートしている場合にのみ表示されるようになっています。
↑のページでいう
supports
のcustom-fields
です。まずはそこが有効化されているかを確認してみてください。
♥ 0いいねをした人: 居ません -
投稿者投稿