説明
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

コメント