Удаление кода Wordpress из нижнего колонтитула, который использует do_action - PullRequest
0 голосов
/ 31 мая 2019

Я читаю документацию о том, как удалить разделы / содержимое родительской темы, использующей do_action ('action_name'), из моей дочерней темы.Насколько я понимаю, я понимаю, что это все еще не работает.Все, что я сейчас пытаюсь сделать, это удалить раздел об авторских правах родительской темы нижнего колонтитула в моей дочерней теме.У меня есть имя действия и родительская функция, которая его вызывает.Я могу добавить содержимое в нижний колонтитул, но не могу удалить то, что в данный момент находится там.

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

Я не понимаю, что я делаю неправильно.Спасибо за вашу помощь.

** Родительская тема Footer.php **

<?php
  /**
   * Hook - construction_base_action_footer.
   *
   * @hooked construction_base_footer_copyright - 10
   */
  do_action( 'construction_base_action_footer' );
?>
<?php wp_footer(); ?>
</body>
</html>

Дочерняя тема Functions.php

add_action('construction_base_action_footer', 'action_name');

function action_name() {
  remove_action( 'construction_base_action_footer', 'construction_base_footer_copyright', 10 );
  echo "<p>Additional text</p>";
}

1 Ответ

1 голос
/ 31 мая 2019

Происходит следующее: поскольку ваш хук и хук родителя имеют одинаковый приоритет (10), ваш remove_action не происходит достаточно быстро, прежде чем хук родителя сработает.У вас есть несколько вариантов, чтобы исправить это.


A) Увеличьте приоритет вашей собственной функции, чтобы remove_action происходило до того, как сработает авторское право.Измените:

add_action('construction_base_action_footer', 'action_name');

на:

add_action('construction_base_action_footer', 'action_name', 1);

Этого должно быть достаточно, чтобы это исправить, но на самом деле это не "лучший метод".


Б) Вы можете просто изменить вызов на действие в footer.php.Скопируйте файл в каталог дочерней темы и полностью удалите строку do_action('construction_base_action_footer'); и замените ее любым содержимым, которое вам нужно, или измените его так, чтобы он вызывал вашу собственную функцию настраиваемого действия с другим именем действия.Любой из этих подходов намного лучше, чем вариант А.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...