На моем single.php у меня есть пользовательский код для комментариев, когда я отправляю комментарий, он переходит на пустую страницу с URL-адресом "https://mosquitojoefranchise.com/wp-comments-post.php". Однако, если я использую <?php comments_template(); ?>
, то он работает нормально. Мой код выглядит следующим образом:
<div id="comments">
<ol>
<?php
$pId = $post->ID;
$args = array(
'number' => '5',
'post_id' => $pId, // use post_id, not post_ID
);
$comments = get_comments($args);
foreach($comments as $comment) :
?>
<li>
<div class="avatar"><?php echo get_avatar( $comment, 68 ); ?></div>
<div class="comment_right">
<div class="comment_info">
<a href="<?php echo ($comment->comment_author_url); ?>"><?php echo($comment->comment_author);?></a> <span> </span><?php comment_date('F-j-Y'); ?>
</div>
<?php echo ($comment->comment_content);?><br>
<ul class="comment-links">
<li style="list-style:none !important;"><a aria-label="Reply to Mr WordPress" onclick="return addComment.moveForm( "div-comment-1", "1", "respond", "1" )" href="<?php echo esc_url( get_permalink() ); ?>?replytocom=<?php echo ($comment->comment_ID); ?>#respond" class="comment-reply-link">Reply</a></li>
</ul></div>
<div class="clear"></div>
</li>
<?php
endforeach;
?>
</ol>
</div>
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
//comments_template();
//$file='/short-comments.php';
//comments_template($file);
if ('open' == $post->comment_status) : ?>
<div id="respond">
<h3><?php comment_form_title( 'Post Comments', 'Post Comments to %s' ); ?>.</h3>
<div class="cancel-comment-reply">
<small><?php cancel_comment_reply_link(); ?></small>
</div>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">logged in</a> to post a comment.</p>
<?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform" class="commentform">
<?php if ( $user_ID ) : ?>
<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out »</a></p>
<?php else : ?>
<input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" placeholder="First Name" aria-label="First Name" />
<input type="text" name="last_name" id="last_name" size="22" tabindex="2" placeholder="Last Name" aria-label="Last Name" />
<input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" placeholder="Email" aria-label="Email" />
<input type="text" name="phone" id="phone" size="22" tabindex="4" placeholder="Phone" aria-label="Phone" />
<?php endif; ?>
<textarea onBlur="if (this.value == '') this.value = 'Your Comment';" onFocus="if (this.value == 'Your Comment') this.value = '';" name="comment" id="comment" cols="100" rows="10" tabindex="4" aria-label="Your Comment">Your Comment</textarea> <br>
<fieldset id="submit">
<legend style="display: none;">Comment Submit</legend>
<input name="submit" type="submit" tabindex="5" value="Submit" class="btn btn-blue mahi" />
</fieldset>
<input type="reset" value="Clear" class="btn">
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
</div>
<?php endif; // if you delete this the sky will fall on your head
}
endwhile;
?>
</div>
Я не понимаю, почему это происходит на пустой странице, я дал правильное действие формы, но он не работает. Пожалуйста, ознакомьтесь с пользовательским кодом и помогите мне в этом случае.