Intereting Posts
Изменение параметров запроса по умолчанию WooCommerce: Webhook отключен самостоятельно get_results работает неправильно Тема ребенка не перезаписывает родительские темы style.css Несколько конечных точек на одной странице пользовательский пост на главной странице Тема переключения только изменяет используемую таблицу стилей Различные боковые панели не меняются Как скрыть содержание сообщения / мета из всех, кроме автора сообщения и администратора Логин снова после обновления профиля Каков рекомендуемый способ структурирования большого количества плагинов, общих функций и общих зависимостей на сайте WordPress? Есть ли функция для получения информации о сообщении для любого publish_status по идентификатору сообщения? Выберите определенный тип хостинга для WordPress? Проблема с Loop – хочу ограничить доступ к трем бесплатным статьям Любой может зарегистрироваться через бэкэнд

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

Мне нужно удалить функцию из родительской темы и заменить ее в дочерней теме.

Эта функция называется print_meta ($ meta_box). Функция не подключается и находится в случайном файле, а не в файле functions.php.

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

Я не думаю, что могу использовать remove_filter (), поскольку функция не подключена.

Я пробовал это: print_meta ($ meta_box)

function remove_parent_theme_functions( $meta_box ) { remove_filter( 'init', 'print_meta' ); } add_action( 'after_setup_theme', 'remove_parent_theme_functions' ); 

но я не знаю, какой тег использовать. Я пробовал все виды.

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

Пока что я вижу, какой тег я использую.

Возможно ли это?

Возможно ли это?

Если ваше описание верное и …

  1. Эта функция не подключается, и я предполагаю, что вы не имеете дело с условием if (!function_exists()) и
  2. Функция не является обратным вызовом для действия или фильтра и
  3. Функция не находится в файле темы, который автоматически заменяется системой загрузки шаблонов

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

Поэтому я нашел способ сделать это. Это не столько ответ, сколько то, что вы можете попробовать.

Поскольку я не мог удалить функцию, на которую я нацелился. Я проследил функцию обратно туда, где она была вызвана, а затем туда, где эта функция была вызвана …, которая, как оказалось, имеет add_action.

Поэтому я отфильтровал это действие. Это, в свою очередь, отфильтровало функцию, которая приводит к моей целевой функции.

Теперь все три функции отфильтрованы. Итак, я добавил, а затем вернулся, указав каждое новое имя функции, и как только я добрался до своей целевой функции, я внес необходимые изменения. Теперь сформируйте add_action. У меня есть три новые именованные функции и необходимые мне изменения.

Это сработало, это просто потребовало тщательного копирования.