勉強したことのメモ

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

  関連記事

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

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

WordPressで任意のクエリをページ内で出力する方法

WordPressの固定ページ内でuidという任意のGETクエリを取得して、記事 ...

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

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

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

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

WordPress Popular Postsのサムネイルが表示されない

WordPressの人気記事を表示させるWordPress Popular Po ...

WordPressを外部サーバから投稿する方法

WordPressをダッシュボードからではなく、外部サーバのプログラムから投稿し ...

WordPressでテーマの作成

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

WordPressで逆アクセスランキングの設置

WordPressに逆アクセスランキングを設置したかった。 ただ、広告が出ないタ ...

WordPressで記事毎に設定した広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...

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

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