Это не вопрос кода, я просто не понимаю, как все работает в этом конкретном случае.Wordpress & Enquire.js - философия условной загрузки
Я завязываю тему Wordpress, которая должна динамически загружать части кода php через javascript. На самом деле это работает в сочетании с UA Sniffing, потому что, если устройство мобильное, мобильный шаблон следует использовать в любом случае, но это не главное.
- Если screen.width равно < 1080px, необходимо загрузить меню мобильной версии моей темы Wordpress.
- В противном случае, если ширина экрана больше, необходимо загрузить версию меню рабочего стола
- Решение, основанное только на запросах CSS Media, неприемлемо, поскольку версия для настольного ПК слишком тяжелая.
Поэтому я решил условном содержимое динамически загружается через enquire.js Первая часть моего WP-Стартовой-template.php является:
enquire.register("screen and (max-width:1080px)", {
<script type="text/javascript">
match : function() {
$("body").load(
"/path/headernav-phone.php"
);
unmatch : function() {
$("body").load(
"/path/headernav-desktop.php"
);
}
}
Таким образом, когда размер экрана попадает 1080px, Wordpress должен загружать headernav-phone.php , который содержит только вызов wp_nav_menu (MOBILE). Если размер экрана больше, Wordpress загружает headernav-desktop.php, который включает wp_nav_menu (DESKTOP).
Это не работает:
Fatal error: Call to undefined function wp_nav_menu() in /XX/YYY/ZZZ/webseiten/XXX.YY/wp-content/themes/MyTheme/templates/headernav-phone.php on line 14
Похоже, что мой код выполняется перед CMS, и он ломает свои функции.
Вы enqueuing enquire.js в нижнем колонтитуле? или загружается ли он до метки
? – BenRacicotAtm помещается в раздел главы через wp_enqueue_script –
Какая версия WP? Вы пытались отключить плагины по одному, проверяя ошибку? – BenRacicot