丢弃帖子,将相关评论发送到回收站(更改状态)

时间:2014-02-13 作者:dkl

当删除帖子时,与此帖子相关的所有评论都会处于“post trashed”状态。它们不会被扔进垃圾箱。

在我的主题中,作者发表帖子或评论得到了一个分数。随后,我还想在帖子或评论被丢弃时扣一分。

这两种功能都工作得很好。当我扔掉一篇帖子时,问题就出现了。我希望相关评论也受到影响,并降低一分。

此功能:http://de.wpseek.com/wp_trash_post_comments/ 似乎是罪魁祸首。因此,我认为最好的解决方案是,要么以某种方式强制将“post\\u comments”发送到实际的垃圾箱中,要么以某种方式在上述函数中加入一个操作,以便在丢弃“post\\u comments”时删除一个点。(重要的是不要与trash\\u评论冲突,因此该操作不会被调用两次,并且一条评论被丢弃会减少2分)。

有什么想法吗?

1 个回复
SO网友:Pat J

有一个动作叫做trashed_post_comments 在注释设置为post-trashed 地位你可以加入其中:

add_action( \'trashed_post_comments\', \'wpse134528_really_trash_comments\' );
function wpse134528_really_trash_comments( $post_id ) {
    $args = array( 
        \'post_id\' => $post_id,
        \'status\' => \'post-trashed\',
    );
    $comments = get_comments( $args );
    foreach( $comments as $comment ) {
        wp_trash_comment( $comment->comment_id );
    }
}
参考文献trashed_post_comments 动作挂钩get_comments()
  • wp_trash_comment()
  • 希望这能有所帮助,尽管我不知道为什么评论的状态设置为post-trashed 会弄乱你的主题。。。

    结束

    相关推荐

    POSTS_NAV_LINK();不显示在静态页面上

    我有两个不同的循环。主页上的默认值,但存档页面上的二次循环。它抓住了所有的内容,就像这样:<?php // WP_Query arguments $args = array ( \'posts_per_page\' => \'3\' ); // The Query $archiveQuery = new WP_Query( $args ); // The Loop if ( $archiveQuery-&