MediaWikiでGoogleAdcenceを表示させる
はじめに
久しぶりにMediaWikiをクリーンインストールして最新版に変更しようとしたところGoogleAdcenceを表示させるためにインストールしたExtension:HTMLets/jaの挙動がおかしくなったので、その対処メモ
いつもどおりインストールしたらエラー発生
Extension:HTMLets/jaをインストールしてGoogleAdcenceをMediaWiki:Sitenoticeに設定したところ以下のエラー表示が発生
Deprecated: Accessing $wgHooks directly is deprecated,use HookContainer::isRegistered() instead.[Called from wfRenderHTMLet in /home/24h/www/MediaWiki/extensions/HTMLets/HTMLets.php at line 136] in /home/24h/www/MediaWiki/includes/debug/MWDebug.php on line 386
Deprecated: Accessing $wgHooks directly is deprecated,use HookContainer::getHandlers() or HookContainer::register() instead.[Called from wfRenderHTMLet in /home/24h/www/MediaWiki/extensions/HTMLets/HTMLets.php at line 137]
in /home/24h/www/MediaWiki/includes/debug/MWDebug.php on line 386
正直よく分かりませんでした
$wgHooks への直接アクセスは非推奨とか表示されますがいろいろソースコードを変えても上手くいかずに困惑してしまいました
Google AdSenseのサイトをよく見ると解決方法がありました
直接の解決方法が載っているわけではありませんが、AdSenseコードをコピーする際に「<head></head>タグ間にAdSenseコードをコピーして貼り付けます」と書いて有ったので、MediaWikiのExtension:HeaderExtensionを使ってheaderタグにAdSenseコードを貼り付ければOKになりました
インストール方法
Extension:HeaderExtensionからコードをダウンロードして貼り付けます
乱暴な説明になりますがインストールは以下のとおりです。
- Extension:HeaderExtensionからコードをダウンロード
- MediaWikiをインストールしている場所のextensionsに解凍したHeaderExtensionにディレクトリの名前を変えてコピー
- LocalSettings.phpにwfLoadExtension ( 'HeaderExtension' );を追加
- $wgHeadScriptCodeにGoogleAdcenceから取得した自分のAdcenceコードを追加
- $wgHeadScriptName = '好きな文字列';を追加(例えば$wgHeadScriptName = 'googleadcence';)
これでGoogle AdSenseが表示されるはずです。