it-swarm.com.de

So erhalten Sie mehrere Aktions-Hooks in einem Array

Hallo, ich schreibe ein kleines Plug-in, das Inhalte von außerhalb von WordPress enthält, und möchte, dass ein kleines Skript ausgelöst wird, wenn ein neuer Beitrag, eine neue Seite oder ein neuer Kommentar hinzugefügt wird. Auch wenn Widgets, Themes und Plug-Ins aktiviert oder deaktiviert sind.

Ich vermute, dass ich dafür die Aktions-Hooks verwenden sollte, aber da es mehrere Aktionen gibt, können Sie alle diese Aktionen in einem Array oder so abrufen.

class getStatic {

    var $_renderTasksOn =
        array(

              <!-- How do I call those actions in an array here -->

        )

function gerStatic() {

    <!-- Here goes the script to get external data -->
}

}

Ich bin sehr neu in der Programmierung daher bitte helfen Sie mit dem Code. Wie verwende ich diese Aktionshaken?

Freundlich helfen.

1
Vikram

Wenn Sie mehrere Aktionen ausführen möchten, müssen Sie add_action mehrmals aufrufen. Dies ist jedoch nicht so schwer. Nehmen wir als Beispiel Ihre Plugin-Klasse:

class WPSE6526_getStatic // Always prefix your plugin with something unique, like your name. Here I used the question number
{
    var $_renderTasksOn = array( 'wp_insert_post', 'wp_insert_comment', ... );

    function WPSE6526_getStatic()
    {
        // The constructor of this class, which will hook up everything
        // This is the 'trick' to this question: a loop on your list and `add_action` for each item
        foreach ( $this->_renderTasksOn as $hookname ) {
            add_action( $hookname, array( &$this, 'getStatic' ) );
        }
    }

    function getStatic()
    {
        // Your code
    }
}

add_action( 'plugins_loaded', 'wpse6526_getStatic_init' );
function wpse6526_getStatic_init()
{
    $GLOBALS['wpse6526_getStatic_instance'] = new WPSE6526_getStatic();
}
5
Jan Fabry