フォーラムへの返信
-
投稿者投稿
-
2024年12月13日 9:53 PM 返信先: Snow Monkey Archive Content 1.2.5を有効にすると管理画面のプラグインページ(/wp-admin/plugins.php)を開こうとするとエラーが出て開けない #143224
検証ありがとうございます。
REST API化でそんな影響があるんですね。
了解しました。
アップデート版が出ましたら、試させていただきます。
♥ 0いいねをした人: 居ませんご確認ありがとうございます。
そうなんですね。なんでなんでしょうね。
一応、WordPress 6.7.1まで上げてもSnow Monkey Forms 8.0.0は機能して9.0.3は機能しなかったので、
コアの変更との相性でもなさそうですね。カスタマイズで使っているフィルターフックは、
snow_monkey_forms/custom_mail_tag
で他のタグも作っているのと
snow_monkey_forms/validator/error_message
でエラーメッセージの書き換えをやっているくらいで、
snow_monkey_forms/auto_reply_mailer/is_sended
や
snow_monkey_forms/administrator_mailer/skip
は使っていませんでした。お手数ですが、よろしくお願いします。
♥ 0いいねをした人: 居ません今、GitHubのリリース(https://github.com/inc2734/snow-monkey-forms/releases)を最新から遡っていって、8.0.0では機能して、9.0.0になると機能しなくなるのを確認しました。
何か分かりますでしょうか?
♥ 0いいねをした人: 居ません古すぎて参考にならないかもですが、
古いデータを復元して確認したところ、
Snow Mokey Formsのバージョンが、6.5.1の時は
「{user_email} でフォームを送信した WordPress ユーザーのメールアドレスを返す」
「{username} でフォームを送信した WordPress ユーザーのユーザー名を返す」
が動いているのを確認しました。
別のバージョンをダウンロードして、どこまで動いていたか確認します。♥ 0いいねをした人: 居ませんバラバラ書いてしまってすみません。
全部、意図通り動いてないのはその通りです。
「{user_email} でフォームを送信した WordPress ユーザーのメールアドレスを返す」
「{username} でフォームを送信した WordPress ユーザーのユーザー名を返す」が、動かなくなってしまっているのに気が付いて、
「ログインユーザーの名前を取得するカスタムメールタグ」
「ログインユーザーのメールアドレスを取得するカスタムメールタグ」に書き直してみたのですが、
それは以前相談させていただいたときにうまく動かないと教えていただいたコードと同じだったので、
追加いただいたメソッドに対応した「{user_email} でフォームを送信した WordPress ユーザーのメールアドレスを返す」
「{username} でフォームを送信した WordPress ユーザーのユーザー名を返す」に戻して確認したが、やはり動かず困っているという状態です。
♥ 0いいねをした人: 居ませんその時に動いていたコードを貼っておきます。
/** * {user_email} でフォームを送信した WordPress ユーザーのメールアドレスを返す */ add_filter( 'snow_monkey_forms/custom_mail_tag', function ($value, $name, $responser) { if ('user_email' === $name) { $meta = $responser->get_meta(); // フォームのメタ情報とフォーム送信者の情報を持った Meta クラスを取得 if ($meta) { $user = $meta->get_sender(); // フォーム送信者の情報(WP_User)を取得 return $user->user_email; } } return $value; }, 10, 3 ); /** * {username} でフォームを送信した WordPress ユーザーのユーザー名を返す */ add_filter( 'snow_monkey_forms/custom_mail_tag', function ($value, $name, $responser) { if ('username' === $name) { $meta = $responser->get_meta(); // フォームのメタ情報とフォーム送信者の情報を持った Meta クラスを取得 if ($meta) { $user = $meta->get_sender(); // フォーム送信者の情報(WP_User)を取得 return $user->user_login; } } return $value; }, 10, 3 );
♥ 0いいねをした人: 居ません先ほどの投稿に補足させていただきます。
過去に質問させていただ下記で回答いただいたメソッドを使っていて、機能していたのですが、いつのバージョンからかちょっと分からないのですが、最新バージョンでうまくいかないという状態です。
♥ 0いいねをした人: 居ませんありがとうございます。
よろしくお願いします。
♥ 0いいねをした人: 居ません試していただきありがとうございます。
何かやり方があるので、僕の書き方がおかしいのかなと思っていたので、
とりあえず、現状できなさそうというのが分かって良かったです。
使いどころとしては、
会員サイトでログインユーザーが、メッセージだけ入力して問い合わせフォームを送る時に、ユーザーのメールアドレスなどの情報が取得できると良いなと思ってやっていました。
現状、解決不可ということでトピックを閉じさせてもらいますね。
ありがとうございます。
♥ 0いいねをした人: 居ません返信ありがとうございます。また実装いただけたら嬉しいです。
ちなみに使いたかった場所は、「募集中」と言うカテゴリを作って一覧を表示した時に、何もイベントがないときに「募集中のイベントはありません」と表示できると嬉しいなと思った次第でした。
ご参考までに。
♥ 0いいねをした人: 居ません早速の回答ありがとうございます。
いただいたコードのように書いたら、うまいいきました。
ありがとうございます。
♥ 0いいねをした人: 居ません -
投稿者投稿