zoukankan      html  css  js  c++  java
  • MediaWiki投放广告代码的几种办法

    很多年前就用MediaWiki并投放Google AdSense广告,中间也很多次修改过广告代码及投放方式,最近又在升级MediaWiki软件,也对广告投放进行了一些调整,现在小结一下我用过的几种广告代码投放方式:

    • 最简单直接的整站投放办法是修改皮肤文件,例如MonoBook.php或者Vector.php等,把广告代码放在需要放置的位置代码前后;
    • 只对某个页面投放,可以把广告代码直接嵌入wiki文本中(需要在LocalSettings.php中打开raw html功能,在<html></html>之间放置广告代码);
    • 对某一部分使用共同模板的页面投放,可以把广告代码放在模板页面中,这样调用该模板的所有页面都可以看到广告;
    • 只在网页顶部投放,可以利用“网站通知(Site Notice)”功能,修改MediaWiki:Sitenotice,在<html></html>之间放置广告代码;
    • 在网页底部投放,可以修改MediaWiki:Lastmodifiedat,放置广告代码就会显示在页面内容的下方;
    • 通过LocalSettings.php来投放,在其中设置$wgSiteNotice、$wgOut->prependHTML、$wgOut->addHTML、$wgOut->addScript等分别投放广告到不同的位置。

      以前也一直想把广告代码投放在页面下方(但在“隐私政策”等底部链接的上方)但没有找到很合适的办法,这次在网上搜索到一位老外写的博客《Displaying Google Adsense in MediaWiki》可以解决这个问题:

    • 投放在顶部:
      $wgHooks['SiteNoticeAfter'][] = function(&$siteNotice, $skin) { $siteNotice .= $adsense_code_top; return true; };
    • 投放在底部:
      $wgHooks['SkinAfterContent'][] = function(&$data, $skin) { global $myAdCode; $data .= '<div style="text-align:center;">'; $data .= $adsense_code_bottom;   $data .= '</div>'; return true;
    • 投放在侧面菜单下:
      $wgHooks['SkinBuildSidebar'][] = function($skin, &$bar) { $out = $adsense_code_sidebar; $out .= "<script>$('#p-Ads').addClass('persistent');</script>"; $bar['Ads'] = $out; return true; };

      另外,还可以不把上面的函数放在LocalSettings.php中,而是专门写一个小的第三方扩展程序,这样显得更专业,修改起来也更方便。

      上面的办法不仅适用于投放Google AdSense广告,其它的广告代码,例如百度联盟等,也都可以,包括内部推荐页面链接的代码。

      我们在MonoBook, Vector中投放广告都正常,但在WPtouch和MobileFrontend这样的移动皮肤中遇到广告位置错误或者部分广告内容不显示、遮盖广告位附近其它链接等问题,经过排查是css定义的问题,去掉main.css中对iframe的定义就可以恢复正常了。

  • 相关阅读:
    【洛谷P1119】灾后重建
    【洛谷P1462】通往奥格瑞玛的道路
    【洛谷P1991】无线通讯网
    poj 2892(二分+树状数组)
    hdu 1541(树状数组)
    hdu 5059(模拟)
    hdu 5056(尺取法思路题)
    poj 2100(尺取法)
    hdu 2739(尺取法)
    poj 3320(尺取法)
  • 原文地址:https://www.cnblogs.com/w1618/p/10778793.html
Copyright © 2011-2022 走看看