[WordPress] 「Jetpack by WordPress.com」対応「WordPress.com Stats Helper」1行改造

タイトルが長い…。このサイトではないけれど、先日「Jetpack by WordPrerss.com」を導入した。「Jetpack by WordPrerss.com」は「WordPress.com Stats」の後継らしいから。

さて、「WordPress.com Stats Helper」というプラグインがあって、これを使うと「週間アクセスランキング」などが表示できるらしい。

ということで、早速導入してみたところ-

「WordPress.com Stats」が無いとエラー表示された。

スポンサードリンク

「Jetpack by WordPrerss.com」は「WordPress.com Stats」の(互換)後継プラグインではなかったのか・・。これは丁度、以下の状態と同じで、対処方法まで丁寧に解説されている。

WordPress.com Stats Helper は WordPress.com Statsがインストールされていないと動かない。 おまけに、「Jetpack by WordPrerss.com」と「WordPress.com Stats」は共存できない。(「WordPress 「Jetpack by WordPress.com 1.1.3」と「WordPress.com Stats Helper 0.5.5.3」 | TrippyBoyの愉快な日々」より引用)

が、ここに掲載されている対処方法は、モノグサな筆者にっては面倒だ。

1.126~129、131をコメントアウト(行頭に「//」を追加)
2.131行目のした、132行目に「$api_key = “あなたのAPIキー”;」を挿入

もともとのコードを読むと、何も複雑なことはしていない事に気がつく。

// Checks to see if wordpress.com stats plugin is installed and the api key is defined
function wpcomstats_api_key() {
    // Check if worpress.com stats plugin is installed
    if (!function_exists('stats_get_api_key') || !function_exists('stats_get_option')) {
        echo 'Wordpress.com stats not installed!';
        return null;
    }
    // Check if the API key is defined
    $api_key = stats_get_api_key();
    if (empty($api_key)) {
        echo 'API Key not defined!';
        return null;
    }
    return $api_key;
}

簡単に箇条書きにするなら次のような内容になる。

  1. 「Wordpress.com stats」が有効なら利用可能になっている関数があって、これが利用可能か調べる
  2. 利用可能ならAPI キーを取得する
  3. 取得できたか
  4. できたならAPIキーを返し、そうでなければnull を返す

同サイトによる解説では、上記のいくつかを無効にして対処しているが、無効にしたところも無効にしていないところも余り影響がないコードだ。

なぜなら、この関数は結局のところ上記4の通り、「APIキー」か「null」を返しているだけなのだから、そもそも関数に細かく手を入れる必要もないハズだ。

結論から言えば、関数が呼び出されたと同時に「APIキー」を返してしまえばいいのだから、返答するためだけのたった1行を追加するだけで良い。

// Checks to see if wordpress.com stats plugin is installed and the api key is defined
function wpcomstats_api_key() {
    return $api_key = "******"; ←これを追記するだけ(もちろ***は自分のキーでね)

    // Check if worpress.com stats plugin is installed

return として制御を戻しているから、以降のプログラムが実行されることはないので、コメントアウトする必要もなく、元のコードを改変しなくていい。仮にプラグインがアップデートされたとしても1行をコピペするだけでいい。

※これは強制的に動作させるための改造であり、何らかのリスクが潜んでいる可能性があります。ご自身の判断と責任で。

参考文献

関連記事

スポンサードリンク

Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です