勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

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

  WordPress CMS

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でカテゴリに優先順位を決め複数カテゴリが設定されている記事の場合に優先順位の高いカテゴリの記事のみ取得

WordPressで精度の高い関連記事を表示させたい。色々試したところテーマファ ...

WordPressで複数のカテゴリーを取得する方法(get_the_category_list)

WordPressで1つの記事に対して複数カテゴリを設定していた場合、テーマによ ...

gzip圧縮とキャッシュをhttpd.confで設定する方法

今まで共用サーバーで使っていたWordPressをVPSに移した。せっかくなので ...

WordPressのCron設定(wp-cron.php)を変更し負荷対策する方法

WordPressのcron設定(wp-cron.php)を変更することで負荷が ...

wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法

WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...