wake-up-neo.com

Administratorbenachrichtigung zur Plugin-Aktivierung kann nicht hinzugefügt werden

Ich habe folgenden Code in meinem Plugin:

register_activation_hook( __FILE__, 'sp_subscriber_check_activation_hook' );
function sp_subscriber_check_activation_hook() {
    add_action( 'admin_notices', 'sp_subscriber_check_activation_notice' );
}
function sp_subscriber_check_activation_notice(){
    ?>
    <div class="updated notice is-dismissible">
        <p>If you are using a caching plugin like W3TC or WP Super Cache make sure to make any pages you wish to protect an exception to the caching!.</p>
    </div>
    <?php
}

Wenn ich das Plugin aktiviere, bekomme ich jedoch keine Benachrichtigung. Ich habe versucht, update_option und get_option zu verwenden, aber auch damit hatte ich kein Glück.

Was ist der richtige und beste Weg, um dies zu erreichen?

UPDATEIch habe das vorübergehende Ding so ausprobiert:

register_activation_hook( __FILE__, 'sp_subscriber_check_activation_hook' );
function sp_subscriber_check_activation_hook() {
    set_transient( 'mp-admin-notice-activation', true, 5 );
}

add_action( 'admin_notices', 'sp_subscriber_check_activation_notice' );
function sp_subscriber_check_activation_notice(){
     if( get_transient( 'fmp-admin-notice-activation' ) ){
        ?>
        <div class="updated notice is-dismissible">
            <p>If you are using a caching plugin like W3TC or WP Super Cache make sure to make any pages you wish to protect an exception to the caching!</p>
        </div>
        <?php
        delete_transient( 'mp-admin-notice-activation' );
    }
}

Aber es hat immer noch nicht funktioniert.

UPDATE 2 Ich hatte einen Tippfehler im vorübergehenden Teil. Es hat funktioniert und ich poste es als Antwort.

3
Shiv

Wie @MohammadLimon sagte, muss ich die Transients-API verwenden. Der folgende Code hat funktioniert:

register_activation_hook( __FILE__, 'sp_subscriber_check_activation_hook' );
function sp_subscriber_check_activation_hook() {
    set_transient( 'mp-admin-notice-activation', true, 5 );
}

add_action( 'admin_notices', 'sp_subscriber_check_activation_notice' );
function sp_subscriber_check_activation_notice(){
     if( get_transient( 'mp-admin-notice-activation' ) ){
        ?>
        <div class="updated notice is-dismissible">
            <p>If you are using a caching plugin like W3TC or WP Super Cache make sure to make any pages you wish to protect an exception to the caching!</p>
        </div>
        <?php
        delete_transient( 'mp-admin-notice-activation' );
    }
}
2
Shiv