Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174

Как работает wp-head()

25.07.2017, 14:54. Показов 2046. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В WP, как я думаю многие знают есть функция wp-head(), если ее конечно можно так назвать или хук. Мне вот интересно, как в нее все подтягивается. Т.е. грубо говоря в php есть requre и include, но как подтягивается функционал через wp-head() я не могу понять. Знающие люди объясните пожалуйста. И можно ли организовать подобное подключение минуя requre и include.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2017, 14:54
Ответы с готовыми решениями:

Не работает javascript в теге <head>
как сделать что бы joomla запустила скрипт который прописан в index.php в теге &lt;head&gt;

JS работает в body, но не работает в head
Вот так не работает: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Тест Knockout&lt;/title&gt; &lt;meta...

Ни как не получается вставить скрипт в <Head>
помогите!!! может я не то делаю.... где и как его вставить,,?? &lt;head&gt; &lt;!-- player skin --&gt; &lt;link...

11
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
26.07.2017, 09:31
Код вордпресс открыт, следовательно можно посмотреть как реализован любой интересующий функционал
0
11 / 11 / 5
Регистрация: 22.07.2017
Сообщений: 40
26.07.2017, 19:38
Вообще на сколько я знаю в wp_head можно все что угодно подключать как раз через хуки.

То есть пишешь функцию в которой что-то там делаешь.
затем эту функцию подключаешь с помощью хука к wp_head
PHP
1
2
3
4
add_action( 'wp_head', 'action_function_name_11' );
function action_function_name_11(){
    // action...
}
Или не в этом вопрос?
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
27.07.2017, 00:25  [ТС]
Цитата Сообщение от cessel Посмотреть сообщение
Или не в этом вопрос?
как это изначально реализовано средствами php, читайте лучше тему.
0
11 / 11 / 5
Регистрация: 22.07.2017
Сообщений: 40
27.07.2017, 14:48
Цитата Сообщение от Zhdanoff Посмотреть сообщение
читайте лучше тему.
Прочитал. Вопроса про способ реализации средствами PHP не было. Поэтому и уточнил. Отвечайте спокойнее. Тут Вам никто ничем не обязан.

Итак:
Реализация хуков в Wordpress следующая:

С помощью функции add_action и им подобных создается массив пользовательских функций, с порядком выполнения и параметрами.
Затем массив перебирается по приоритету выполнения функций и к каждому элементу массива применяется функция PHP call_user_func_array().
Этот перебор функций вызывается в том месте, где прописана функция do_action().

Если это не то о чем вы спрашивали уточните пожалуйста вопрос.
1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
27.07.2017, 15:01  [ТС]
Цитата Сообщение от cessel Посмотреть сообщение
Если это не то о чем вы спрашивали уточните пожалуйста вопрос.
а add_action это функция вордпресса или php? я вот о чем. эта функция реализована в wp? или как?
0
11 / 11 / 5
Регистрация: 22.07.2017
Сообщений: 40
27.07.2017, 15:17
add_action - это функция вордпресс.

Она по сути запускает функцию add_filter (тоже внутренняя функция WP).
А уже функция add_filter добавляет название пользовательской функции в нужное место, по порядку.
1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
27.07.2017, 15:21  [ТС]
Цитата Сообщение от cessel Посмотреть сообщение
add_action - это функция вордпресс.
Хорошо, можно ли схематично изобразить или объяснить на пальцах, к примеру. у меня несколько файлов .php, 1 файл = 1 класс, каждый класс имеет свои методы, как мне использовать метод определенного класса в файле index.php, без использования reuire и include?
0
11 / 11 / 5
Регистрация: 22.07.2017
Сообщений: 40
27.07.2017, 15:43
На сколько я знаю использовать require или include все равно придется, так как wordpress просто не знает о ваших классах.
Но их достаточно подключить один раз в файле functions.php, и они будут доступны везде.

Видел как в крутых платных темах в файле functions.php подключается один индексный файл, а он уже подключает все классы, функции и т.д.

А лучше вывести их в отдельный плагин. И уже подключать все классы там.
1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
27.07.2017, 15:46  [ТС]
Цитата Сообщение от cessel Посмотреть сообщение
А лучше вывести их в отдельный плагин. И уже подключать все классы там.
да не нужен мне WP, я знаю как и чего сделать в нем, если мне понадобится, мне интересно как реализован этот add_action , посмотреть на код так сказать
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.07.2017, 21:24
Цитата Сообщение от Zhdanoff Посмотреть сообщение
мне интересно как реализован этот add_action , посмотреть на код так сказать
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Код вордпресс открыт, следовательно можно посмотреть как реализован любой интересующий функционал
https://github.com/WordPress/WordPress
0
 Аватар для rikitikitari
87 / 87 / 41
Регистрация: 09.05.2015
Сообщений: 315
31.07.2017, 00:26
Лучший ответ Сообщение было отмечено Zhdanoff как решение

Решение

Хорошо, можно ли схематично изобразить или объяснить на пальцах, к примеру. у меня несколько файлов .php, 1 файл = 1 класс, каждый класс имеет свои методы, как мне использовать метод определенного класса в файле index.php, без использования reuire и include?
Если использовать autoloading и namespaces, то можно и без include, require - https://github.com/php-fig/fig... xamples.md. Composer позволяет все это легко настроить.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
// composer.json
{
    //
    "autoload": {
        "psr-4": {
            "MySuperProjectModule": "src/MySuperProject/Module"
        },
        //
    },
    //
}
Потом нужно запустить композер или пересобрать сгенерированный код и добавить в какой-нибудь index.php при помощи require или include vendor/autoload.php, и можно смело пользоваться. В классе MySuperProjectModule\Class1 можно будет использовать MySuperProjectModule\Class2 и т.д.

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

Добавлено через 8 минут
Чтобы понять как работают события, советую изучить паттерн Observer.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2017, 00:26
Помогаю со студенческими работами здесь

Как добавить информацию в раздел <head> страницы?
Сайт на ASP.Net WebForms. На некоторые страницы нужно добавить в раздел &lt;head&gt; такую строку: &lt;link rel=&quot;canonical&quot;...

Как из head перенести скрипт в отдельный файл
Добрый день! Подскажите как из head вытащить скрипт и подключить его отдельным файлом? не могу разобраться... смотрела файл head.php. Но в...

Как добавить тег script в head сайта?
Мне нужно через консоль разработчика браузера добавить скрипт в head сайта. Нр &lt;script type=&quot;text/javascript&quot;&gt;Some...

Как отклавливать экзепшн Prelude.head: empty list?
Привет народ, как вы обрабатываете такое исключение? Точнее будет сказать, эту ошибку т.к как я понял это разные вещи в хаскеле. Заключал...

Как добавить в корень сайта в файл в раздел head?
как добавить в корень сайта в файл в раздел head???чтобы подтвердить права доступа


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru