attachment_url_to_postid( string $url )
Tries to convert an attachment URL into a post ID.
描述
参数
- $url
-
(string)
(Required)
The URL to resolve.
返回值
(int) The found post ID, or 0 on failure.
源代码
File: wp-includes/media.php
function attachment_url_to_postid( $url ) {
global $wpdb;
$dir = wp_get_upload_dir();
$path = $url;
$site_url = parse_url( $dir['url'] );
$image_path = parse_url( $path );
//force the protocols to match if needed
if ( isset( $image_path['scheme'] ) && ( $image_path['scheme'] !== $site_url['scheme'] ) ) {
$path = str_replace( $image_path['scheme'], $site_url['scheme'], $path );
}
if ( 0 === strpos( $path, $dir['baseurl'] . '/' ) ) {
$path = substr( $path, strlen( $dir['baseurl'] . '/' ) );
}
$sql = $wpdb->prepare(
"SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = %s",
$path
);
$post_id = $wpdb->get_var( $sql );
/**
* Filters an attachment id found by URL.
*
* @since 4.2.0
*
* @param int|null $post_id The post_id (if any) found by the function.
* @param string $url The URL being looked up.
*/
return (int) apply_filters( 'attachment_url_to_postid', $post_id, $url );
}
更新日志
Version | 描述 |
---|---|
4.0.0 | Introduced. |
相关函数
Uses
-
wp-includes/functions.php:
wp_get_upload_dir() -
wp-includes/media.php:
attachment_url_to_postid -
wp-includes/plugin.php:
apply_filters() -
wp-includes/wp-db.php:
wpdb::get_var() -
wp-includes/wp-db.php:
wpdb::prepare()
Used By
-
wp-admin/includes/ajax-actions.php:
wp_ajax_set_attachment_thumbnail() -
wp-includes/customize/class-wp-customize-upload-control.php:
WP_Customize_Upload_Control::to_json()
User Contributed Notes
-
Skip to note content
You must log in to vote on the helpfulness of this noteVote results for this note: 1You must log in to vote on the helpfulness of this note
Contributed by
Nilambar Sharma
Get post ID from attachment URL
echo attachment_url_to_postid( 'http://example.com/wp-content/uploads/2016/05/castle-old.jpg' );
Output:
123
你可能对这些文章感兴趣:
- wordpress函数esc_html_x()用法示例
- wordpress函数esc_html()用法示例
- wordpress函数esc_html_e()用法示例
- wordpress函数esc_attr_x()用法示例
- wordpress函数esc_attr__()用法示例
- wordpress函数esc_attr()用法示例
- wordpress函数esc_attr_e()用法示例
- wordpress函数enqueue_embed_scripts()用法示例
- wordpress函数ent2ncr()用法示例
- wordpress函数enqueue_comment_hotkeys_js()用法示例
- wordpress函数edit_user()用法示例
- wordpress函数email_exists()用法示例
- wordpress函数endElement()用法示例
- wordpress函数edit_term_link()用法示例
如有疑问,请前往问答中心反馈!
反馈