Intereting Posts
Как я могу получить url из тега изображения в фиде с fetch_feed? «Удалить уведомление об обновлении для всех пользователей, кроме пользователя ADMIN» Как исключить посещаемые сообщения из цикла Новая многоузловая сеть: перенаправлено слишком много раз Неправильное отображение сайта при перенаправлении из корневого каталога в подкаталог Как добавить WP Cerber reCAPTCHA в шаблон пользовательского комментария? Как инициализировать $ wpdb? Деактивировать другой несовместимый плагин при активации Подписчики на сообщения Stream Video Player не работает с do_shortcode ()? Проблема с сохранением большого объема данных в postmeta / usermeta Программно блокировать комментирование, ограничивая представление формы комментария Как дублировать (несколько мета-полей)? Как отключить плагин Jetpack на мобильном устройстве? Нарушение плагинов типов из-за конфигурации сервера

Как использовать скрипты при удалении заголовка / нижнего колонтитула

Я работаю с клиентом, который обертывает тело нашего сайта WordPress своим внешним верхним и нижним колонтитулом, удаляя наш верхний и нижний колонтитулы. Таким образом, наши скрипты плагинов, установленные в очередь, не работают, потому что наши верхний и нижний колонтитулы не используются вообще. Кроме того, мне кажется, что никакие плагины не будут работать, если они не используют наш верхний / нижний колонтитул (а не только те, которые мы установили в functions.php). Это правда?


ЭТО НЕ РАБОТАЕТ – ВЫ МОЖЕТЕ ПРОЙТИ, ЕСЛИ ВЫ ТОЛЬКО ХОТИТЕ ПРОЧИТАТЬ ЭТО. Я поговорил с некоторыми умными людьми на нашем Meetup об этом, и они сказали, что я могу распечатать сценарии, используя нижеприведенный сниппл в своих функциях, и они снова будут работать (в основном, но это неудобная работа). Я пробовал это, и пока это не работает. Я хотел бы знать, почему это должно сработать – что он делает? Если бы я понял это лучше, возможно, я мог бы понять, что не так.

function enqueue_scripts_the_wrong_way() { printf( '<script src="%s/js/jquery.stellar.init.js" data-load-script="1"></script>', get_stylesheet_directory_uri() ); } add_action( 'wp_footer_print_scripts', 'enqueue_scripts_the_wrong_way' ); 

ПОЧЕМУ ЭТО ВЕСЬ? @norcross спросил в Twitter, если я объясню, почему клиенту это нужно в первую очередь. Возможно, было бы полезно знать, что я был заключен только для разработки / разработки темы WP, о которой я расскажу. Клиент имеет существующий веб-сайт, часть которого использует сайт WP (для своего блога), а в некоторых частях используется пользовательская CMS. Это, по сути, социальная сеть для малого бизнеса, и на этом сайте есть много динамического контента на основе зарегистрированного пользователя / выхода из системы, который проходит вокруг информации пользователя. Они хотели переместить более статичные части этого веб-сайта и блога целиком на одну установку WordPress, чтобы маркетинговый отдел мог лучше управлять им (видимо, пользовательская CMS – это боль). НО, верхний и нижний колонтитулы на веб-сайте содержат некоторые из этих зарегистрированных / выведенных из контекста контекстов. Я сказал им, что WP может получить свою внешнюю пользовательскую базу данных и работать с ней, но это больше, чем я лично знаю, как это сделать – однако я знаю много разработчиков, которые делают это, и что когда придет время, я сделаю правильные интродукции. Они сказали, что это не будет необходимо, потому что они могут обернуть содержимое WP своим верхним и нижним колонтитулом, поскольку в основном все, что они хотели от установки WP, было содержанием. У них есть люди, знакомые с WP, работающими над проектом, поэтому я предположил, что, как бы они ни делали это, они знали, что им нужно как-то поддерживать целостность заголовка и нижнего колонтитула WP, но я был неправ. То, что мы закончили, хорошо, именно то, что они сказали, их верхний и нижний колонтитулы с содержанием нашего тела. У установки WP есть верхний и нижний колонтитулы с вызовами wp_head и wp_footer (но это все), но, однако, их оболочка работает, но не использует их.

Во-первых, вы правы, многие плагины будут терпеть неудачу, если перехватчики верхнего и нижнего колонтитулов будут удалены. То, что делает ваш клиент, будет очень проблематичным – смею сказать «неправильно»? Это отличает много функциональности. Если факт, на переднем конце есть ограниченные надежные крючки, и многие связаны с головой и ногой.

Во-вторых, фрагмент, который у вас есть, не будет работать, потому что это нижний колонтитул, а нижний колонтитул удален.

Я честно не вижу много хороших вариантов для вас. Вы не можете echo стилей после </head> или вы получаете недействительную разметку (которая обычно все еще работает), поэтому большинство хаков для включения таблиц стилей будут костистыми. К хакам я имею в виду «put do_action('wp_enqueue_scripts') и другие необходимые вызовы с крючками в вашем коде после того момента, когда ваш код выполняется.

В противном случае вам нужно будет зависеть от встроенных стилей и, возможно, взломать плагины в каждом конкретном случае, чтобы заставить их работать в вашей очень разбитой среде.

Если вы не заботитесь о разметке, вы получили относительно простой способ предложить своим плагинам использовать правильный крючок.

Обычно вы вызываете get_header() и get_footer() в своей теме, а связанные файлы header.php и footer.php должны вызывать функции wp_head() и wp_footer() .

Они также содержат, разумеется, Markup и раздел <head> и все такое.

Если вы можете просто доставить раздел контента, разметка станет недействительной, но не обязательно будет нарушена.

Вы можете попытаться создать свой шаблон страницы следующим образом:

 <?php wp_head(); ?> <div id="yourdelivereddivwithoutheaderandfooter">...</div> <?php wp_footer(); ?> 

Имейте в виду, что вам нужно открутить множество фильтров, которые плагин запускается на wp_head , чтобы заставить его работать правильно, но это может быть ваш wp_head простой снимок.