WordPressでお問い合わせフォームなどを簡単に作成できるプラグイン「MW WP Form」で、お問い合わせデータをダッシュボードに表示する例を紹介します。ダッシュボードにお問い合わせデータが表示されるので、いちいちナビゲーションから入っていかなくても確認できます。
このサンプル、需要あるかな。
ダッシュボードにデータを表示するためのウィジェットを追加
特に難しいことはしませんが、functions.phpに記述できる知識は必要です。プラグイン化をご希望の場合はご連絡ください。
MW WP Formでの設定
設定のメタボックスで「問い合わせデータをデータベースに保存」にチェックが入っているか確認してください。
functions.php
お問い合わせデータをダッシュボードに表示するfunctions.phpの記述例です。XXXの部分はフォーム識別子になります。
使用するフックはwp_dashboard_setupで、今回はAPIにダッシュボードにウィジェットを追加できるwp_add_dashboard_widgetを使用します。
// ダッシュボードにMW WP Formの問い合わせデータを表示する関数
add_action( 'wp_dashboard_setup', function() {
/* 問い合わせデータをウィジェットに追加する関数
wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null ) */
wp_add_dashboard_widget( 'mwform_save_data_widget', 'お問い合わせデータ', function() {
/* ここから$callback部分 */
/* get_posts関数用の引数を設定。サンプルでは最新5件表示 */
$args = array(
'post_type' => 'mwf_XXX',
'posts_per_page' => 5,
);
/* 引数をセットしてget_posts! */
$save_data = get_posts( $args );
/* お問い合わせデータが空かどうかチェック */
if( !empty( $save_data ) ) {
/* ラッパーはとりあえずリストで */
$output = '<ul>';
/* タイトルだけだと寂しいのでアイコンも表示 */
$icon = '<i class="dashicons dashicons-admin-page"></i> ';
/* 問い合わせデータをループ! */
foreach( $save_data as $data ) {
$output .= '<li>'.$icon.'<a href="post.php?post='.$data->ID.'&action=edit">'.$data->post_title.'</a><li>';
}
/* ラッパー閉じ */
$output .= '</ul>';
}
/* 残念ながらお問い合わせデータがない場合 */
else {
$output = 'お問い合わせデータはありません。';
}
/* あうとぷっと! */
echo $output;
/* ここまで$callback部分 */
} );
} );
これでダッシュボードにMW WP Formのお問い合わせデータが表示されます。