web-dev-qa-db-fra.com

S'il vous plaît, expliquez-moi ce que fait la do_action

Je m'efforce de comprendre do_action mais je ne comprends pas. J'étudiais le thème Blane. Et ils ont ce code dans 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 --> 

Mais je ne comprends pas quelle est la deuxième ligne que je fais <?php do_action( 'before_sidebar' ); ?>. Quand je supprime encore cette ligne, le résultat est identique.

Quelqu'un peut-il s'il vous plaît expliquer avec un exemple.

1
user3848698

Si vous associez certaines fonctions à l'action before_sidebar, elles seront exécutées dans votre code. Votre action est maintenant probablement sans aucune fonction accrochée, donc elle ne renvoie rien.

Exemple:

<?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' ); ?>

Le troisième argument est une priorité. Dans mon exemple, j'ai défini la priorité sur 1 pour la deuxième fonction et celle-ci sera exécutée à la première place.

Pour plus d'informations, consultez WP Codex do_action , et add_action .

4
SLH