url_to_postid() の使い方|説明・引数・注意点

説明

url_to_postid() は、URLから投稿IDを割り出す関数です。

基本構文

url_to_postid( string $url ): int

引数

  • $url:調べたい投稿のURL

戻り値

投稿ID。見つからなければ 0。

使い方(サンプル)

$id = url_to_postid( 'https://example.com/sample/' );

注意点

  • リライトルールを使って判定するため、カスタム投稿や特殊なパーマリンクでは取得できないことがあります。
  • 処理がやや重いため、大量に呼ぶのは避けます。

実務での使いどころ

  • URLから、投稿や固定ページのIDを取得するとき。
  • リンクのURLから、記事の情報を引くとき。

よくあるミスと対処

  • 見つからないとき 0 が返る。確認せずに使う。
  • リライトルール(パーマリンク設定)に依存するため、設定が合っていないURLでは取得できない。
  • カスタム投稿タイプのURLで、リライトルールが更新されていないと取得できない。パーマリンク設定を保存する。

NG例

$id = url_to_postid( $url );
echo get_the_title( $id ); // 0 のときも処理してしまう

OK例

$id = url_to_postid( $url );
if ( $id ) {
	echo esc_html( get_the_title( $id ) );
}

使い分け早見表

やりたいこと 使うもの
URLからID url_to_postid()
IDからURL get_permalink()
スラッグから取得 get_page_by_path()

関連項目

get_permalink()、get_page_by_path()

公式リファレンス:url_to_postid() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました