WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

is_local_attachment() WP 2.0.0

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

Работает на основе: url_to_postid()
✈ 1 раз = 0.001947с = очень медленно | 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://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

Код is local attachment: wp-includes/post.php WP 4.8.1

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

Cвязанные функции

Из метки: Условные теги (все)

Еще из раздела: Вложения (media файлы)

is_local_attachment Комментариев нет

Здравствуйте, !

Ваш комментарий