user
  • 0
Гуру

Где реализована функция wp_head() по умолчанию?

  • 0

Я пытаюсь настроить тему и вижу, что header.php вызывает «wp_head()». Кажется, я не могу найти реализацию этого в теме, поэтому я предполагаю, что есть реализация по умолчанию, которая реализует, например, настройки параметров цвета, как указано на странице администратора.

Итак, мои связанные вопросы:

  • Где-нибудь я могу увидеть эту реализацию по умолчанию?
  • Можно ли отключить эту реализацию по умолчанию?
  • Можно ли отключить параметр «Параметры цвета» на экране администратора для темы?

Пожалуйста, не стесняйтесь указать мне на соответствующую документацию, если это будет проще. Я просмотрел справочные страницы для функции wp_head() и соответствующего хука действия wp_head, но, похоже, они не предоставляют мне достаточно информации, чтобы ответить на поставленные выше вопросы.

Спасибо.

Share
  1. Где-нибудь я могу увидеть эту реализацию по умолчанию?

    wp_head() Функция просто запускает wp_head хук действия, который запускает все функции обратного вызова, которые были добавлены к этому хуку с помощью add_action('wp_head','callback_function'); Итак, нет никакой реализации по умолчанию.

    Можно ли отключить эту реализацию по умолчанию?

    Как мы уже говорили ранее, поскольку нет реализации по умолчанию, вам нужно найти add_action, которые подключаются к wp_head, и удалить их с помощью remove_action, например, если это add_action:

    add_action('wp_head','callback_function');
    

    затем, чтобы удалить его, просто добавьте

    remove_action('wp_head','callback_function');
    

    Можно ли отключить параметр «Параметры цвета» на экране администратора для темы?

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

    Обновлять

    есть некоторые действия, выполняемые по умолчанию при запуске wp_head, и для их удаления просто используйте:

    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wp_generator');
    remove_action('wp_head', 'feed_links', 2);
    remove_action('wp_head', 'index_rel_link');
    remove_action('wp_head', 'wlwmanifest_link');
    remove_action('wp_head', 'feed_links_extra', 3);
    remove_action('wp_head', 'start_post_rel_link', 10, 0);
    remove_action('wp_head', 'parent_post_rel_link', 10, 0);
    remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
    

    кроме того, что ищите add_action('wp_head'... в файлах темы и плагинах.

    • 0
    • спасибо за ответы. Я играю с темой Twenty Ten, которая была включена в загруженный мной WordPress. Если я выполню grep для «wp_head», будет только одно вхождение — вызов в header.php. Я не могу найти «add_action(‘wp_head’)». Тем не менее, похоже, что-то вызывается wp_head(), поскольку мой окончательный HTML-код включает в себя ряд тегов, в которых был wp_head(), включая стиль CSS для тела (реализующий мой выбор цвета на экране администратора). Итак, я полагаю, мой вопрос в том, где код для этого, и могу ли я его обойти? Спасибо.

      • 0
    • Красивый. Именно то, что мне было нужно. Мне удалось изменить <link ref="canonical"... тег, который WordPress автоматически выводит при wp_head() вызове, удалив функцию по умолчанию для его вывода следующим образом: remove_action('wp_head','rel_canonical'); . Потом я зарегистрировал свой вот так: add_action('wp_head', 'my_custom_rel_canonical'); и добавил весь этот код в header.php шаблон, потому что мне нужно сделать это там вместо обычного functions.php шаблона. Так что теперь я знаю, что это работает довольно хорошо. Спасибо Байинтернет.

      • 0

Оставить ответ

You must login to add an answer.