「MediaWikiでGoogleAdcenceを表示させる」の版間の差分
(ページの作成:「TEST」) |
|||
(同じ利用者による、間の23版が非表示) | |||
1行目: | 1行目: | ||
==はじめに== | |||
久しぶりにMediaWikiをクリーンインストールして最新版に変更しようとしたところGoogleAdcenceを表示させるためにインストールした[https://www.mediawiki.org/wiki/Extension:HTMLets/ja Extension:HTMLets/ja]の挙動がおかしくなったので、その対処メモ | |||
== いつもどおりインストールしたらエラー発生 == | |||
[[mediawikiwiki:Extension:HTMLets/ja|Extension:HTMLets/ja]]をインストールしてGoogleAdcenceを[[MediaWiki:Sitenotice]]に設定したところ以下のエラー表示が発生[[ファイル:2024-04-15 09-48-08.png|サムネイル|none|640x640ピクセル]] | |||
* | |||
<syntaxhighlight lang="php"> | |||
Deprecated: Accessing $wgHooks directly is deprecated,use HookContainer::isRegistered() instead.[Called from wfRenderHTMLet in /****/**/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 /****/**/www/MediaWiki/extensions/HTMLets/HTMLets.php at line 137] in /home/24h/www/MediaWiki/includes/debug/MWDebug.php on line 386 | |||
</syntaxhighlight> | |||
=== 正直よく分かりませんでした === | |||
'''$wgHooks への直接アクセスは非推奨'''とか表示されますがいろいろソースコードを変えても上手くいかずに困惑してしまいました | |||
== Google AdSenseのサイトをよく見ると解決方法がありました == | |||
直接の解決方法が載っているわけではありませんが、AdSenseコードをコピーする際に「<head></head>タグ間にAdSenseコードをコピーして貼り付けます」と書いて有ったので、MediaWikiの[[mediawikiwiki:Extension:HeaderExtension|Extension:HeaderExtension]]を使ってheaderタグにAdSenseコードを貼り付ければOKになりました | |||
=== インストール方法 === | |||
[[mediawikiwiki:Extension:HeaderExtension|Extension:HeaderExtension]]からコードをダウンロードして貼り付けます | |||
乱暴な説明になりますがインストールは以下のとおりです。 | |||
# [[mediawikiwiki:Extension:HeaderExtension|Extension:HeaderExtension]]からコードをダウンロード | |||
# MediaWikiをインストールしている場所のextensionsに解凍したHeaderExtensionにディレクトリの名前を変えてコピー | |||
# LocalSettings.phpにwfLoadExtension ( 'HeaderExtension' );を追加 | |||
# $wgHeadScriptCodeにGoogleAdcenceから取得した自分のAdcenceコードを追加 | |||
# $wgHeadScriptName = '好きな文字列';を追加(例えば$wgHeadScriptName = 'googleadcence';) | |||
参考までに設定を載せておきます。*********とあるのは個人で申請したAdcenceコードですので自分用に設定し直してください。<syntaxhighlight lang="php" line> | |||
# --------------------------------------------------------------------- | |||
# HeaderExtension拡張機能 | |||
wfLoadExtension ( 'HeaderExtension' ); | |||
$wgHeadScriptCode = <<<'START_END_MARKER' | |||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-*****************" | |||
crossorigin="anonymous"></script> | |||
START_END_MARKER ; | |||
$wgHeadScriptName = 'googleadcence'; | |||
</syntaxhighlight> | |||
これでGoogle AdSenseが表示されるはずです。 | |||
2024/06/27現在、このサイトが上記設定で動いています。 | |||
---- | |||
[[Category:MediaWiki|GoogleAdcenceをひょうじさせる]] | |||
__インデックス__ |
2024年6月27日 (木) 11:59時点における最新版
はじめに
久しぶりに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 /****/**/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 /****/**/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';)
参考までに設定を載せておきます。*********とあるのは個人で申請したAdcenceコードですので自分用に設定し直してください。
# ---------------------------------------------------------------------
# HeaderExtension拡張機能
wfLoadExtension ( 'HeaderExtension' );
$wgHeadScriptCode = <<<'START_END_MARKER'
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-*****************"
crossorigin="anonymous"></script>
START_END_MARKER ;
$wgHeadScriptName = 'googleadcence';
これでGoogle AdSenseが表示されるはずです。
2024/06/27現在、このサイトが上記設定で動いています。