换了Sandbox并调整了一下主题,发现ajax comments无效了,一直以为是模板的关系,仔细跟了一下才发现居然是Quoter搞的鬼。
因该算是Quoter的一个Bug吧,所有带js参数的url全部返回Quoter的JS,于是。。。ajax comments的js便失效了,comment的提交代码自然也就不存在了。
解决:其实可以仿照ajax comments的做法(这点ajax comments的作者要比quoter的作者考虑的周到),就是在返回js之前,判断url是不是quoter的,如果是的话再返回,diff文件如下:
--- quoter.php.ori 2007-08-30 01:38:24.000000000 -0700
+++ quoter.php 2007-08-30 01:42:41.000000000 -0700
-26,8 +26,12
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+define('PLUGIN_QUOTER_FILE', 'quoter.php');
+define('PLUGIN_QUOTER_PATH', '/wp-content/plugins/quoter/');
+
// Javascript code
-if (isset($_GET['js'])) {
+if(strstr($_SERVER['PHP_SELF'], PLUGIN_QUOTER_PATH.PLUGIN_QUOTER_FILE)
+ && isset($_GET['js'])) {
quoter_JScode();
}
-148,7 +152,8
// If it's a server side quote page don't let robots index it
- if (isset($_GET['quote']) && $_GET['quote'] != ""){
+ if(strstr($_SERVER['PHP_SELF'], PLUGIN_QUOTER_PATH.PLUGIN_QUOTER_FILE)
+ && isset($_GET['quote']) && $_GET['quote'] != ""){
echo ("n");
0 Responses to Quoter插件的Bug