フォーラムへの返信
-
投稿者投稿
-
@mihashinoriyuki さん
Snow Monkey Forms にsnow_monkey_form/setting/session-name
というフィルターフックってありましたっけ?
なぜこのコードで解決できるのか興味があるので良かったら教えてください!♥ 0Who liked: No userそのファイルだけということなら権限が怪しいですかね?
Cursor は使ったことがないのでわかりませんが、アップデートに失敗したタイミングで何らかのログがでるのではないでしょうか? Filezilla ならメッセージログのエリアにログが表示されます。
My Snow Monkey プラグインは中のファイルに何らかの制限をかけるようなことはしていないピュアな空のプラグインなので、ローカルファイルの権限、ツールの設定、サーバー側の設定(権限その他)を確認していくのが良いのかなと思います。
♥ 0Who liked: No userんーーそうですね、トランジェントキャッシュの名前はそれであっているので削除された後、再度チェックしてキャッシュされるはずです。でも無効になっているように見えますね…。
ちょっと直接見てみないとわからなさそうなので、WordPress のアカウントと、FTP などサーバー接続できるアカウントを発行いただき、直接サイトを確認させていただくことは可能でしょうか?
♥ 0Who liked: No user最後の2行の文字列は送信されたトークンと保存されているトークンで、ここが一致しないと不正なアクセスと判定されてしまいます。
wpX Speed だと、サーバーキャッシュの設定があるようですが、これは有効になっていますかね?もし有効になっている場合、詳しい仕様がわからないので何ともなのですが、例えば PHP の出力もキャッシュするような仕様の場合はエラーになる可能性があるかもしれません。なので有効にしている場合は無効にして確認をお願いします。
♥ 0Who liked: No userDM 拝見しました!気づくのが遅くなってしまいすみません。サブスクも問題なく「有効」状態でした。認証チェックはテーマ側で1日間キャッシュするようになっているので、何らかの原因で偶然認証チェックが失敗したタイイングでキャッシュしてしまっている可能性もありえるなと。
なので、下記のコードをテーマの
functions.php
か My Snow Monkey プラグインに一時的に貼り付けてみて、正しいライセンスキーが画面に出力されるか確認してみてください。add_action( 'after_setup_theme', function() { $license_key = \Framework\Controller\Manager::get_option( 'license-key' ); if ( current_user_can( 'administrator' ) ) { var_dump( $license_key ); } // 認証のキャッシュを削除 $transient_name = 'snow-monkey-license-status-' . $license_key; delete_transient( $transient_name ); } );
ぱっとみた感じではページキャッシュの問題ではなさそうなので、とりあえずは地道に検証するしか無い気がします。無効なアクセスかどうかの処理をしている部分にログ出力を仕込んで、どのような値で処理が実行されているかを確認してみてください。
下記の変更を入れてからフォームの送信を実行することで、サーバーのエラーログにログが記録されます。
plugins/snow-monkey-forms/App/Model/Csrf.php
のpublic static function validate( $posted_token ) { if ( ! $posted_token ) { return false; } if ( ! preg_match( '|^[a-z0-9]+$|', $posted_token ) ) { return false; } $cookie_token = static::saved_token(); return ! is_null( $cookie_token ) && ! is_null( $posted_token ) && hash_equals( $cookie_token, $posted_token ); }
を
public static function validate( $posted_token ) { error_log( "validate:\n" ); error_log( $posted_token . "\n" ); if ( ! $posted_token ) { return false; } if ( ! preg_match( '|^[a-z0-9]+$|', $posted_token ) ) { return false; } $cookie_token = static::saved_token(); error_log( $cookie_token . "\n" ); return ! is_null( $cookie_token ) && ! is_null( $posted_token ) && hash_equals( $cookie_token, $posted_token ); }
に変更。
public static function validate_referer() { // phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $referer = isset( $_SERVER['HTTP_REFERER'] ) ? wp_unslash( $_SERVER['HTTP_REFERER'] ) : false; // phpcs:enable $homeurl = untrailingslashit( home_url( '/' ) ); return 0 === strpos( $referer, $homeurl ); }
を
public static function validate_referer() { error_log( "validate_referer:\n" ); // phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $referer = isset( $_SERVER['HTTP_REFERER'] ) ? wp_unslash( $_SERVER['HTTP_REFERER'] ) : false; error_log( $referer . "\n" ); // phpcs:enable $homeurl = untrailingslashit( home_url( '/' ) ); error_log( $homeurl . "\n" ); return 0 === strpos( $referer, $homeurl ); }
に変更。
—
あ、あと、Snow Monkey Forms のバージョンもお願いします!
♥ 0Who liked: No userヘッダーのサイトロゴは内部的には
the_custom_logo()
→get_custom_logo()
を使っているのですが、get_custom_logo()
の中にはget_custom_logo_image_attributes
というフィルターフックがあるみたいなのでこれも使えそうな気がします。情報は登録されているけど自動入力しない設定になってました…。
試してみたところ、[↑][↓]で自動入力項目を選択して、[Enter]で自動入力されました。そして下の例だと名前が読み上げられました。
で、[Tab] で移動すると、住所と電話番号も同じ形で読まれました。ただ、間違ってページの適当なところをクリックしてしまい、しまったと思いすぐに [Tab] でフォーカスすると、入力項目にフォーカスがあたっているのに、ぜんぜん違う読み上げ(どこのページにいる的な)をしていました。
僕は使いこなせていないのでよくわからないのですが、操作方法によって読んだり読まなかったりというのがあるのかもしれません…。
♥ 0Who liked: No user僕の Chrome には僕の住所情報を登録しているのですが、フォームを開いても電話番号などが自動入力されません(TT)
この辺疎くて全然わからなくて申し訳ないのですが、どうやったら自動入力されるのでしょうか…♥ 0Who liked: No user試してみました。
aria-label="サイドバー"
と入れて、[Control] + [Option] + [→] と移動していくと、サイドバーのエリアにきたときに「サイドバー、補足」と読まれました。まーちゅうさんがシェアしてくれた記事の中にあるように、既に<aside class="..." role="complementary">
という形でマークアップしているので重複して読まれるみたいです。aria-label="サイドバー"
が無くても「補足」と読み上げられるので、特に無くても良いのかな?と思ったのですがどうでしょうか?—
ちなみに、タブ移動だとリンクを対象に移動して、
<aside>
は飛ばされるので、aria-label="サイドバー"
を入れたとしても読み上げられませんでした。♥ 0Who liked: No user入力しなかったら表示されなくならないですかね?
♥ 0Who liked: No user↑のコードは全部消して、下記のコードを貼り付けるとどうでしょうか?
add_filter( 'snow_monkey_get_template_part_args_template-parts/content/related-posts', function( $args ) { $args['vars']['_posts_query']->set( 'suppress_filters', false ); $args['vars']['_posts_query']->set( 'lang', get_locale() ); $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); return $args; } );
-
投稿者投稿