WordPress回复评论不起作用

问题描述:

我们在获取“回复”功能以在WordPress网站上发表评论时遇到了一些问题。一般情况下提交评论的工作正常,但即使我从“答复”按钮重定向到的URL看起来是正确的,但它只是将其作为普通评论发布,而评论部分上方的标题仅仅是普通标题,而不是预计“发表回复......”。这是一个自定义的主题,但它的设置是为了支持这一点,WordPress本身被配置为允许线程评论降低到默认的5个级别。WordPress回复评论不起作用

这里是有问题的网站:http//antagonist.no

有什么奇怪的是,它只是发生在真实的环境。我在本地设置了一个测试环境,其中WordPress配置了完全相同的配置和版本的模板。回复函数在那里完美工作,具有相同的URL结构和参数,并且我无法重现实时环境中正在发生的事情。

唯一的区别是宿主环境:我的本地测试环境在OS X 10.9上的Apache 2.2上运行,而实时环境在Windows Server 2008 R2上的IIS 6上运行。两者都运行PHP 5.5.8。这可能是由于永久链接的URL重写? WordPress的自动执行此操作在Apache,但在IIS环境中生活,我们使用了一种名为下ISAPI_Rewrite 3(http://www.helicontech.com/isapi_rewrite/)插件,支持URL重写,下列规则:

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?p=$1 [NC,L] 

这似乎为别的做工精细比评论回复。

任何想法,我们可以检查或尝试的东西?

建议:尝试将永久链接结构更改(临时)为Default(如果尚未)。

此过程将强制Wordpress从.htaccess文件中删除重写代码。再次测试并恢复永久链接 - 测试,如果问题发生 - 那么这是关键。

+0

我会尝试这一点,但WordPress是无法写入IIS6下的.htaccess文件,因为它是由一个扩展提供的,因此任何规则需要手动输入。但是我们可以尝试暂时禁用重写模块+永久链接结构,并查看它是如何发生的。一旦我们尝试过,我会回复。 –

+0

尝试它没有重写规则和永久链接设置为默认。现在起作用,所以它肯定是导致问题的重写规则。希望我们很快能够转向IIS7 +或Apache环境! :) –

+0

好极了,如果我可以提出一些建议 - 最好是坚持使用'Apache',而不是'IIS',如果可能的话。 – bodi0

更改重写规则如下(从WordPress抄本所)修复的问题:

RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

也许你需要包括从WordPress的JavaScript的意见,因为WordPress的用它来抓取从父评论ID评论。 尝试添加到您的functions.php

function add_comment_js(){ 
if (!is_admin()){ 
    if (!is_page() AND is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) { 
     wp_enqueue_script('comment-reply'); 
    } 
    } 
} 
add_action('get_header', 'add_comment_js');