В WordPress функция is_attachment()
используется для определения, является ли текущая страница вложением (attachment). Вложения в WordPress представляют собой отдельные страницы или записи, которые отображают медиафайлы, такие как изображения, видео или аудио.
is_attachment( int|string|int[]|string[] $attachment = ” ): bool
Функция is_attachment()
возвращает true
, если текущая страница является вложением, и false
в противном случае. Это полезно для условной проверки, когда вам нужно выполнить определенные действия или выводить контент, связанный с вложениями.
Примеры использования is_attachment()
Проверка и вывод контента для вложения
if ( is_attachment() ) {
// Этот код будет выполнен только на странице вложения.
$attachment_id = get_the_ID();
$attachment_title = get_the_title( $attachment_id );
$attachment_url = wp_get_attachment_url( $attachment_id );
echo '<h2>Это страница вложения: ' . $attachment_title . '</h2>';
echo '<p>Ссылка на вложение: <a href="' . $attachment_url . '">' . $attachment_title . '</a></p>';
}
Использование в условиях в цикле WordPress
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
if ( is_attachment() ) {
// Вывод информации о вложении
echo '<div class="attachment-content">';
the_title( '<h2>', '</h2>' );
the_content();
echo '</div>';
} else {
// Вывод для обычных постов или страниц
echo '<div class="post-content">';
the_title( '<h2>', '</h2>' );
the_excerpt();
echo '</div>';
}
}
}
Ограничение доступа к страницам вложений
// Данный код можно закинуть в functions.php вашей темы
add_action( 'template_redirect', 'genius_redirect_if_attachment' );
function genius_redirect_if_attachment() {
if ( is_attachment() ) {
wp_redirect( home_url() );
exit;
}
}
Помните:
- Функция
is_attachment()
работает только с вложениями, созданными с помощью стандартной системы загрузки файлов WordPress. - Она не подходит для проверки типа других страниц, например, записей или страниц.
- Для более сложных задач, связанных с вложениями, можно использовать другие функции и методы WordPress.
Заключение
Функция is_attachment()
предоставляет простой способ проверки типа текущей страницы в WordPress. Она полезна при разработке тем и плагинов, когда требуется специфическое поведение или стилизация для страниц вложений. Используйте ее в своих проектах, чтобы эффективно управлять контентом и его отображением.