勉強したことのメモ

webプログラマが勉強したことのメモ。

WordPressの記事公開・更新時に何らかの処理を行う方法

   

WordPressで記事を公開(予約公開含む)もしくは更新した際に何らかの処理を行いたい。尚、公開と更新で処理を分ける必要は無し。調べてみたところ「{status}_{post_type} フック」を使用するのが簡単そう。以下に対応方法をメモ。

 

ソースコード

//記事公開・更新時にtestFunctionを実行するアクションフック
add_action ( 'publish_post', 'testFunction' );

function testFunction( $post_id ){

    //post_idからパーマリンクやサムネイル等を取得可
    $permlink = get_permalink($post_id);
    $thumbnail = get_the_post_thumbnail_url($post_id, 'full');

}

注意点としてカスタム投稿を行っている場合はpublish_postではなくpublish_{カスタム投稿のpost_type}となる。例えばgadget(ガジェット)というカスタム投稿の記事に対してアクションフックを設定する場合はpublish_gadgetになる。

 

リファレンス

https://wpdocs.osdn.jp/%E6%8A%95%E7%A8%BF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%81%AE%E9%81%B7%E7%A7%BB#.7Bstatus.7D_.7Bpost_type.7D_.E3.83.95.E3.83.83.E3.82.AF

 

その他

記事公開時と更新時で処理内容を変えたい場合は以下が参考になりそう。

https://2inc.org/blog/2013/01/21/2526/

 - WordPress, CMS

  関連記事

WordPressでテーマの作成

CSSとHTMLコーディングデータがあり、それをWordPressのテーマに反映 ...

WordPressでGmailのSMTPサーバを使ってメール送信フォームを作る

■やりたかった事 WordPressでGmailのSMTPサーバを使用したメール ...

contact form7で送信数を測定

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

さくらvpsにワードプレスを導入

さくらvpsで立ち上げたサーバーにWordPressを導入した際のメモ。 ①ダウ ...

WordPressでスケジュール実行される日時を調べる方法

WordPressであるシステムを実装し、その際に毎日1回スケジュール実行(WP ...

WordPressにてPHPのAPCuを使用して高速化を図る方法

先日本サイトのサーバにAPCuを導入した。しかしながら所感にも書いたとおりAPC ...

WordPressで記事検索時に投稿ID順にならない場合

WordPressでサイト上から記事検索を行った場合、通常であれば投稿IDが新し ...

WordPressでテーマ内の共通の変数

WordPressでテーマ内の共通変数を設定し使用したかった。例えば記事一覧ペー ...

WordPressを4.8.2にして不具合

WordPressを4.8.2にすると記事の新規追加時にウィジウィグの挙動がおか ...

WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...