WPFormsは WordPress 人気コンタクトフォームのプラグインでは、現在、400万を超える WordPressにインストールされて使用されています。 訪問者がWPForms問い合わせフォームを提出したとき KBoardも自動的に投稿されるようにしたい場合は、以下で紹介するコードを使用することができます。
WordPress WPForms問い合わせ文を KBoardに自動的に公開する

単に示す目的のために Contact Form 7から提出されたデータをフロントエンドに表形式で表示したい場合には、 "WordPress Contact Form 7のデータを表示する」で紹介する方法を使用することができます。これにより、次の映像のようにKboard掲示板をインストールする必要がなく、Contact Form 7のデータを表形式で表示することができます。
WPForms問い合わせ文を KBoardに自動的に登録するコード(WPFormsと KBoard 連動)
ユーザーがWPForms問い合わせフォームを介してデータを送信すると、データが送信されます。 有料版では、DBにも、データを保存して、管理者ページで確認することもできます。
また、 WPForms有料版を使用すると、提出されたデータを KBoard 掲示板に投稿に自動的に発行されるようにしたり、ユーザーが作成したDBテーブルにデータを保存することもできます。
WPForms有料版を使用している場合は、次のコードを使用してお問い合わせデータを KBoardに投稿に自動的に発行されるようにすることができます。 WPForms Liteバージョンでは、エラーが発生します。
// WPForms 데이터를 KBoard 게시글로 자동 게시하기
function wpf_dev_process_complete( $fields, $entry, $form_data, $entry_id ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #5.
if ( absint( $form_data['id'] ) !== 22749 ) {
return;
}
global $wpdb;
// Get the full entry object
$entry = wpforms()->entry->get( $entry_id );
// Fields are in JSON, so we decode to an array
$entry_fields = json_decode( $entry->fields, true );
// Check to see if user selected 'yes' for callback
$formtitle = $entry_fields[19]['value'];
$yourname = $entry_fields[0]['value'];
$yourphone = $entry_fields[9]['value'];
$youraddress = $entry_fields[11]['value'];
$yourwebsite = $entry_fields[13]['value'];
$shippingmethod = $entry_fields[16]['value'];
$yourpwd = $entry_fields[17]['value'];
$current_date = date("YmdHis", current_time('timestamp'));
$thiscontent = $entry_fields[2]['value'];
$main_content = '<table width="100%" border="1" cellspacing="0" cellpadding="6" BORDERCOLOR="#E8E8E8">
<tr>
<td width="23%">제목</td>
<td width="77%">' . $formtitle . '</td>
</tr>
<tr>
<td width="23%">이름</td>
<td width="77%">' . $yourname . '</td>
</tr>
<tr>
<td>전화번호</td>
<td>' . $yourphone . '</td>
</tr>
<tr>
<td>주소</td>
<td>' . $youraddress . '</td>
</tr>
<tr>
<td>웹사이트</td>
<td>' . $yourwebsite . '</td>
</tr>
<tr>
<td>방법</td>
<td>' . $shippingmethod . '</td>
</tr>
<tr>
<td>문의 내용</td>
<td>' . $thiscontent . '</td>
</tr>
</table>';
$table_name = $wpdb->prefix . "kboard_board_content";
$wpdb->insert( $table_name, array( 'board_id' => 4, 'member_display' => $yourname, 'password' => $yourpwd, 'title' => $formtitle, 'content' => $main_content, 'parent_uid' => 0, 'category1' => false, 'date' => $current_date, 'update' => $current_date, 'member_uid' => 0, 'comment' => 0, 'vote' => 0, 'like' => 0, 'unlike' => 0, 'secret' => true, 'view' => 0, 'thumbnail_file' => false, 'thumbnail_name' => false, 'category2' => false, 'search' => 1, 'notice' => false, 'status' => '') );
return;
}
add_action( 'wpforms_process_complete', 'wpf_dev_process_complete', 10, 4 );
上記のコードは、例示に過ぎず、WPFormsフォームIDと、各フィールド名 KBoard 掲示板ID等を適切に変更して、アプリケーションしてください。 WordPressを少し知っていれば、上記のコードを簡単に適用することができるので、上記のコードでは、別の説明はしません。
上記のコードは、最新のバージョンで動作していることをチェックしていなかったが、上記のコードで使用されたフック(Hook)をWPFormsで変更しない場合は、問題なく動作します。
WordPress コンタクトフォームプラグイン(Quform、Contact Form 7、WPForms、Gravity Formsなど)を介して送信したデータ KBoard 掲示板に投稿として登録することに問題がある場合 ここでサービス(有料)をご依頼することができます。
最後に、
WPFormsデータを KBoardで提出する方法を説明しました。 上記のコードを応用して、DBテーブルを直接作成、ユーザーが提出したデータを保存することも可能です。
wpDataTablesプラグインを使用すると、 WordPress DBデータをフロントエンドに表示することができます( "WordPress Quformの提出内容をフロントエンドに表示する方法")。
コメントを残す