我们在收到"回复"时遇到了一些问题。我们的WordPress网站上的评论功能。提交评论一般工作正常,但即使我已将网址重定向到"回复"按钮看起来是正确的,它只是将其作为正常评论发布,评论部分上方的标题只是常规标题,而不是预期的"发表回复..."。它是一个自定义主题,但它设置为支持此功能,WordPress本身配置为允许线程注释下降到默认的5个级别。
以下是相关网站: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]
除了评论回复之外,其他任何事情都可以正常工作。
我们可以检查或尝试的任何想法吗?
答案 0 :(得分:1)
也许你需要包含来自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');
答案 1 :(得分:0)
建议:尝试将永久链接结构(临时)更改为Default
(如果尚未更新)。
此过程将强制Wordpress从.htaccess
文件中删除重写代码。再次测试并恢复永久链接 - 测试,如果问题发生 - 那么这就是关键。
答案 2 :(得分:0)
将重写规则更改为以下内容(取自WordPress codex)修复了问题:
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]