关于自定义帖子类型的WordPress评论


Wordpress reviews on custom post type

我已经按照这里的教程将评论转化为评论,它对我有用。我只需要评论在我的自定义帖子类型上,也不需要在回复上。目前,如果我点击回复,它也会认为这也是一篇评论。

我可以钩什么来测试它是否是自定义帖子而不是回复?

正如您在普通评论表单中看到的那样,它被包装在

<div id="respond" class="comment-respond"><COMMENT FORM HERE></div>

回复评论完成后,它被包装

<ol class="children"><div id="respond" class="comment-respond"><COMMENT FORM HERE></div></ol>

这些包装div和HTML来自十二个主题,请 在下面之前检查您的

因此,In <ol class="children"> .children可用于在"回复评论"表单中隐藏所需的字段。我们可以让他们display:none;

例如:如果我需要使"电话"字段不显示和"也不需要",

第 1 步:使它不显示 通过 CSS,将 ID 传递给此输入<input type="text" name="phone" value="<?php echo esc_attr( $phone ); ?>" class="widefat" id="user_phone"/>

在CSS文件中添加以下内容:

ol.children form#user_phone{display:none;}

这只会在回复评论表单中隐藏电话字段,而不会在普通评论中隐藏。

第 2 步:好的,现在我们已经隐藏了这个字段,但它是必填字段,所以在 PHP 脚本中不需要这个。在"回复评论"表单中,提交表单时,父评论ID的值也会发布(在"普通评论"中为0,因为它应该是父评论:))

<?php 
if($_POST['comment_parent'] != '0' || $_POST['comment_parent'] != 0 )){
    if ( ( isset( $_POST['phone'] ) ) && ( $_POST['phone'] != '') ) :
      $phone = wp_filter_nohtml_kses($_POST['phone']);
      update_comment_meta( $comment_id, 'phone', $phone );
      else :
      delete_comment_meta( $comment_id, 'phone');
      endif;
}
?>

这将使电话字段隐藏,也不会检查其要求是否为非空。