質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

1934閲覧

MW WP Form で送信完了画面から一瞬でフォームに戻ってしまう

casanova

総合スコア17

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2020/11/18 09:47

WordPress で MW WP Form を使用しております。
1.フォーム入力画面→2.確認画面→3.送信完了画面 の流れで遷移するのですが、
送信完了画面に遷移した際、一瞬(ちらっと見える程度)で1の入力画面にリダイレクトされてしまいます。
完了画面を表示して完了(リダイレクトしない)を目指しておりますが、できませんでしたので質問させていただきました。

■用意・設定したもの
それぞれのページは、
フォーム入力画面を /contact
確認画面を /confirm
送信完了画面を /complete
の内容で固定ページで用意しております。

MW WP Form の「URL設定」の / の有る無しは統一しました。
パーマリンク設定は /%postname% です。
入力・確認・完了全てに同じショートコード [mwform_formkey key="5"] を入れております。

■疑わしい箇所
原因だと思われる箇所は、下記のアクションフックです。
add_action( 'mwform_after_send_mw-wp-form-5', 'fileio_mwform_after_send' );

fileio_mwform_after_send の内容はファイルを読み書きする程度です。
(サーバー上にあるテキストファイルに情報を書き込む処理、最大5ファイル)

・具体的な処理内容の抜粋
$key = 'xxxxxx';
$encString = 'xxxxx';
$cStr = openssl_encrypt( $encString, 'AES-128-ECB', $key );
file_put_contents( "/home/xxx/xxx.com/test.log", $cStr );

このアクションフックの処理はエラーなく処理が完了します。
試しにこのアクションフックを無効にしたところ、完了画面からのリダイレクトはなくなりました。

このアクションフックを生かしたまま、完了画面からリダイレクトさせない方法をご教授頂けると助かります。
よろしくお願い致します。

■環境
Xserver
WordPress 5.5.3
MW WP Form 4.3.2(最新版)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ファイルを書き出す下記のコードをコメントアウトすると、問題なく動作しました。

file_put_contents( "/home/xxx/xxx.com/test.log", $cStr );
この処理は正常に動作していました。

この処理が何らかの干渉をしているようです。
ちなみに、file_put_contents ではなく wp-admin/includes/file.php を使ったファイル操作を試しても改善しませんでした。

処理を残したままリダイレクトさせないことは実現できませんでしたが、別の方法で実装を目指します。
ありがとうございました。

投稿2020/11/20 00:28

casanova

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問