プラグイン有効時に何かを表示

提供:wiki - PCスキルの小技・忘却防止メモ
移動: 案内, 検索

プラグイン有効時に何かを表示。

目次

概要

初めて有効化したとき、それ以降で表示する文言を変更する。

「プラグイン有効」と「管理画面を開く」は別々に動作している。基本プラグインの「有効」のチェックをしたあとに「管理画面を開く」というフックが作動する感じ。

かつ、別々に動作するのでグローバル変数でどうこうするってのができない感じ。ひょっとしたら方法があるかもしれない。

ソースの中身の主なヤツ

  • 初めて有効化したときにDBにフラグを立てる。
  • 管理画面が開いたときにプラグインが「有効・無効」と「初めて管理画面が開いた」で条件分岐。

ソース

<?php
/**
 * @package testZebra
 * @version 1.0
 */
/*
  Plugin Name: 有効化されたときに何か表示
  Plugin URI: http://tips.recatnap.info/
  Description: 有効化されたときに何か表示させる
  Author: 丸ごとシマウマ
  Version: 1.0
  Author URI: http://tips.recatnap.info/
 */

define("zbr_PreFix", "zbr_");

/**
 * 有効時
 */
function pluginActivation(){
    // DBに書き込む
    $tmpData = array(
        "fstEnabled"=>1
    );
    update_option(zbr_PreFix . "option", $tmpData);
}

/*
 * プラグイン一覧ページ(wp-admin/plugins.php)が開かれたとき
 */
function openedPlugins(){
    $tmpData = get_option(zbr_PreFix . "option");
    
    // 有効化されているかチェック
    if (is_plugin_active(plugin_basename(__FILE__)) && $tmpData["fstEnabled"] == "1"){
        // 最初だけ表示
        echo "有効化してくれてありがと~";
        
        // フラグの書き換え
        $tmpData["fstEnabled"] = 0;
        update_option(zbr_PreFix . "option", $tmpData);
    }
    else if (is_plugin_active(plugin_basename(__FILE__))) {
        echo "有効化されてるよ~";
    }
    else {
        echo "意図していないエラーだよ~";
    }
}

register_activation_hook(__FILE__, "pluginActivation");
add_action("admin_head-plugins.php", "openedPlugins");
?>

関連項目