Пожалуйста, объясните мне, что делает 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 .