Nachricht nach Aktivierung des WordPress-Plugins anzeigen

Lesezeit: 2 Minuten

Ich möchte nach der Aktivierung des Plugins eine Aktivierungsmeldung anzeigen.

Ich habe ein paar Fragen zu SO dazu gesehen, aber keine davon funktioniert richtig:

if (!get_option("startup")) {
    echo "<div class="updated"><h3>Welcome to [name]</h3>";
    update_option('startup', 'true');
}

Das funktioniert.. irgendwie. Es stellt den HTML-Code ganz oben, noch vor dem <!DOCTYPE>. Gibt es eine Möglichkeit, es an der richtigen Stelle zu platzieren? Also im Body-Tag?

  • hast du versucht, es an der richtigen Stelle anzurufen?

    – SHR

    6. Juli 2016 um 23:41 Uhr

Es gibt ein paar Dinge, die Sie hier tun müssen. Erstens die register_activation_hook() Funktion wird verwendet, um sich in die Aktivierung Ihres Plugins einzuklinken. Und die admin_notices Aktion wird verwendet, um einen Hinweis im Admin-Bereich hinzuzufügen (Sie können Ihren Hinweis nicht einfach irgendwo ausdrucken).

Es gibt jedoch eine zusätzliche Komplikation darin, dass Sie kippen benutze die admin_notices Aktion bei Plugin-Aktivierung. Dies liegt daran, dass WordPress Ihr Plugin nicht „live“ aktiviert – es aktiviert es im Hintergrund und unterdrückt die Ausgabe, um vor Abschluss der Aktivierung sicherzustellen, dass es keine schwerwiegenden Fehler auslöst.

Glücklicherweise, diesen Blogbeitrag skizziert eine Lösung für dieses Problem. Der Autor des Beitrags schlägt die Verwendung vor Transienten um den “Zustand” Ihres Plugins zu speichern, damit er nach der Aktivierung abgerufen werden kann.

Da dieser Blog wie diese Seite eine CC-BY-SA-Lizenz hat, kopiere ich den Code hier hinein, damit er weiterlebt. Ich habe es etwas gekürzt, um die Länge dieses Beitrags gering zu halten, aber Sie können Sehen Sie sich den gesamten Blogbeitrag an für die vollständige Lösung. Ich habe dies auch getestet, um sicherzustellen, dass es immer noch funktioniert – und das tut es bei meiner Installation von WordPress 4.5.3.

register_activation_hook( __FILE__, 'fx_admin_notice_example_activation_hook' );

function fx_admin_notice_example_activation_hook() {
    set_transient( 'fx-admin-notice-example', true, 5 );
}

add_action( 'admin_notices', 'fx_admin_notice_example_notice' );

function fx_admin_notice_example_notice(){

    /* Check transient, if available display notice */
    if( get_transient( 'fx-admin-notice-example' ) ){
        ?>
        <div class="updated notice is-dismissible">
            <p>Thank you for using this plugin! <strong>You are awesome</strong>.</p>
        </div>
        <?php
        /* Delete transient, only display this notice once. */
        delete_transient( 'fx-admin-notice-example' );
    }
}

1364480cookie-checkNachricht nach Aktivierung des WordPress-Plugins anzeigen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy