Как мне вызвать comment_form () для определенного поста в шаблоне WordPress Custom PHP - PullRequest
0 голосов
/ 24 июня 2019

Я изменяю файл шаблона, который просматривает несколько постов, похожих на страницу архива в WordPress.На этом выводе я могу показать комментарии, уже отправленные с использованием get_comments и wp_list_comments.Однако я не могу за всю жизнь получить форму комментария для вывода.Я пробовал много разных вариантов comment_form () с аргументами, отправляющими page_id, но безрезультатно, я либо ломаю страницу, либо она просто не появляется.Комментарии, безусловно, открыты, и комментирование возможно, но просто не отображается на странице.

comment_form($featuredposts[$articlePageNo]->ID);

не ломает мою страницу, но возвращается без формы.

comment_form(post_id => $featuredposts[$articlePageNo]->ID);

ломаетстр.Я думаю, что это может быть связано с предотвращением отображения comment_form на не одиночных страницах в WordPress, но я не могу выделить, как сказать WordPress, что это нормально делать на моем.

comment_form($featuredposts[$articlePageNo]->ID); //ID is the post ID from my loop.

//This works for displaying the already submitted comments:
//Gather comments for a specific page/post
$comments = get_comments(array(
      'post_id' => $postIDD,
      'status' => 'approve' //Change this to the type of comments to be displayed
       ));
//Display the list of comments
wp_list_comments(array(
             'per_page' => 10, //Allow comment pagination
             'reverse_top_level' => false //Show the latest comments at the 
top of the list
             ), $comments);

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Так что это не легкое исправление, которое я мог найти, обошел дома, чтобы найти решение, но разместил здесь то, что я нашел, чтобы будущее меня могло знать, как это сделать.В конце я вывожу форму для обработки комментариев.Я удалил несколько полей, но вы поймете идею.Он отправляет вас на страницу сообщений после отправки, но это на другой день.

<form id="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<div class="commentform-element">
<label class="hide" for="comment"></label>
<textarea id="comment" class="input-fields" name="comment" cols="40" rows="3"></textarea>
</div>
<input name="submit" class="form-submit-button"  type="submit" id="submit-comment" value="Post">
<input type="hidden" name="comment_post_ID" value="<?php echo $featuredposts[$articlePageNo]->ID; ?>" id="comment_post_ID">
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
</form>
0 голосов
/ 24 июня 2019

comment_form() фактически принимает идентификатор записи в качестве аргумента second , как описано в Документация разработчика . (если вы не даете идентификатор сообщения, он использует идентификатор сообщения текущей страницы)

Поэтому попробуйте передать идентификатор в качестве второго параметра, например, так:

comment_form(null, $featuredposts[$articlePageNo]->ID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...