Wordpress:发布评论后更改帖子类别

时间:2013-09-02 11:40:25

标签: wordpress tags comments categories

有很多关于更改帖子类别的信息,在评论发布后,没有任何与更改帖子类别有关的信息。

我希望我的网站的某个部分只显示包含评论的帖子。

我已经尝试添加我在本网站上找到的代码,用于更改标签,在十几个不同的地方

<?php wp_set_object_terms( '<?php the_ID(); ?>', 'new', 'category', 'true' ); ?>

我已尝试在

中使用它
<?php if ( have_comments() ) : ?>
<?php endif; ?>

我尝试过在互联网上使用wp_insert_comment和comment_post与其他代码挂钩,但没有成功。

我想在发表评论后向帖子添加标签可以实现同样的目的,但我不知道从哪里开始。

有没有这里的专家曾经看到一个单独的区域的wordpress博客只显示带评论的帖子?我不是编码员,我可能会在不知不觉的情况下尝试不可能。

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用comment_post动作挂钩。此函数不能将post ID或$ post对象作为参数,因此您必须添加global $post;才能访问它。 来自wp-includes/comment.php

do_action('comment_post', $comment_ID, $commentdata['comment_approved']);

使用示例

//in functions.php
    add_action( 'comment_post', 'so_custom_comment_post' );
    function so_custom_comment_post(){
      global $post;
      //Be sure the term 'new' is already available
      wp_set_object_terms( $post->ID, 'new', 'category', true );
    }

希望它有所帮助!如果你遇到困难,请告诉我。

答案 1 :(得分:0)

<?php
$args = array('post_type' => 'post');
$post_obj = new WP_Query($args);
while($post_obj->have_posts() ) : $post_obj->the_post();
    //display posts with comments
    $comments = get_comments(array(
        'post_id' => $post->ID));
    foreach($comments as $comment) { 
        echo '<li>'.the_permalink().'</li>';
    }
 endwhile;
 ?>