Итак, причина, по которой я не хочу включать get_header()
или get_footer()
теги, заключается в том, что эта страница будет загружена как iframe с использованием модального плагина Thickbox, а ее содержимое будет формой, и я не хочу, чтобы вышеупомянутые теги отображали все меню и изображения баннеров и меню, а также содержимое нижнего колонтитула, потому что на этой странице будет много прокрутки.
Однако в настоящее время я запускаю что-то вроде этого:
add_action('template_redirect', 'my_plugin_add_js');
Однако, когда я убираю теги get_header()
and get_footer
(), JavaScript не загружается, даже если javascripts внутри ‘ my_plugin_add_js
‘ добавляются в HTML-теги body в конце, а не внутри тегов head, например:
wp_register_script("validate_form", plugins_url('js/my_plugin_validate_form.js', __FILE__), array('jquery', 'validation'), '1.0', true);
Итак, я понимаю, что хук действия «template_redirect» не подходит для использования.
Полностью пропустить
wp_head
иwp_footer
не кажется хорошей идеей, многие основные компоненты и плагины зависят от этих хуков. Вместо этого вы можете создать легкий заголовок и нижний колонтитул и загрузить их с помощью дополнительного аргумента дляget_header()
иget_footer()
.get_header( 'light' )
будет загружатьсяheader-light.php
вместо обычного файла заголовка. Создайте одну без визуального заголовка других страниц, но оставьтеwp_head
действие без изменений.Хм, интересно. Я не знал, что могу загружать другие шаблоны заголовков через параметр функции. Я новичок в этой теме и разработке плагинов, и это будет удобно. В качестве альтернативы я подумал о выполнении с помощью пользовательского хука, который вызывает другой шаблон заголовка, легкий, как вы предложили, но, опять же, я не знал, что это может быть так же просто, как передача аргумента функциям get_header, get_footer. Спасибо, это помогает и решает мою дилемму.
Сначала я думал сделать это, но подумал, что должен быть лучший способ сделать это. Тем не менее спасибо за предложение.
Дело не в хуке, который вы используете для настройки очереди (хотя вы должны использовать
wp_enqueue_scripts
вместо этого, но то, что вы делаете, также сломает это), а в том, что, удаляя верхний и нижний колонтитулы, вы также удаляетеwp_head
иwp_footer
хуки, которые (среди прочего) обрабатывают вывод сценариев в очереди.Если ваш шаблон настолько минимален, вероятно, проще всего явно повторить ваш скрипт с помощью
wp_print_scripts()
(передайте дескриптор вашего скрипта).Рассматривали ли вы возможность использования условного тега?
Например:
Подробнее об условных операторах: http://codex.wordpress.org/Conditional_Tags