問題
Wordpressで特定の記事が公開されているかどうかで処理を分けるには?
解決策
「if( get_post_status('記事のID') == 'publish' )」で処理を分けることができる。
記事が公開されているかどうかの判定方法
WordPressで特定の記事が公開されているかどうかで処理を分ける方法をご紹介します。
「get_post_status」で記事のステータスを取得し、その値を元に処理を分ける。
「get_post_status」を使用することで、記事のステータスを取得することができます。
get_post_status('記事のID');
取得できる値の種類
publish | 公開済 |
---|---|
pending | 承認待ち |
draft | 下書き |
auto-draft | 新規作成された投稿(まだコンテンツがない状態です) |
future | 予約済 |
private | 非公開 |
inherit | リビジョン |
trash | ゴミ箱にある記事 |
記述例
実際に処理を分ける記述例は以下になります。
if( get_post_status('記事のID') == 'publish' ){
//公開されている場合の処理
} else {
//公開されていない場合の処理
}
参照
以下のサイトが、より詳しく解説してくれています。
【【wordpress】記事のステータス毎の条件分岐 | goodcircle】
https://www.goodcircle.jp/blog805/
【関数リファレンス/get post status – WordPress Codex 日本語版】
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_post_status
コメント