截取意见表单提交/按挂钩/筛选列出

时间:2011-05-06 作者:Patriek

我正在编写一个媒体插件,它使用自定义表来存储其内容。(例如,不是wordpress存储it附件数据的post表)。现在我正在寻找一种使用默认wordpress评论系统向其添加评论的方法。(这些注释将不在常规注释表中,而是在自定义表中。

我需要两件事:

一个钩子,允许我截取提交的评论,并在满足条件的情况下使用自己的代码进行处理。标准本身是任意的,并不重要,只是需要在Wordpress处理之前找到一种访问post数据的方法

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

wp_list_comments() 没有过滤器或挂钩,所以会有点困难,您可以使用comments_array 过滤器挂钩

add_filter(\'comments_array\',\'my_custom_comments_list\');
function my_custom_comments_list($comments, $post_id){
    //if criteria are met
    //pull your comments from your own table
    //in to an array and return it.
    return $my_comments;
    //else return $comments
}
至于“拦截评论提交并处理”芯片,答案将是使用preprocess_comment 过滤器挂钩,但您希望能够避免WordPress表单将注释插入到默认表中,因此您可以使用wp_insert_comment 插入注释后立即从默认表中删除注释的操作挂钩:

add_action(\'wp_insert_comment\',\'remove_comment_from_default_table\');
function remove_comment_from_default_table( $id, $comment){
    //if criteria are met
    //and the comment was inserted in your own table
    //remove it from the default table:
    wp_delete_comment($id, $force_delete = true);
}

SO网友:Chip Bennett

尝试使用preprocess_comment 过滤器挂钩,例如。

function my_handling_function( $comment_data ) {
     // Here, do whatever you need to do with the comment
     // modify it, pull data out of it to save somewhere
     // or whatever you need to do
     // just be sure to return $comment_data when you\'re done!
     return $comment_data;
}
add_filter( \'preprocess_comment\', \'my_handling_function\' );

结束

相关推荐

Switching Code plugins

我目前正在使用“Wordpress代码片段”为插入到帖子中的代码添加功能。这个插件的工作方式是将代码添加到设置中的插件库中,然后执行类似于[代码:1]的操作(我记不清确切的语法了)我真的不太喜欢它的风格,所以我希望使用谷歌的美化。停用此插件会有什么影响?我会丢失所有的代码片段吗?我是否需要浏览每一篇文章并编辑所有的代码片段(即[代码:1])?