メインコンテンツへ移動

function.phpに記述すると機能するコードが、my snow monkeyに記述しても効かない

0
Who liked: No user
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #145513
    アバター画像fuumy
    参加者
    2

    【お使いの Snow Monkey のバージョン】25.4.7
    【お使いの Snow Monkey Blocks のバージョン】24.0.4
    【お使いの Snow Monkey Editor のバージョン】11.0.2
    【お使いのブラウザ】Google Chrome

    ### 実現したいこと

    WooCommerceのアカウントログイン画面に、プラグイン「SiteGuardWP」から生成される画像認証を表示させるために、以下のコードを機能させたい。

    if ( isset( $siteguard_captcha ) ) {
    add_filter( ‘woocommerce_login_form_start’, [ $siteguard_captcha, ‘handler_login_form’ ] );
    add_filter( ‘woocommerce_register_form_start’, [ $siteguard_captcha, ‘handler_register_form’ ] );
    add_filter( ‘woocommerce_lostpassword_form’, [ $siteguard_captcha, ‘handler_lostpassword_form’ ] );
    }

    ### 発生している問題

    上記コードをmy snow monkeyに記述しても効かない。
    (他に記述しているコードも幾つかありますが、それらは効いています)

    ### 試したこと

    試しにテーマのfunction.phpに記述してみたら効きました。

    何か初歩的なミスなのではと思うのですが…何かヒントをいただければ幸いです。

    0
    Who liked: No user
    #145515
    アバター画像キタジマ タカシ
    参加者
    2590

    テーマの functions.php よりプラグインのほうが早いタイミングで読み込まれるので、My Snow Monkey が読み込まれたタイミングでは $siteguard_captcha が未定義だけど、テーマが読み込まれたタイミングでは $siteguard_captcha が定義済みである、ということではないでしょうか。

    という想定でいくと、テーマが読み込まれたあとに発火するアクションフック after_setup_theme か、全プラグインが読み込まれたあとに発火するアクションフック plugins_loaded あたりでコードを実行するとよいのではないでしょうか?(SiteGuard WP には詳しくないので動くかはわかりませんが、このあたりをヒントに試してみてください)

    add_action(
    	'after_setup_theme',
    	function () {
    		if ( isset( $siteguard_captcha ) ) {
    			add_filter( 'woocommerce_login_form_start', [ $siteguard_captcha, 'handler_login_form' ] );
    			add_filter( 'woocommerce_register_form_start', [ $siteguard_captcha, 'handler_register_form' ] );
    			add_filter( 'woocommerce_lostpassword_form', [ $siteguard_captcha, 'handler_lostpassword_form' ] );
    		}
    	}
    );
    0
    Who liked: No user
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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