web-dev-qa-db-ja.com

プラグインの有効化に関する管理者通知を追加できません

私のプラグインには以下のコードがあります。

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
}

しかし、私がプラグインを有効にしても、何の通知もありません。私はupdate_optionget_optionを使ってみましたが、私はどちらもうまくいっていません。

これを達成するための正しいそして最善の方法は何ですか?

_ update _ このような一時的なことを試しました:

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

しかし、まだうまくいきませんでした。

更新2 一時的な部分に入力ミスがありました。それはうまくいったし、私はそれを答えとして投稿するつもりです。

3
Shiv

@MohammadLimonが言ったように私はトランジェントAPIを使用する必要があります。次のコードはうまくいきました:

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