is_local_attachment()

Определяет, является ли URI вложения локальным и действительно ли это вложение
Функция WordPress
INT 2.0.0
WordPress Icon

Описание функции

Функция is_local_attachment() определяет, является ли URI вложением и находится ли оно на локальном сервере.

Функция проверяет, является ли указанный URL вложением, загруженным на текущий сайт. Она проверяет, является ли URL локальным и находится ли файл на сервере, а не на удаленном хостинге или в облачном хранилище.

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

is_local_attachment( string $url ): bool

Функция is_local_attachment() принимает один обязательный параметр — URL, который нужно проверить.

  • $url (string) — Обязательный. URL, который нужно проверить.

Функция возвращает логическое значение:

  • true — если URL является локальным вложением
  • false — если URL не является локальным вложением
<?php
/**
 * Проверяет, является ли URL локальным вложением.
 *
 * @param string $url URL, который нужно проверить.
 * @return bool Возвращает true, если URL является локальным вложением, и false в противном случае.
 */
function is_local_attachment( $url ) {
    // Проверяем, является ли URL локальным
    $is_local = wp_attachment_is( 'local', $url );
    
    // Возвращаем результат
    return $is_local;
}
?>

В приведенном выше примере мы определяем функцию is_local_attachment(), которая принимает URL в качестве параметра. Функция использует встроенную функцию wp_attachment_is() для проверки, является ли URL локальным вложением. Затем она возвращает результат проверки.

Примеры использования

Проверка наличия локального вложения


/**
 * Проверяет, является ли URI вложением и находится ли оно локально.
 *
 * @param string $url Обязательный URL для проверки.
 * @return bool Возвращает true в случае успеха, false в случае неудачи.
 */
$is_local_attachment = is_local_attachment( $url );

Функция is_local_attachment() используется для проверки, является ли указанный URL вложением и находится ли оно локально. Она принимает один обязательный параметр — URL для проверки, и возвращает булево значение true, если вложение является локальным, и false, если вложение не является локальным или произошла ошибка при проверке.

Определение типа локального вложения


/**
 * Проверяет, является ли URI вложением и находится ли оно локально.
 *
 * @param string $url Обязательный URL для проверки.
 * @return bool Возвращает true в случае успеха, false в случае неудачи.
 */
$is_local_attachment = is_local_attachment( $url );
if ( $is_local_attachment ) {
    $attachment_type = wp_attachment_is_image( $attachment_id ) ? 'image' : 'file';
}

Для определения типа локального вложения можно использовать функцию wp_attachment_is_image(). Если вложение является изображением, то возвращается значение true, в противном случае — false. В данном примере, если вложение является локальным, то определяется его тип: изображение или файл.

Получение информации о локальном вложении


/**
 * Проверяет, является ли URI вложением и находится ли оно локально.
 *
 * @param string $url Обязательный URL для проверки.
 * @return bool Возвращает true в случае успеха, false в случае неудачи.
 */
$is_local_attachment = is_local_attachment( $url );
if ( $is_local_attachment ) {
    $attachment_id = attachment_url_to_postid( $url );
    $attachment_data = wp_get_attachment_metadata( $attachment_id );
}

Если вложение является локальным, то можно получить его идентификатор с помощью функции attachment_url_to_postid(). Затем, с использованием идентификатора, можно получить дополнительную информацию о вложении с помощью функции wp_get_attachment_metadata(). В данном примере получается метаданные вложения.

Проверка доступности локального вложения


/**
 * Проверяет, является ли URI вложением и находится ли оно локально.
 *
 * @param string $url Обязательный URL для проверки.
 * @return bool Возвращает true в случае успеха, false в случае неудачи.
 */
$is_local_attachment = is_local_attachment( $url );
if ( $is_local_attachment ) {
    $attachment_path = get_attached_file( $attachment_id );
    $is_accessible = is_readable( $attachment_path );
}

Для проверки доступности локального вложения можно использовать функцию is_readable(). Она принимает путь к файлу вложения и возвращает true, если файл доступен для чтения, и false, если файл недоступен или произошла ошибка при проверке. В данном примере проверяется доступность файла вложения.

Проверка целостности локального вложения


/**
 * Проверяет, является ли URI вложением и находится ли оно локально.
 *
 * @param string $url Обязательный URL для проверки.
 * @return bool Возвращает true в случае успеха, false в случае неудачи.
 */
$is_local_attachment = is_local_attachment( $url );
if ( $is_local_attachment ) {
    $attachment_path = get_attached_file( $attachment_id );
    $is_valid = wp_check_filetype( $attachment_path )['ext'] !== false;
}

Для проверки целостности локального вложения можно использовать функцию wp_check_filetype(). Она принимает путь к файлу вложения и возвращает массив с информацией о типе файла. Если тип файла определен, то возвращается true, в противном случае — false. В данном примере проверяется целостность файла вложения.

Вопросы и ответы

Как определить, является ли URL вложения локальным?

Для определения, является ли URL вложения локальным, можно использовать функцию is_local_attachment(). Она принимает один обязательный параметр — URL, который нужно проверить.

Функция возвращает булево значение true, если URL является локальным, и false, если URL не является локальным.


$url = 'https://example.com/wp-content/uploads/2022/01/image.jpg';
$is_local = is_local_attachment($url);
if ($is_local) {
    echo 'URL является локальным';
} else {
    echo 'URL не является локальным';
}

Как проверить, является ли URL вложения действительно вложением?

Для проверки, является ли URL вложения действительно вложением, также можно использовать функцию is_local_attachment(). Она проверяет, что URL указывает на существующий файл в папке вложений.

Если URL является действительным вложением, функция вернет true, в противном случае — false.


$url = 'https://example.com/wp-content/uploads/2022/01/image.jpg';
$is_attachment = is_local_attachment($url);
if ($is_attachment) {
    echo 'URL является вложением';
} else {
    echo 'URL не является вложением';
}

Как использовать функцию is_local_attachment() для проверки URL вложения?

Для использования функции is_local_attachment() необходимо передать ей URL вложения в качестве обязательного параметра.

Функция вернет булево значение true, если URL является локальным и действительным вложением, и false, если URL не является локальным или не является вложением.


$url = 'https://example.com/wp-content/uploads/2022/01/image.jpg';
$is_local_attachment = is_local_attachment($url);
if ($is_local_attachment) {
    echo 'URL является локальным и вложением';
} else {
    echo 'URL не является локальным или вложением';
}

Какие URL считаются локальными вложениями?

Функция is_local_attachment() предназначена для определения, является ли URI вложением, которое находится на локальном сервере WordPress.

Для того чтобы определить, является ли URL локальным вложением, необходимо передать его в качестве обязательного параметра функции:


$is_local = is_local_attachment( $url );

Какие URL не считаются локальными вложениями?

Функция is_local_attachment() возвращает значение true, если URL является локальным вложением, и false в противном случае.

URL, который не является локальным вложением, может быть внешним URL или URL, который не существует на сервере WordPress.


if ( is_local_attachment( $url ) ) {
    // URL is a local attachment
} else {
    // URL is not a local attachment
}

Какие проблемы могут возникнуть при использовании функции is_local_attachment()?

При использовании функции is_local_attachment() могут возникнуть следующие проблемы:

  • Неправильное определение локальных вложений из-за некорректного URL.
  • Неправильное определение вложений из-за проблем с доступом к файлам на сервере.

Какие альтернативы функции is_local_attachment() существуют?

Вместо функции is_local_attachment() можно использовать следующие альтернативы:

  • Функция wp_attachment_is_image() для проверки, является ли вложение изображением.
  • Функция wp_attachment_is() для проверки, является ли вложение определенного типа.

Функция is_local_attachment() предназначена для определения, является ли URI вложением, которое находится на локальном сервере WordPress. Она возвращает значение true, если URL является локальным вложением, и false в противном случае. При использовании функции могут возникнуть проблемы с неправильным определением вложений из-за некорректного URL или проблем с доступом к файлам на сервере. Вместо функции is_local_attachment() можно использовать альтернативные функции, такие как wp_attachment_is_image() и wp_attachment_is().

Связанные элементы

  • Функция wp_get_attachment_image(): возвращает HTML-разметку для изображения вложения.
  • Функция wp_get_attachment_image_src(): возвращает URL, ширину и высоту изображения вложения.
  • Функция wp_get_attachment_metadata(): возвращает метаданные вложения.
  • Функция wp_get_attachment_caption(): возвращает подпись для вложения.
  • Функция wp_get_attachment_url(): возвращает URL вложения.
  • Функция wp_get_attachment_thumb_url(): возвращает URL миниатюры вложения.
  • Функция wp_get_attachment_image_sizes(): возвращает размеры изображения вложения.
  • Функция wp_get_attachment_image_srcset(): возвращает атрибут srcset для изображения вложения.
Обсуждение