Я вижу три возможности здесь (при условии, что вы уже выполнили священный ритуал очистки вашей кэш-памяти)
Запрос страницы публикации не загружает вашу local.xml
файл, возможно, потому что он использует другую тему и / или пакет дизайна
Страница поста не выдает дескриптор wordpress_default
, поэтому, хотя ваш файл local.xml
включен,ваше setTemplate
действие никогда не называется
Существует обновление макета, которое называется после вашего обновления макета (либо через XML, либо непосредственно в коде PHP), которое устанавливаеткорневой шаблон к чему-то еще.
Исследуйте каждый из этих трех пунктов, и вы должны найти свой ответ.
Что касается варианта № 3, у меня нет установки с установленным расширением FishPig, и я не использовал его широко, но похоже, что расширение выполняет некоторые jiggery pokery в ViewController.php
для автоматической установки шаблонав page/1column.phtml
, если у объекта страницы wordpress (? Я не знаю, что это) есть поле, установленное на 'onecolumn'
или '1column'
.
parent::loadLayout($handles, $generateBlocks, $generateXml);
if ($this->_getPage()) {
$keys = array('onecolumn', '1column');
$template = $this->_getPage()->getCustomField('_wp_page_template');
foreach($keys as $key) {
if (strpos($template, $key) !== false) {
if ($rootBlock = $this->getLayout()->getBlock('root')) {
$rootBlock->setTemplate('page/1column.phtml');
}
break;
}
}
}
Я бы начал там искать.