-
投稿者投稿
-
2024年9月11日 9:11 PM #141618
【お使いの Snow Monkey のバージョン】
バージョン: 27.0.3
【お使いの Snow Monkey Blocks のバージョン】
バージョン 22.0.0
【お使いの Snow Monkey Editor のバージョン】
バージョン 10.0.4
【お使いのブラウザ】
firefox
【当該サイトのURL】### 実現したいこと
上記サイトでパスワード保護したページのメッセージの変更をfunctions.phpで行っているのですが、更新の際におそらくfunctions.phpが上書きされてしまい戻ってしまったので、My Snow Monkeyで行いたい### 発生している問題
My Snow Monkey にそのままコピペしてみたが反映されない。
現在はfunctions.phpに記述しています。### 試したこと
// 保護ページの説明文を変更 function my_password_form() { if(is_page('3926')){ return '<p class="pass-text01">ネット予約は「かしの木・けやき」 いずれかの施設へ登録に来ていただいた際にお知らせするパスワードでできるようになります。<p> <form class="post_password" action="' . site_url() . '/wp-login.php?action=postpass" method="post"> <input name="post_password" type="password"> <input type="submit" name="Submit" value="' . esc_attr__("送信") . '" /> </form>'; }else{ return '<p>このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。<p> <form class="post_password" action="' . site_url() . '/wp-login.php?action=postpass" method="post"> <input name="post_password" type="password" size="24" /> <input type="submit" name="Submit" value="' . esc_attr__("確定") . '" /> </form>'; } } add_filter('the_password_form', 'my_password_form');
■■■■■■■■
functions.phpに追加した上記のコードをmy-snow-monkey.phpの一番下の行に追加してみたが反映されません。
phpなど詳しくないもので対応ができる様でしたら教えていただけると助かります。♥ 0いいねをした人: 居ません2024年9月12日 2:54 PM #141624Snow Monkey に限らず、自作のプラグイン・テーマ以外の、WordPress コア、プラグイン、テーマはファイルを直接編集しないほうが良いです。書かれている通り、更新の際に最新のファイルと置き換わってしまうためです。
My Snow Monkey と
functions.php
はほぼ同じものなので、基本的にはコピペするだけで動作するはずですが、動作しないということは My Snow Monkey プラグインが有効化されていない可能性があるかもしれません。まずはプラグインの管理画面で、My Snow Monkey プラグインが有効化されているか確認してみてください。
♥ 0いいねをした人: 居ません2024年9月12日 3:19 PM #141625ご返信ありがとうございます。
My Snow Monkey プラグインが有効化を確認いたしました。こちらのページ参考にしていたのですが、「保護中:」を削除する下記コードは追加するとこちらは効くのですよね。
(今回はこちらは必要ないのですが)add_filter('protected_title_format', 'remove_protected'); function remove_protected($title) { return '%s'; }
その他、確認する様な事がありましたらアドバイスいただけると助かります。
お手数お掛けいたしますがよろしくお願いいたします。♥ 0いいねをした人: 居ません2024年9月12日 4:04 PM #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月13日 9:58 AM #141644ご返信ありがとうござます。
教えていただきました内容に沿い変更してみたところ↑このように表示されました。
こちらから何か分かることがもしありましたら、
お知らせいただけると助かります。お手数お掛けして申し訳ありませんがよろしくお願いいたします。
♥ 0いいねをした人: 居ません2024年9月13日 10:45 AM #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いいねをした人: 居ません2024年9月13日 11:24 AM #141651 -
投稿者投稿
- トピック「パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい」には新しい返信をつけることはできません。