Как в wordpress вставить код в head?
Одной из задач, решаемых с поддержкой WordPress плагинов является добавление пользовательского контента в тег head страниц, генерируемых WordPress. Этот рецепт покажет вам, как зарегистрировать необходимый action hook, чтобы владеть возможность добавить подобный добавочный контент.
В предыдущей статье WordPress: С чего начинаются плагины мы разобрали самую основу создания плагинов. В этой статье мы продвинемся немножко дальней.
Дабы этот образец не был совершенно уж ненужным, мы напишем плагин, какой будет вставлять JavaScript код Google Analytics в теге head страницы, какой многие используют, чтобы владеть статистику по своему сайту. Итак начнем по шагам:
- Мините в директорию плагинов движка WordPress: wp-content/plugins
- Создайте там новоиспеченную директорию и наименуйте её page-header-output
- Забегите вовнутрь директории и создайте новоиспеченный текстовый файл наименуйте его page-header-output. php
- Отворите ваш новоиспеченный файл в текстовом редакторе и добавьте необходимый комментарий-заголовок наименовав плагин «Page Header Output.»
- После комментария добавьте вытекающую строку кода, чтобы зарегистрировать функцию, какая будет вызываться в момент, когда WordPress формирует тег head страницы:
- Дальше реализуем функцию page_header_output:
- Храним файл
- Идем в админку нашего сайта во вкладку Plugins
- Находим наш плагин в списке и активируем его
Сейчас перебегите на основную страницу вашего сайта и отворите её HTML-код. Если вы все сделали верно то сможете увидать что в теге head страницы сейчас выводится необходимый Javascript-код.
Хук wp_head, рассматриваемый тут, не передает никаких параметров своим callback-функциям, но иные хуки могут передавать.
Итак, что же мы сделали? Функция add_action используется для привязки кода плагинов к одному из двух образов WordPress хуков: action hooks. Хуки в WordPress позволяют добавлять различные функциональные возможности при поддержки callback-функций. action hooks позволяют запустить необходимый код в необходимых точках, в необходимый момент при формировании страницы фронтенда или админки, какая затем будет отображаться пользователю. Этот код обыкновенно добавляет содержимое на сайт или меняет способ выполнения этого поступки.
Рассмотрим написанный код. Первая строка кода вяжет нашу функцию page_header_output с action hook по имени wp_head, он является одним из немало чем 500 action hooks, какие доступны в льющихся версиях WordPress. Хук wp_head позволяет любой привязанной к нему функции добавить необходимый вам контент в тег head страницы перед её отображением пользователю.
Как было произнесено в этом случае контент будет отображаться, т. е. мы можем написать нашу функцию возвратного вызова весьма попросту, пристроив код Google Analytics между тегами
Первоначальный параметр это имя хука WordPress к какому мы желаем привязать нашу callback-функцию. Это имя необходимо постараться написать без промахов; в противном случае наша функция не будет вываться, и к тому же мы не увидим никакого извещения об промаху — помните об этом факте.
Вторым параметром является имя callback-функции, какая будет вызываться для выполнения поступков. Эта функция может владеть любое имя, с один-единственным условием — оно надлежит быть уникальным, чтобы избежать коллизий с именами функций из иных плагинов, или из кода WordPress. В этом рецепте имя функции строится из имени плагина, что мастерит его более-менее уникальным.
Параметр priority является необязательным(заключен в квадратные скобки) и имеет смысл по умолчанию — 10. Это приоритет выполнения привязанной callback-функции сравнительно иных функций, привязанных к этому же хуку.
В любом плагине можно зарегистрировать одну или немало callback-функции на необходимый action hook, с поддержкой функции add_action. Функции навешенные на одинешенек и тот же хук ставятся в очередность. Так вот параметр priority — мастерит эту очередность приоритетной.
Если вам необходимо, чтобы ваша функция вызывалась до или после иных функций, навешенных на этот же хук — измените смысл параметра priority. Тут как в линуксе: чем меньше число, тем вяще приоритет.
Заключительный параметр: accepted_args, имеет смысл по умолчанию 1. Ему вечно надлежит быть прикарманено число. Этот параметр устанавливает число агрументов, какие будут переданы привязанной callback-функции.
Отдельный из хуков не передают никаких параметров в callback-функции, отдельный передают одинешенек (тут смысл по-умолчанию подходит весьма неплохо), а отдельный хуки передают немало одного параметра, вот в этом случае и требуется указывать параметр accepted_args.
Хук wp_head, рассматриваемый тут, не передает никаких параметров своим callback-функциям, но иные хуки могут передавать. Отдельный из этих хуков будут рассмотрены в грядущем.
Уместно, функции, прикрепленные к хуку можно запустить на выполнение и «в ручную» потребовав функцию do_action:
Первоначальный параметр это строка — имя хука, callback-функции, какого необходимо запустить на выполнение. Другой и дальше параметры это аргументы для callback-функций.
Немного того этот механизм можно использовать для создания собственных уникальных хуков. Первоначальный параметр это будет имя вашего уникального хука назовем его MyBestHook. Где-то в коде вздергиваем на наш хук столько функций сколько необходимо:
Дальше при необходимых обстоятельствах, в необходимое пора возбуждаем наш хук при поддержки do_action:
Вот такие пироги с хуками. Продолжение вытекает.
Уместно, функции, прикрепленные к хуку можно запустить на выполнение и «в ручную» потребовав функцию do_action:
Минуйте в директорию плагинов движка WordPress wp-content plugins.