LoginSignup
1
1

More than 5 years have passed since last update.

dashboardからajaxで何かを更新する

Posted at

管理画面のダッシュボードからちょっとした情報を更新するのにajaxでやりたいときは、独自phpを用意してもできるけど、wordpressの流儀に則ってやっておこう。

まず、ajaxでポストされた時に実行するコールバックを定義する。

add_action( "wp_ajax_アクション名", "my_action_callback" );

function my_action_callback () {
  /** アクションの中身 */
}

次に、実際にpost処理を行うjsを書く。この時、ポストしたいパラメータに加えて、"action=上で指定したアクション名"も送信する。アクション名が"update_hoge"だとして、msgで文字列をもらうようなアクションだとすると、jQueryを使うとこんな感じになる。

var data = { 
  action: "update_hoge",  //wordpressに実行するアクションを指示するため
  msg: "hello" //実際に送りたい内容
};

jQuery( ajaxurl, data, function( response ) {
  /** 完了時にコールバック */
} );

ajaxurlは、ajax-admin.phpへのurlで、wordpressのjsの方で定義されている値なので、特に宣言もなく利用できる。これを実行すると、wp_ajax_アクション名に指定したコールバックが呼ばれ、その中では$_POST変数からPOSTの内容が扱える。

あとは、wp_add_dashboard_widgetを使って投稿用のフォームウィジェットをダッシュボードに追加して、post用のjsを、admin_footerアクションで出力するなどすれば良い。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1