Intereting Posts
Получить каталог установки WP Две полосы прокрутки во всплывающем окне Как я могу программно улучшить организацию пользовательских типов сообщений? Измените дополнительный раздел CSS (добавив отказ) Иерархическая структура постоянной ссылки для сообщений, показывающих категории и подкатегории Отобразить все пользовательские термины таксономии и их соответствующие пользовательские сообщения Shortcode – Получение категорий появляется поверх веб-сайта Где поставить snarfer.php? Изменить номер даты на другой язык / скрипт? Список повторных ссылок на ссылки Разрешить пользователю редактировать сообщения, но не добавлять новые? Как добавить символ ASCII после каждого последнего сообщения Случайная перерисовка страницы Как установить От поданной в контактной форме 7 Использовать Mail (2) автоответчик wp_nav_menu внутри объекта – как я могу справиться с fallback_cb?

Как изменить функцию родительской темы через дочернюю тему?

Это функция, загруженная родительской темой. Через is_single тему я хочу изменить эту функцию, чтобы сказать is_single вместо is_singular . Каким будет правильный способ достичь этого?

 add_action('wp_head', 'dt_specific_enqueues'); function dt_specific_enqueues() { if (is_singular()) { wp_enqueue_script( 'comment-reply' ); } } 

Функция functions.php родительской темы будет загружаться автоматически. Вам не нужно «читать» его, и вы не хотите «взломать» его либо вручную, либо перезаписывать, либо программно, что очень ресурсоемкое.

Ваша тема запускает скрипт в действии wp_head . Вам просто нужно удалить этот обратный вызов и добавить немного измененный. Фокус в том, что functions.php child.php вашей дочерней темы загружаются после родительских functions.php поэтому вам нужно правильно выбрать время.

 function dequeue_dt_specific_enqueues() { remove_action('wp_head', 'dt_specific_enqueues'); } add_action('after_setup_theme', 'dequeue_dt_specific_enqueues'); 

Затем добавьте свою собственную версию:

 function altered_dt_specific_enqueues() { if (is_single()) { wp_enqueue_script( 'comment-reply' ); } } add_action('wp_head', 'altered_dt_specific_enqueues'); 

Вы можете использовать remove_action для удаления определенного действия, выполняемого родительской темой (в вашей дочерней теме, перед добавлением собственного действия к этому hook [wp_head] ), а затем добавьте свое собственное действие с add_action в свою дочернюю тему.

Рекомендации:

Удалить действие

Добавить действие