is_local_attachment

Проверяет переданный URL, является ли он страницей вложения (файла медиатеки WordPress) текущего сайта.

✈ 1 раз = 0.001947с = очень медленно | 50000 раз = 80.64с = очень медленно PHP 7.0.5, WP 4.4.2

Хуков нет.

Возвращает

Использование

if( is_local_attachment( $url ) ){
	// это файл из медиатеки WordPress
}
$url(строка) (обязательный)
URL, который нужно проверить.

Примеры

#1 Проверим URL – вложение ли это

Допустим, у нас есть ссылка на файл который находится в медиатеке wordpress: http://site.ru/wp-content/uploads/2016/03/import.png и у этого файл также есть своя страница во фронте: http://wp-kama.ru/import:

is_local_attachment('http://site.ru/wp-content/uploads/2016/03/import.png'); //> false

is_local_attachment('http://site.ru/import'); //> true

// несуществующий файл
is_local_attachment('http://site.ru/fooo'); //> false

Код из


wp-includes/post.php

WP 4.7.2

<?php
function is_local_attachment($url) {
	if (strpos($url, home_url()) === false)
		return false;
	if (strpos($url, home_url('/?attachment_id=')) !== false)
		return true;
	if ( $id = url_to_postid($url) ) {
		$post = get_post($id);
		if ( 'attachment' == $post->post_type )
			return true;
	}
	return false;
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *