ユーザーが自分のプラグインをアクティブにしようとしたときにメッセージを表示したいのですが。このメッセージは、彼が本当にプラグインをアクティベートしたいのか、彼が気が変わったらアクティベートをキャンセルするのかを尋ねます。どうすればそれを達成できますか。これは、参考のための警告メッセージのコードです。
---更新コード---
register_activation_hook( __FILE__, 'on_activation' );
function on_activation() {
// Add the admin notice:
add_action( 'admin_notices', 'on_activation_note' );
// Then you should check the DB option:
$plugins = get_option( 'active_plugins' );
// Do all the checks from the confirmation message
if ( !in_array(__FILE__, $plugins) ) {
unset( $plugins[ dirname( __FILE__ ) ] );
update_option( 'active_plugins', $plugins );
}
}
function on_activation_note() {
global $pagenow;
if ( $pagenow == 'plugins.php' ) {
ob_start(); ?>
<div id="message" class="error">
<p><strong>Aviso</strong></br>
Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
<p><span><a class="button" href="">Cancelar</a></span>
<span><a class="button" href="">Continuar</a></span></p>
</div>
<?php
echo ob_get_clean();
}
}
アクティベーションの詳細については、この回答でもっと読むことができます 。
基本的にあなたは register_activation_hook()
- に関数をフックする必要があります、これはあなたのメインのプラグインフォルダーの中から来て、サブフォルダーからではないと仮定します:
register_activation_hook( __FILE__, 'on_activation' );
function wpse65190_on_activation()
{
// Add an admin notice:
add_action( 'admin_notices', 'wpse65190_on_activation_note' );
// Then you should check the DB option:
$plugins = get_option( 'active_plugins' );
if ( ! in_array( dirname( __FILE__ ), $plugins )
{
unset( $plugins[ dirname( __FILE__ ) ] );
update_option( 'active_plugins', $plugins );
}
}
function wpse65190_on_activation_note()
{
// Add your note here: Maybe a form?
}
それはそれと同じくらい簡単です。あなたはただギャップを埋める必要があります。あなたが完全な実用的な例を手に入れたならば、あなたの実用的なコードでこの答えを更新してください。ありがとう。
activated と enabled の2つの区別を作成する必要があります。あなたはHAVE TOあなたのプラグインがどのロジックを処理すべきかを知るためにWPのために含まれているAKAを有効にしています。プラグインが有効になっていても、機能を無効にしてプラグインが activated であることをユーザーに警告することはできますが、まだ enabled にはできません。
二次的な有効化手順を使用するプラグインがいくつかあります。 Private WP および All-In-One SEO Pack を見れば、これらがどのように達成されているかがわかります。
これが私がそれに取り組む方法です:
update_option()
)に追加します。有効状態を示す選択ドロップダウンを持つ設定ページを作成することをお勧めします。get_option()
を使用してそのオプションを確認します。