Многие люди внедряют страницы своего сайта на своих сайтах в виде фреймов. Я хочу, чтобы они не брали мой нижний колонтитул, заголовок и конкретное разделение в этих фреймах. Так как нижний колонтитул, заголовок и указанное конкретное разделение присутствуют на всех моих страницах.
Что мне делать? Должен ли я добавить код в свой заголовок или в файл functions.php
?
Вы можете обнаружить переменную $_SERVER['HTTP_REFERER']
чтобы определить, запрашивается ли страница с внешнего сервера. Если это так, тогда вы должны загрузить альтернативный верхний и нижний колонтитулы, используя get_header()
и get_footer()
. Эти вызовы потребуются, чтобы убедиться, что все сценарии и таблицы стилей загружены, но вы можете удалить другой контент, составляющий фактические элементы заголовка и нижнего колонтитула.
Например, вы можете дублировать текущий header-iframe.php
в header-iframe.php
и вызвать заголовок с помощью:
get_header('iframe');
То же самое касается нижнего колонтитула. Создайте файл с именем footer-iframe.php
и вызовите его, используя:
get_footer('iframe');
Просто убедитесь, что ваш header-iframe.php
содержит все до открытия тега, например:
<html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title><?php wp_title( '|', true, 'right' ); ?></title> <?php wp_head(); ?> </head> <body <?php body_class('iframe'); ?>>
Ваш footer-iframe.php
должен быть лишен всего избыточного контента, например:
<?php wp_footer(); ?> </body> </html>
Вышеприведенные фрагменты – всего лишь пример, но вы получаете идею. Вызов get_header('iframe');
и get_footer('iframe);
функции должны быть условными на основе переменной $_SERVER['HTTP_REFERER']
. Это можно сделать с помощью preg_match
или любой другой встроенной функции сравнения PHP.
Почему бы вам не создать конкретный шаблон для внедрения? В вашем пользовательском шаблоне вы можете просто удалить get_header()
, get_footer()
и get_sidebar()
.