WordPressプラグイン・AdSense Deluxの管理メニューのアクセス権エラー

私のブログで導入しているWordPressプラグインの1つ、AdSense Deluxeの設定をいじろうと管理画面にアクセスしたところ、

このページにアクセスするための十分なアクセス権がありません。

という表示が一面に出てきて管理画面にアクセスできないという不具合を確認しました。どうやらWordPressのアップグレードに伴って不具合として表面化していたようです。

早速グーグル先生にご教授願ったところ次のページを発見。

WordPress:Adsenseのプラグイン「AdSense-Deluxe」導入時”このページにアクセスするための十分なアクセス権がありません。”エラーの修正方法 – 覚書 – My Knowledge Base – FC2ブログ版

このページの情報と、このページからリンクされている次のサイトの情報を元に修正を施しました。

Adsense Deluxe Solution – You Do Not Have Sufficient Permissions to Access this Page | Zalds

その修正内容はただ1箇所で、1125行目あたりにあるadd_action関数の第1引数として記述されているadmin_headadmin_menuに変更します。

続きを読む WordPressプラグイン・AdSense Deluxの管理メニューのアクセス権エラー

空白期間が出来てしまいました

先日、このサイトのWordPressのをVer.2.6.2にバージョンアップしたのと一緒に、テーマとして使っているwp.vicunaもバージョンアップしました。たまたま見たら上がっていたもので。

それぞれのソースをFTPで上げた後、表示がおかしくなってないかを確認しました。もちろん問題はなかったんで更新作業を終了させたんですよ。が、詰めが甘かった……。

……というのも、今回テーマに関するデータも更新していて、その中に独自に埋め込んでいたコードを新しいバージョンに埋め込むのを忘れてしまっていたんです。私のサイトではGoogle AdSenseに関するコードとGoogle Analysticsに関するコードがそれです。

少し前にもGoogle Analysticの情報を確認してみたんですが、ある時期からグラフが地を這っているんですよ。そのときは「どうしたんだろ?」ぐらいしか考えていなかったんです。自分のコードが原因とは考えずに。

で、今日もGoogle Analysticの情報を確認したら相変わらず地を這ったグラフが。ここでピンと来たんです。もしかして解析コードが入っていないの?って。早速ソースを見てみたらビンゴでした。</body>の前に

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._trackPageview();
</script>

を埋め込むだけです。(UA-xxxxxxx-x)は自分のアカウントの値を入れてください)

早速コードを修正しましたが、これで動作してくれるのかどうか……。

…あ、Google AdSenseのコードも入れてやらないと……(-_-)

Adsense Deluxe日本語版のバグ修正

昨日、『AdSense Deluxe日本語版 公開しました』にて かっちん さんよりAdSenseコードの有効/無効のチェックボックスが上手く働かないというバグがあるという報告を受けました。ということで早速デバッグをしたところ凡ミスをしていることが発覚しました。修正位置をお知らせしておきます。修正位置はadsens-dexuxe.phpの628行目と871行目です。
ます628行目を次のように修正します。

/* Erase
				. "	<input type='hidden' name='fn' value='" . < ?php __("update" , "AdSenseDX"); ?> . "' />\n"
Erase */
// start Add
				. "	<input type='hidden' name='fn' value='update' />\n"
// end Add

これでチェックボックスによる設定が働くようになるはずです。

さらにこの修正に伴い、日本語化していないところがあったのでその修正として871行目を次のように修正してください。

/* Erase
				$submit_msgs[] = "&raquo; " . __("<b><i> Enabled</i></b> status for all ad blocks updated!","AdSense");
Erase */
// start Add
				$submit_msgs[] = "&raquo; " . __("<b><i> Enabled</i></b> status for all ad blocks updated!","AdSenseDX");
// end Add

ちなみにこの修正はAdSense Deluxe日本語版に対してのみです。英語版では問題は起きていませんので安心してくださいね(^-^)

AdSense Deluxe日本語版 公開しました

先日完成した『AdSense Deluxe』の日本語版、公開することになりました。なおプラグインのバージョンは最新のv0.8ベースです。

公開先:WordPress Plugins/JSeries

プラグインの使い方ですが、ダウンロードしたプラグインをwp-content\pluginsにアップロードした後、プラグインを有効にすると『各種設定』のサブメニューとして『AdSenseDeluxe』が出てきます。そこではAdSense Deluxeの設定ができますが、
その下にプラグインの使い方も書かれています。

…ただ、英語の翻訳力が乏しいので原語からのイメージなんかで訳したため誤訳もあるかと…(-_-;;
なんせ学生の頃の英語の成績はとんと振るいませんでしたし。もし私の訳よりもっと良い訳が見つかりましたら
どんどん改編してやってくださいませ。


結局のところ作者の方からはあれから連絡はいただけておりません。どうしたらいいのかなぁ…と悩んでいたところ、WordPressプラグインを作成・配布しているサイトにたどり着きました。それが『WordPress Plugins/JSeries』です。

プラグイン・言語ファイル/パッチの作者の方で、つくられたものを “JSeries” にいれちゃってもいいかな、って思われた同志の方がもしいらっしゃいましたらご連絡ください

なんて書かれているじゃぁないですかっ!?
もう飛びつくようにメールを差し上げましたね。その日の夜にはJSeriesの管理人さんである ひろまさ さんから公開したという返事をいただけました。

……そうしてAdSense Deluxe日本語版は公開することになりました。快い返事をくださった ひろまさ さんにはお礼申し上げますm(_ _)m

…実は翻訳していて初めて知ったんですが、このプラグイン、寄付プラグインのようです。AdSenseDeluxeの設定の中程に
『このプラグインが役に立ってるって思うなら寄付してね』っていうチェックボックスがありましたので。

私が寄付しているかどうかは……ヒミツということで(^-^;;;

AdSense DeluxeのME 2.2への対応

さてさて、サーバーを変更するにあたり、WordPressもME2.0からME2.2に替えることにしました。これ自体は今のところ問題はありません。でもこれまで使ってきたプラグインの一部が機能していないことが発覚。早速デバッグすることにしました。まずはAdSense Deluxeからです。

AdSense Deluxeで確認できた不具合は記事の新規投稿でadsense用の選択ボックスが出てこないところです。でも一度草案などで保存した後では選択ボックスが出現します。ということで同様にプラグインによって追加されるボタンがある『IImage-Browser』のソースを参考にしてみました。理由は投稿後の記事編集を司る”page.php”でも新規投稿時の記事編集を司る”page-new.php”でも問題なくボタンが出現していたからです。それも日本語のボタンとして(-_-;

で、該当する場所を見つけました。1030行目あたり(AdSense Deluxe v.0.8の場合)に次のソースが存在します。そのif()文で選択ボックスの挿入するページを判断しているようです。そこでME 2.2に合わせて

// add

の付いた行を追加してみました。

		if(	strpos($_SERVER['REQUEST_URI'], 'post.php')
		|| strpos($_SERVER['REQUEST_URI'], 'post-new.php')		// add
		|| strpos($_SERVER['REQUEST_URI'], 'page.php')		// add
		|| strstr($_SERVER['PHP_SELF'], 'page-new.php'))
		{

なお、page.phpも入れたのはIImage-Browserにも入っていたことからもしかするとページの編集・修正時に出てこないかも…と思い、保険のために入れてみただけです(^-^;;

とりあえずこの改変で記事の新規投稿でも使えるようになりました。あ、でもこの変更はWordPress ME 2.2に対してですよ。
ME 2.0は記事の新規投稿も修正・編集も”page.php”で行われるので変更の必要ありません。まぁ、変更しておいてもたぶん不具合は起きないと思いますけど。

AdSense DeluxeとME 2.2を使用されている方で新規投稿時にAdSense用コメントを手動で入れておられる方には朗報だと思います(^-^)