パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい

0
いいねをした人: 居ません
  • このトピックには6件の返信、2人の参加者があり、最後にyururiにより2ヶ月、 1週前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #141618
    yururi
    参加者
    1

    【お使いの 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
    いいねをした人: 居ません
    #141624
    アバター画像キタジマ タカシ
    参加者
    2421

    Snow Monkey に限らず、自作のプラグイン・テーマ以外の、WordPress コア、プラグイン、テーマはファイルを直接編集しないほうが良いです。書かれている通り、更新の際に最新のファイルと置き換わってしまうためです。

    My Snow Monkey と functions.php はほぼ同じものなので、基本的にはコピペするだけで動作するはずですが、動作しないということは My Snow Monkey プラグインが有効化されていない可能性があるかもしれません。

    まずはプラグインの管理画面で、My Snow Monkey プラグインが有効化されているか確認してみてください。

    0
    いいねをした人: 居ません
    #141625
    yururi
    参加者
    1

    ご返信ありがとうございます。
    My Snow Monkey プラグインが有効化を確認いたしました。

    こちらのページ参考にしていたのですが、「保護中:」を削除する下記コードは追加するとこちらは効くのですよね。
    (今回はこちらは必要ないのですが)

    add_filter('protected_title_format', 'remove_protected');
    function remove_protected($title) {
    	return '%s';
    }

    その他、確認する様な事がありましたらアドバイスいただけると助かります。
    お手数お掛けいたしますがよろしくお願いいたします。

    0
    いいねをした人: 居ません
    #141626
    アバター画像キタジマ タカシ
    参加者
    2421

    なるほどです。ということは 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 '〜'

    としてみて、12 が画面に表示されるか確認してみると良いかもしれません。

    0
    いいねをした人: 居ません
    #141644
    yururi
    参加者
    1

    ご返信ありがとうござます。
    教えていただきました内容に沿い変更してみたところ

    ↑このように表示されました。
    こちらから何か分かることがもしありましたら、
    お知らせいただけると助かります。

    お手数お掛けして申し訳ありませんがよろしくお願いいたします。

    0
    いいねをした人: 居ません
    #141645
    アバター画像キタジマ タカシ
    参加者
    2421

    ありがとうございます! 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
    いいねをした人: 居ません
    #141651
    yururi
    参加者
    1

    ご返信ありがとうございます。

    教えていただきましたように変更してみたところ、
    問題なく表示されました。

    ご対応ありがとうございました。

    1
    いいねをした人:
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • トピック「パスワード保護したページのメッセージの変更をfunctions.phpが更新で上書きされないようにMy Snow Monkeyで行いたい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。