attachment_url_to_postid

説明

int attachment_url_to_postid( string $url )
添付ファイルのURLから投稿IDを取得する。

パラメータ

  • $url
    添付ファイルのURLを指定。

返り値

添付ファイルの投稿IDを返す。該当する投稿が見つからなかった場合は明示的には何も返さない(nullを返す)。

注意

本関数はパラメータ$urlに指定された添付ファイルのURLからそのメディア投稿の投稿IDを取得するもので、 wp_get_attachment_url関数の真逆の機能である。メディア投稿のカスタムフィールド'_wp_attached_file'には添付ファイルのアップロードディレクトリからの相対パス名が保存されており、本関数の内部ではその相対パス名から投稿IDを取得している。

使用例

  • 添付ファイルのURLから投稿IDを取得する。
    <?php $post_id = attachment_url_to_postid( string $url ); ?>

フィルター

[4.2.0]投稿IDを返す直前に'attachment_url_to_postid'フィルターを呼び出す。パラメータ$post_idにはメディアの投稿IDが、$urlには本関数が受け取った内容が格納されている。
return (int) apply_filters( 'attachment_url_to_postid', $post_id, $url );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/media.php

最終更新 : 2017年08月04日 17:10



お勧め

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。

the_date関数で投稿日を確実に表示する(2011年12月20日 更新)

投稿記事の投稿日時を表示する際、 the_date関数を使用することが多いだろう。このthe_date関数はphpのdate関数と同じパラメータを指定することで、好みの日時フォーマットで投稿日時を表示できるのだが、ある条件の場合に投稿日時を表示しない。最初にこの現象に遭遇したときは、ちょっと悩まされた。

スクリプトファイルのバージョンパラメータを変更する(2018年5月27日 更新)

Java Scriptやスタイルシートの指定を直接head要素内に記述せず、wp_enqueue_scriptsフィルターなどを使って指定する場合、WordPressのバージョン番号が付与されている。このバージョン番号は、妥当なんだろうか。

ログアウト後はいつもサイトトップ(2018年5月27日 更新)

ログアウト後に表示(リダイレクト)されるページは、標準ではログインページ(wp-login.php)である。4.2.0ではログアウト処理後のページリダイレクト前に呼び出されるフィルターが追加された。

カレンダーウィジェットをAjaxで切り替える(2011年8月22日 更新)

ウィジェットベースでテーマを構築していてカレンダーを表示してみた。標準では、前月や次月のリンク先はそれぞれの月のアーカイブページとなっているのだが、記事を探すだけであればカレンダー部分だけを更新するほうが便利なのではと考え、そのアイデアを実装してみた。