У меня есть подкаталог, в котором я хотел бы реализовать совершенно другую тему для своего сайта (в основном это рекламное письмо).
Может кто-нибудь сказать мне, как это сделать? Нужно ли устанавливать отдельную копию WordPress в подкаталоге?
Чтобы немного обойти ваш реальный вопрос, иерархия шаблонов позволяет вам иметь собственный обработчик для любого идентификатора записи, категории, термина таксономии и т.д. Это может быть самым быстрым способом решения вашей проблемы: просто создайте файл шаблона, который стоит самостоятельно и обслуживает только запрос к одному посту (или категории, или же идентифицированы рекламное письмо (я)).
Вам не нужно вызывать get_header()
, get_footer()
или любую другую функцию шаблона, так что вы можете иметь совершенно другую структуру страницы для одного поста на вашем сайте.
Вы можете загрузить свои таблицы стилей в (хук) в вашем заголовке. Затем используйте wp_enqueue_style, чтобы загрузить их для каждого сайта:
1.a) создайте собственный файл заголовка для page-template-file.php и используйте собственный заголовок с условным тегом (или просто используйте пользовательскую таблицу стилей с условным тегом).
затем сделайте что-то подобное в вашем functions.php file:
add_action( 'my_styles_hook', 'wpse944_enqueue_style' );
function wpse944_enqueue_style()
{
if ( ! is_singular() )
return;
// We use the current directory name as name for the stylesheet file & handle
$name = dirname( __FILE__ );
wp_enqueue_style(
$name,
,get_template_directory_uri()."/$name.css"
,false
,filemtime( get_template_directory()."/$name.css" )
);
}
Поэтому, если вы загрузите его из того же подкаталога вашей темы, то вы зарегистрируете дополнительную таблицу стилей, названную точно так же, как текущий каталог (таблица стилей остается в корневом каталоге темы). Таким образом, вы можете легко оформить каждую страницу так, как вы хотите. Кроме того, вы не загружаете то, что вам не нужно.