私は私自身の連絡フォームを作成し、私はwp-adminで提出されたフォームを表示するためにWP_List_Table
を使用しています。 これ example WP_List_Tableを github から編集して、うまくいきます。
これが私のカスタム管理メニューページの追加方法です。
function contact_form_create() {
add_menu_page('Contact Forms', 'Contact Forms', 'administrator', 'contact-form', 'contact_form_page_handler');
}
add_action('admin_menu', 'contact_form_create');
しかし今、私は通知をしたいのです。そのため、訪問者が連絡フォームを送信すると、私のテーブルにはwp-adminに次のような通知が表示されます。
正確には、WP_List_Tableとは関係ありません。あなたがする必要があるのはあなたのカスタム管理者ページの登録の間にいくつかの追加情報を追加することです。
これらの通知バブルを表示するためにWordPressによって使用される2つのクラスがあります。
あなたの通知はプラグインとは何の関係もないので、2番目のクラスを使う方が良いでしょう。あなたはこのようにあなたの機能を変えるべきです:
function contact_form_create() {
$notification_count = 2; // <- here you should get correct count of forms submitted since last visit
add_menu_page(
'Contact Forms',
$notification_count ? sprintf('Contact Forms <span class="awaiting-mod">%d</span>', $notification_count) : 'Contact Forms',
'administrator', // <- it would be nicer to use capability in here 'manage_options'
'contact-form',
'contact_form_page_handler'
);
}
add_action('admin_menu', 'contact_form_create');
したがって、主な変更点は、表示する通知がある場合は、そのページのタイトルに<span class="awaiting-mod">%d</span>
を追加することです。
今しなければならないのは、前回の訪問以降に正しい数のフォーム送信を取得することだけです。これを行う最も簡単な方法は、サブミットされたフォームレコードの最後のIDをカスタムDBテーブルにオプションとして格納し、このIDに基づいて新しいレコードをカウントすることです。しかし、あなたがこの提出されたフォームなどをどのように格納するかについての情報がないので、正確にそれらを数える方法を言うのは難しいです。