我正在为创建自定义主题my blog 我已经写了一段时间的评论了。我尝试了一些不同的策略,阅读了很多抄本和这里的问题,但我似乎无法让评论起作用。
我已经创建了自定义注释。php文件并将其放在主题目录中,但我知道它甚至没有包含在博客中,因为我放了一些控制台日志,但它们没有显示出来。
问题似乎比这更复杂,因为我可以显示评论表单,但我尝试输入一些测试评论,当我单击表单上的提交时,没有评论提交到数据库,它只是将我重定向到单条。php的博客条目,我试图发表评论。
我试着复制评论。php来自2016年的主题,但这也没有什么不同。
我一直在遵循一些不同的教程,了解如何设置此功能,并试图在讨论评论的wordpress codex页面中找到我的答案。php,但我没有任何运气。如果有人能看看我的博客,告诉我哪里可能出错,我会非常感谢你的帮助。
我用这行代码调用注释部分:
<?php comments_template(); ?>
这是我自定义注释的代码。php:
<?php
if(!empty($_SERVER[\'SCRIPT_FILENAME\']) && \'comments.php\' == basename($_SERVER[\'SCRIPT_FILENAME\'])) :
die("You shall not pass!");
endif;
if ( post_password_required() ) {
return;
}
?>
<script type="text/javascript">console.log("Is this thing on?");</script>
<div id="comments" class="comments-area">
<?php if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
$comments_number = get_comments_number();
if ( 1 === $comments_number ) {
/* translators: %s: post title */
printf( _x( \'One thought on “%s”\', \'comments title\', \'twentysixteen\' ), get_the_title() );
} else {
printf(
/* translators: 1: number of comments, 2: post title */
_nx(
\'%1$s thought on “%2$s”\',
\'%1$s thoughts on “%2$s”\',
$comments_number,
\'comments title\',
\'twentysixteen\'
),
number_format_i18n( $comments_number ),
get_the_title()
);
}
?>
</h2>
<?php the_comments_navigation(); ?>
<ol class="comment-list">
<?php
wp_list_comments( array(
\'style\' => \'ol\',
\'short_ping\' => true,
\'avatar_size\' => 42,
) );
?>
</ol><!-- .comment-list -->
<?php the_comments_navigation(); ?>
<?php endif; // Check for have_comments(). ?>
<?php
// If comments are closed and there are comments, let\'s leave a little note, shall we?
if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), \'comments\' ) ) :
?>
<p class="no-comments"><?php _e( \'Comments are closed.\', \'twentysixteen\' ); ?></p>
<?php endif; ?>
<?php
comment_form( array(
\'title_reply_before\' => \'<h2 id="reply-title" class="comment-reply-title">\',
\'title_reply_after\' => \'</h2>\',
) );
?>
</div><!-- .comments-area -->
如果需要更多的代码,请让我知道,我会尽快发布。我真的很想弄清这件事的真相。提前感谢!
SO网友:Dave Romsey
通过设置全局变量,可以在存档页面上启用注释$withcomments
到true
通话前comments_template()
:
global $withcomments;
$withcomments = true;
comments_template( \'\', true );
作为
Michael 在对原帖子的评论中指出,
comments_template()
在以下情况下不返回输出
$withcomments
是
true
, 或者在许多其他情况下:
function comments_template( $file = \'/comments.php\', $separate_comments = false ) {
global $wp_query, $withcomments, $post, $wpdb, $id, $comment,
$user_login, $user_ID, $user_identity, $overridden_cpage;
if ( !(is_single() || is_page() || $withcomments) || empty($post) )
return;
...
comment-reply JS
通常,您希望包括
comment-reply
正在处理评论的JS(单篇帖子),但内置
comment-reply
JS脚本似乎不适用于包含多篇文章的页面,因此您需要推出自己的解决方案。