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;
}