WordPress Hooks definieren und nutzen

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

Kommentare

  
  1. I'm your user for wordpress theme.
    Thank you for share.

  2. Steffen sagt:

    So einfach und doch so effektiv. Im Hybrid Framework von Justin Tadlock bin ich das erste mal auf diese "eigenen Hooks" gestoßen, da waren es aber auch schon wieder so viele Verschachtelungen, dass ich davon mehr als irritiert war.
    Das mit der Anwendung in Plugins ist eine gute Idee auf die ich nicht gekommen bin. Bisher habe ich immer andere Plugins direkt in dessen Zeilen für mich erweitert, mit einem Hook ist das natürlich sauberer, gerade wenn es dann zu einem Update kommt, ist das dann sicher schneller angepasst. Danke!

  3. Ralf Hortt sagt:

    Ja ich hatte das selbe mal vor einem halben Jahr probiert und war erstaunt, aber auch Glücklich, das die Hooks und Actions so funktionieren. So kann man Schnittstellen in seinen eigenen Plugins möglich machen.

  4. Andreas sagt:

    Kann mir jemand sagen welchen Hook ich verwenden muss, damit meine Funktion aufgerufen wird, sobald ein Future-Post online geht?

  5. Susanne sagt:

    Besten Dank für die Tipps!

  6. Torsten sagt:

    Gute Sache das, aber wie kann ich es anstellen, Core-Dateien zu erweitern, ohne dort direkt in den Code einzugreifen bzw. bei einem WP-Update jedes Mal wieder neu rum fummeln zu müssen?

    Konkretes Beispiel: Ich möchte die wp-login.php (ab ca. Zeile 280) so erweitern, dass keine Unterstriche im Benutzernamen bei einer Registrierung möglich sind. Der PHP-Code ist mir klar:

    // Check the username
    if ( $sanitized_user_login == '' ) {
    $errors->add( 'empty_username', __( 'ERROR: Please enter a username.' ) );
    } elseif ( ! validate_username( $user_login ) ) {
    $errors->add( 'invalid_username', __( 'ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.' ) );
    $sanitized_user_login = '';
    /* ######## Einfügung von Torsten Kelsch ######################## */
    } elseif ( stristr($user_login, "_" ) ) /* Unterstriche verbieten */ {
    $errors->add( 'invalid_username', __( 'ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.' ) );
    $sanitized_user_login = '';
    /* ######## Ende der Einfügung von Torsten Kelsch ############### */
    } elseif ( username_exists( $sanitized_user_login ) ) {
    $errors->add( 'username_exists', __( 'ERROR: This username is already registered, please choose another one.' ) );
    }

    Aber wie kann ich die Veränderung der Core-Datei verhindern? Das verstehe ich noch nicht so ganz.

    Bin für Tipps und Tricks dankbar.
    Torsten

    • @Torsten: du kannst über den Hook register_post deine Eigene Prüfung mitgeben. Lege sie in eine Funktion, Parameter mitgeben und diese an der Stelle einhaken. Da es hier mehrere Parameter (3) gibt, musst du die Anzahl im Wert mitgeben.
      add_action( 'register_post', 'my_check', 10, 3 );

© 2016, since 2005 bueltge.de [by:ltge.de] · Theme is built by ThemeShift