WordPress Contact Form 7과 KBoard 連動するソース

コメントを残す
  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPress Contact Form 7で提出するデータは、DBに保存されません。

もしDBに保存されるようにしたい場合は、同じ開発者が作成した フラミンゴ라는 애드온 플러그인을 설치할 수 있습니다.というアドオンプラグインをインストールすることができます。 또는,または、 Quform 同じ有料のプラグインを使用することも考慮してみることができます。

参考までに、単純に示すことを目的として Contact Form 7から提出されたデータをフロントエンドに表形式で表示したい場合は、「WordPress Contact Form 7のデータを表示する」で紹介す​​る方法を使用することができます。これにより、以下で説明する方法のようにKboard掲示板をインストールする必要がなく、次の画像のように実装できます。

[この記事は2020年10月11日に最終更新されました。 ]

WordPress Contact Form 7과 KBoard 連動するソース

KBoard(Kboard)掲示板を運営している場合はContact Form 7で送信したデータを KBoard スレッドに連動することが可能です。

次のコードを使用すると、コンタクトフォームを作成し、ユーザーが送信をクリックすると、データを KBoard (チャイルドテーマをご利用ください。)

/* Contact Form과 kboard 연동 */
function action_wpcf7_before_send_mail($WPCF7_ContactForm)
{
global $wpdb;
$wpcf7 = WPCF7_ContactForm::get_current();
$submission = WPCF7_Submission::get_instance();
$data = $submission->get_posted_data();

$yourname = $data['your-name'];
if(isset($data['your-subject'])) {
$formtitle = '[서비스 문의] ' . $data['your-subject'];
} else {
$formtitle = '후원 문의 (' . $yourname . ')';
}

$email = $data['your-email'];
$current_date = date("YmdHis", current_time('timestamp'));
$thiscontent = $data['your-message'];
$telephone = $data['your-phone'];
$yoururl = $data['your-url'];
$inquirytype = $data['inquiry-type'];
$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>' . $email . '</td>
</tr>
<tr>
<td>연락처</td>
<td>' . $telephone . '</td>
</tr>
<tr>
<td>URL</td>
<td>' . $yoururl . '</td>
</tr>
<tr>
<td>문의 유형</td>
<td>' . $inquirytype . '</td>
</tr>
<tr>
<td>문의 내용</td>
<td>' . $thiscontent . '</td>
</tr>

</table>';

$table_name = $wpdb->prefix . "kboard_board_content";
$wpdb->insert( $table_name, array( 'board_id' => 1, 'member_display' => $yourname, 'password' => 'password_you_want', 'title' => $formtitle, 'content' => $main_content, 'parent_uid' => 0, 'category1' => '일반', 'date' => $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) );

// return current cf7 instance
return $wpcf7;
}
add_action('wpcf7_before_send_mail', 'action_wpcf7_before_send_mail', 10, 1);

KBoard 게시판 ID, 비밀번호 등은 적절히 설정하시기 바랍니다.掲示板ID、パスワードなどは適切に設定してください。 필드에 따라 조금씩 응용하셔야 합니다.フィールドに基づいて少しずつ応用する必要があります。 옵션 필드를 추가한 경우에는 다음과 같이 연동시킵니다.オプションフィールドを追加した場合には、次のように連動させます。

$content_uid = $wpdb->insert_id;

$wpdb->insert( $table_name, array( 'content_uid' => $content_uid, 'option_key' => company, 'option_value' => $yourcompany ) );

この方法を利用すれば、 KBoardだけでなく、コンタクトフォームデータを別のDBのテーブルにも追加することができます。

위의 코드는 Contact Form 7와 Kboard가 업데이트되는 경우 잘 작동하지 않을 수도 있습니다.上記のコードは、Contact Form XNUMXとKboardが更新された場合にうまく機能していない場合があります。 하지만 원리는 동일하기 때문에 적절히 변경하여 사용하시기 바랍니다.しかし、原理は同じであるため、適切に変更して使用してください。

同様の方法で 重力とQuformで作成したコンタクトフォームから KBoardで連動することも可能です。

コンタクトフォームから KBoardで連動する作業に困難を経験する場合 ここでサービス(有料)をご依頼することができます。

メモ:



コメントを残す

コメント