Как в wordpress вставить код в head?

Одной из задач, решаемых с поддержкой WordPress плагинов является добавление пользовательского контента в тег head страниц, генерируемых WordPress. Этот рецепт покажет вам, как зарегистрировать необходимый action hook, чтобы владеть возможность добавить подобный добавочный контент.

В предыдущей статье WordPress: С чего начинаются плагины мы разобрали самую основу создания плагинов. В этой статье мы продвинемся немножко дальней.

Дабы этот образец не был совершенно уж ненужным, мы напишем плагин, какой будет вставлять JavaScript код Google Analytics в теге head страницы, какой многие используют, чтобы владеть статистику по своему сайту. Итак начнем по шагам:

  1. Мините в директорию плагинов движка WordPress: wp-content/plugins
  2. Создайте там новоиспеченную директорию и наименуйте её page-header-output
  3. Забегите вовнутрь директории и создайте новоиспеченный текстовый файл наименуйте его page-header-output. php
  4. Отворите ваш новоиспеченный файл в текстовом редакторе и добавьте необходимый комментарий-заголовок наименовав плагин «Page Header Output.»
  5. После комментария добавьте вытекающую строку кода, чтобы зарегистрировать функцию, какая будет вызываться в момент, когда WordPress формирует тег head страницы:
  6. Дальше реализуем функцию page_header_output:
  7. Храним файл
  8. Идем в админку нашего сайта во вкладку Plugins
  9. Находим наш плагин в списке и активируем его

Сейчас перебегите на основную страницу вашего сайта и отворите её HTML-код. Если вы все сделали верно то сможете увидать что в теге head страницы сейчас выводится необходимый Javascript-код.

Хук wp_head, рассматриваемый тут, не передает никаких параметров своим callback-функциям, но иные хуки могут передавать.

Итак, что же мы сделали? Функция add_action используется для привязки кода плагинов к одному из двух образов WordPress хуков: action hooks. Хуки в WordPress позволяют добавлять различные функциональные возможности при поддержки callback-функций. action hooks позволяют запустить необходимый код в необходимых точках, в необходимый момент при формировании страницы фронтенда или админки, какая затем будет отображаться пользователю. Этот код обыкновенно добавляет содержимое на сайт или меняет способ выполнения этого поступки.

Читайте также:  Плагин блога для wordpress

Рассмотрим написанный код. Первая строка кода вяжет нашу функцию 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. Тут как в линуксе: чем меньше число, тем вяще приоритет.

Читайте также:  Сниппеты wordpress

Заключительный параметр: accepted_args, имеет смысл по умолчанию 1. Ему вечно надлежит быть прикарманено число. Этот параметр устанавливает число агрументов, какие будут переданы привязанной callback-функции.

Отдельный из хуков не передают никаких параметров в callback-функции, отдельный передают одинешенек (тут смысл по-умолчанию подходит весьма неплохо), а отдельный хуки передают немало одного параметра, вот в этом случае и требуется указывать параметр accepted_args.

Хук wp_head, рассматриваемый тут, не передает никаких параметров своим callback-функциям, но иные хуки могут передавать. Отдельный из этих хуков будут рассмотрены в грядущем.

Уместно, функции, прикрепленные к хуку можно запустить на выполнение и «в ручную» потребовав функцию do_action:

Первоначальный параметр это строка — имя хука, callback-функции, какого необходимо запустить на выполнение. Другой и дальше параметры это аргументы для callback-функций.

Немного того этот механизм можно использовать для создания собственных уникальных хуков. Первоначальный параметр это будет имя вашего уникального хука назовем его MyBestHook. Где-то в коде вздергиваем на наш хук столько функций сколько необходимо:

Дальше при необходимых обстоятельствах, в необходимое пора возбуждаем наш хук при поддержки do_action:

Вот такие пироги с хуками. Продолжение вытекает.

Уместно, функции, прикрепленные к хуку можно запустить на выполнение и «в ручную» потребовав функцию do_action:

Минуйте в директорию плагинов движка WordPress wp-content plugins.