Функция is_embed()
в WordPress проверяет, является ли текущий запрос запросом на страницу встраивания (embed) записи. Страницы встраивания предоставляют упрощенную версию контента, предназначенную для встраивания на других сайтах. Данный условный тег срабатывает, когда к URL записи добавляется /embed
.
is_embed(): bool
Возвращаемое значение
- bool — функция возвращает
true
, если текущая страница является страницей встраивания, иfalse
в противном случае.
Пример 1: Исключение текста в футере на страницах встраивания
Функция ниже добавляет текст в подвал страницы, но пропускает страницы встраивания с помощью is_embed()
.
add_action('wp_footer', 'add_footer_text');
function add_footer_text() {
// Если страница встраивания, ничего не выводим
if (is_embed()) {
return;
}
echo '<p>Это текст, отображаемый в подвале сайта.</p>';
}
Результат: Текст в футере будет отображаться на всех страницах сайта, кроме страниц встраивания.
Пример 2: Переадресация со страниц встраивания на основную запись
Этот код перенаправляет пользователей с страницы встраивания на основную запись, если они пытаются получить доступ к встроенной версии напрямую.
add_action('template_redirect', 'redirect_from_embed');
function redirect_from_embed() {
if (is_embed()) {
wp_redirect(get_permalink());
exit;
}
}
Результат: Если пользователь попытается открыть страницу встраивания, он будет перенаправлен на обычную страницу записи.
Пример 3: Получение URL встраивания записи
Функция get_post_embed_url()
возвращает URL страницы встраивания для текущей записи, и её можно использовать для генерации ссылки на встроенную версию записи.
$post_embed_url = get_post_embed_url(get_the_ID());
echo '<a href="' . esc_url($post_embed_url) . '">Ссылка для встраивания</a>';
Результат: Отображается ссылка на страницу встраивания текущей записи, которую можно использовать для вставки на других ресурсах.
Заключение
Функция is_embed()
помогает отличить страницы встраивания от других страниц сайта, позволяя использовать уникальные стили, контент или даже перенаправления для встроенных версий записей.