is_local_attachment()
Чи передається URL сторінкою вкладення (файлу медіатеки WordPress) поточного сайту.
Працює на основі:
url_to_postid()
url_to_postid()
1 раз – 0.001947 сек
(дуже повільно) | 50000 разів – 80.64 сек
(дуже повільно) |
PHP 7.0.5, WP 4.4.2
(дуже повільно) | 50000 разів – 80.64 сек
(дуже повільно) |
PHP 7.0.5, WP 4.4.2
Хуків немає.
Повертає
true|false
.
Використання
if( is_local_attachment( $url ) ){ // це файл із медіатеки WordPress }
-
$url
(рядок) (обов’язковий) - URL-адресу, яку потрібно перевірити.
Приклади
#1 Перевіримо URL – чи це вкладення
Припустимо, у нас є посилання на файл, який знаходиться в медіатеці wordpress: http://example.com/wp-content/uploads/2016/03/import.png
і цей файл також має свою сторінку у фронті: http://wp-kama.ru/import
:
is_local_attachment('http://example.com/wp-content/uploads/2016/03/import.png'); //> false is_local_attachment('http://example.com/import'); //> true // Неіснуючий файл is_local_attachment('http://example.com/fooo'); //> false
список змін
З версії 2.0.0 | Введено. |
Код is_local_attachment() is local attachment WP 6.0.2
function is_local_attachment( $url ) { if ( strpos( $url, home_url() ) === false ) { return false; } if ( strpos( $url, home_url( '/?attachment_id=' ) ) !== false ) { return true; } $ id = url_to_postid ($ url); if ($id) { $post = get_post($id); if ( 'attachment' === $post->post_type ) { return true; } } return false; }