特定の投稿IDが存在するなら実行という分岐条件の時にis_singular()が使えなかったので、そういえばどうだっけと悩んで調べてしまったことをメモとして。大した内容ではありません。
投稿ID
WordPressで投稿ページや固定ページや添付ファイルのページが新規にできると、投稿IDが付与されます。
で、この投稿ID(=数字のみ)はページ種別で違うのか?
- 投稿IDは全投稿タイプを通して連番で発行される
確認方法は単純な話で、get_postsのpost_typeでpostやpageを選べば表示されるかが調べられます。
結び
何アホなことをという感じですが、ふと悩んだ時に連番だという記述が案外見つからなかったもので。
特定の投稿IDが存在するかどうか調べる関数
結局使わなかったので試していませんが、特定の投稿IDが存在するなら分岐となると以下のような感じになるのでしょうか…?
function post_id_exists($id) {
if( is_null(get_post($id)) ){
//存在しないIDを入れるとNULLがかえってくるため
//参考: https://wpdocs.osdn.jp/関数リファレンス/get_post
}
}
公式で用意されてるのではと思ったのですが、get_postが利用できる(あとはis_singleとis_pageのorか?)ようなのでそれを使った方法です。
post_exists
post_existsという関数あったんですね…。
基本はタイトルから投稿IDを取得し、取得できなかければ0を返すようです。そのためIDからという動作はできないので、今回考えていた用途には使えませんが。
0人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。