勉強したことのメモ

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

  関連記事

PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Attem ...

WordPressで複数あるクリック広告をランダムで表示させる方法

同じクリック広告をずっと貼っているとクリック単価が下がると聞いた。WordPre ...

WordPressの記事をfacebookに投稿する際のOGP設定について

WordPressの記事をfacebookに投稿する際にOGP設定をする必要があ ...

Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法

WordPressでAdvanced Custom Fieldsにて設定した項目 ...

WordPressで「No URL was~」というエラーの原因と対応方法

WordPressでmp4ファイルをアップロードして記事に埋め込んだものの、記事 ...