对自定义帖子类型的WordPress评论

问题描述:

我按照here上的教程将注释转变为评论,它对我有用。我只需要评论我的自定义帖子类型,而不是回复。在那一刻,如果我点击回复,它也会认为这是一个审查。对自定义帖子类型的WordPress评论

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

正如你可以在正常评论的形式,它是

<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来自Twentyfifteen主题,请 检查之前去下

所以在<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; 
} 
?> 

这将使隐藏的手机领域,也不会检查其要求是非空的。