Intereting Posts
Как настроить «страницы» admin (edit.php) и «Edit Page» admin (post.php) для массового редактирования настраиваемого типа контента? Как быстро добавить 500+ загружаемых файлов в магазин Woocommerce? Как отображать плагины WordPress на обычном веб-сайте (без WordPress)? Как перенаправить свои сообщения в блоге на субдомен? Разработка темы -> Конкретная домашняя страница Проблема с бесконечной прокруткой на многоузловом с пользовательским запросом как создать дочерний плагин WordPress WP идентифицирует плагин по имени плагина или plugin_basename? Пользовательский файл журнала таксономии перезаписывает статическую страницу Контактная форма 7 Плагин отправляет письма в мой Gmail как спам wp_insert_post через категорию оболочки не вставлен wp_list_categories в nav_menu Проблема с указаниями и абсолютными ссылками Что делает l10n.js в WordPress 3.1? И как его удалить? get_term и get_term_by возвращают значение null или false, хотя термин существует

Пожалуйста, объясните мне, что делает do_action

Я стараюсь понять do_action, но не понимаю. Я изучал тему бламана. И они имеют этот код в sidebar.php

<div id="secondary" class="widget-area col-md-3" role="complementary"> <?php do_action( 'before_sidebar' ); ?> <?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?> <aside id="search" class="widget widget_search"> <?php get_search_form(); ?> </aside> <aside id="archives" class="widget"> <h1 class="widget-title"><?php _e( 'Archives', 'blain' ); ?></h1> <ul> <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?> </ul> </aside> <aside id="meta" class="widget"> <h1 class="widget-title"><?php _e( 'Meta', 'blain' ); ?></h1> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <?php wp_meta(); ?> </ul> </aside> <?php endif; // end sidebar widget area ?> </div><!-- #secondary --> 

Но я не понимаю, что такое вторая строка, то есть <?php do_action( 'before_sidebar' ); ?> <?php do_action( 'before_sidebar' ); ?> делать. Когда я удаляю эту строку, она выводит тот же результат.

Может кто-нибудь, пожалуйста, объясните в каком-то примере.

Solutions Collecting From Web of "Пожалуйста, объясните мне, что делает do_action"

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

Пример:

 <?php add_action( 'before_sidebar', function() { echo 'Try me!'; }); add_action( 'before_sidebar', function() { echo 'Yep. '; }, 1); // this should output "Yep. Try me!" <?php do_action( 'before_sidebar' ); ?> 

Третий аргумент является приоритетом. В моем примере я установил приоритет 1 во вторую функцию, и он будет выполнен на первом месте.

Для получения дополнительной информации см. WP Codex do_action и add_action .