0

有很多关于更改帖子类别的信息,只是没有与发表评论后更改帖子类别特别相关的信息。

我希望我的网站有一个部分只显示带有评论的帖子。

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

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

我试过用它

<?php if ( have_comments() ) : ?>
<?php endif; ?>

我尝试将 wp_insert_comment 和 comment_post 钩子与互联网上的其他代码一起使用,但没有成功。

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

这里的专家有没有见过一个 wordpress 博客,它有一个单独的区域,只显示带有评论的帖子?我不是编码员,我可能会在没有意识到的情况下尝试不可能的事情。

任何帮助表示赞赏。

4

2 回答 2

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 );
    }

希望能帮助到你!如果您遇到困难,请告诉我。

于 2013-09-02T14:11:21.173 回答
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;
 ?> 
于 2013-09-02T12:05:53.900 回答