WordPress WPForms問い合わせ文を KBoardに自動的に公開するソースコード

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

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の提出内容をフロントエンドに表示する方法")。

参照

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

コメントを残す

*電子メール情報は公開されません。