Michael Hampton(即是 Bad Behavior plugin 的作者)剛剛在他的 WordPress.com blog 內提出一個在 WordPress 2.0 內使用 Google AdSense 注意之事,文章名叫 AdSense On WordPress 2.0。
在 WordPress 2.0 中有一個很酷的功能名叫 Post Preview,即是在 edit / view draft 時,在文章下方會顯示一個 preview 畫面,內裡會顯示這篇文章在發表時的樣子,但如果有使用 Goolge AdSense,當 preview 時都會直接讀取 Google AdSense 廣告,但因為文章還未發表,如果跟著 Google 嘗試尋找這篇文章時,就會出現 404 Not found 的情況,有可能會被 Google 暫停你的 AdSense 戶口。
在 WordPress 2.0 中有一個新的 template tag - is_preview,用來檢查是否在 Live Preview 的模式內,所以只需要使用以下的 code 來控制 AdSense 是否顯示便可以了:
<?php if (!is_preview()) { ?>
// Paste your AdSense code here //
<?php } ?>
我试了一下,为什么不起作用呢?广告还是会出现在贴子预览中:confused:
ChamPioNeer:應該沒有問題的,你有沒有打漏了感嘆號?即是 !is_preview() 而不是 is_preview(),感嘆號的作用是解作 NOT,整句 if 語句的意思是「不在 preview 模式中」,所以只需要將 AdSense 的 code 取代文中 // Paste your AdSense code here // 的話,在 view /edit draft 時的 Post Preview 是應該不會執行 if 括弧內的 code。
这是我在single.php中的相关代码,请看看有问题吗?
-------------------------------------------------------
你要用 <code> </code> 來包著代碼才行。
<?php if (!is_preview()) { ?>
<script type="text/javascript"><!--
google_ad_client = "pub-9972872461887175";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?php } ?>
因為我不太喜歡使用 endif,所以代碼和原文的有所出入,你有沒有試過直接用原文的代碼?
试过了,还是不行,不知道是哪里出的问题:really:,我在原作者的帖子上也问了,还没有得到答复,可能要等明天了。不管怎样,多谢多谢!
ChamPioNeer:
其實純粹 is_preview 這個 template tag 是沒有問題的,因為我試過放些 coding 在 sidebar,的而且確是在 Post Preview 時 !is_preview 內的 coding 是不會執行的,但奇怪的是為何 Google AdSense 的 code 會照樣執行。:really:
天佑,我现在在升级站点上已安装了WP2.0正式版,上回那个不能正常编辑帖子、编辑时会转向外部页面的问题仍然存在,在论坛上WP的开发者Matt前几天也就这个问题回了帖,说这个问题跟编辑帖子中的预览功能有关,但没有说解决办法,也没有在正式版本中解决。这个功能应该就是你上面所说的这个“很酷的功能”,可我并不喜欢,觉得作用不大反而影响编辑页面的打开速度;更关键的是,现在这个功能已经严重地影响了我(当然还有那些跟我一样碰到这个问题的WP用户。),算是一个bug了。
我想请教一下,如果知道了是这个功能的原因之后有没有解决,或者实在暂时没有办法的话,有没有办法关闭、取消这个编辑预览功能?
BTW,请问上回说的UTW的相关帖子功能中的帖子时间排序问题,不知道有没有进展?你,或者UTW的作者有没有什么回应?谢谢。
窩子:這個 Post Preview 功能應該是不能關閉的,因為我在 Admin. panel 內也找不到可以關閉它的選項。
至於 UTW 的 related posts 時間排序問題,作者 Christine 已經知道有關建議,但因為忙的關係未能著手修改,而我自行修改了,修改方法可參考更新了的 Ultimate Tag Warrior 教學 內第五節。:wink:
窩子:我剛剛在 WordPress Support Forum 內看到關閉 Post Preview 功能的方法,你不妨一試。:tongue1:
Can you Disable Post Preview?
天佑,太感谢了。两个让我难受的问题都解决了。:thumb-up1:
我的新站点(新域名)已调试得差不多了,准备后天1号发布。:clap:
不错,论坛上那个办法确实管用:thumb-up1:
天佑,新年快乐!Blog上有个游戏,我点了你的名,虽然有些无聊,权当是新年的一点儿乐趣吧:lol2:
ChamPioNeer:Blog Tag 這類遊戲我已經沒有興趣再玩了,真的抱歉我不會參與。
ChamPioNeer:我剛剛在 WordPress Trac 看到有關 is_preview 的 bug,不知你的問題是否相同呢?
不好意思,这几天一直在忙自己的事,也没有看这个帖子:sweatdrop:那个Bug的论述我看了,应该和我的问题相近,但可惜上面提供的临时解决方法我试了一下没有成功,可能还要再等等。我现在是将Preview功能屏蔽了,也不错。
這個BUG在2.0.1解決了嗎?
aHfUi:據 ChamPioNeer 測試後証實這個 bug 已經修正了。:wink:
有没有可能把预览改为原来的那种呢?
用原来的代码似乎不行,html标签都实体化了。
冰古:你所指原來那種是指 1.5 版本?若果是的話就應該不行了。
就是1.5那种
好像真的不能
有些奇怪:D
我没检测is_preview,页面里不会显示google ad, 加上检测代码后就正常啦。
Anyway,感谢你的Blog!
世界真是好小,能找到和自己的叫一样名字的,不错呵呵
为什么我不能留言?
[quote comment="12398"]为什么我不能留言?[/quote]
此話何解?
[quote comment="12421+1"][quote comment="12398+1"]为什么我不能留言?[/quote]
此話何解?[/quote]
啊,我留言也很困难
[quote comment="12800"]啊,我留言也很困难[/quote]
如果你是指需要輸入認証碼的話,是因為我使用了 Spam Karma 2 plugin,在一些登出已久的文章內留言的內,計分機制會將分數減低至負分,除非留言者之前曾時常留言,否則最後輸入認証碼這一步驟會走不掉的。
[quote comment="12802"]如果你是指需要輸入認証碼的話,是因為我使用了 Spam Karma 2 plugin,在一些登出已久的文章內留言的內,計分機制會將分數減低至負分,除非留言者之前曾時常留言,否則最後輸入認証碼這一步驟會走不掉的。[/quote]
h好奇怪啊@。。为什么我引用的留言没有名字和时间@你回复的就有?
。。。。有了@