创建插件以在仅显示之前清理评论和url字段

时间:2013-03-12 作者:sharp12345

我想创建一个插件,在只显示之前(而不是添加到数据库之前)清理注释,主要是url字段,过滤url字段,只允许在包含特定数据的情况下显示此字段,否则我想用安全的内容替换此url字段或将其清除。

(我不希望用户以“test.com”或“example.com”的形式输入url,在这种情况下,我希望将其删除)

如何才能做到这一点,我需要添加到哪个过滤器?

编辑:

根据所选答案,我创建了此插件,以将所有URL重置为空字符串:

<?php
/*
Plugin Name: Get rid of websites before display
*/
function my_custom_remove_website( $comments ) {
    foreach ($comments as $k => $comment) {
        $comments[$k]->comment_author_url = "";
    }
    return $comments;
}
add_filter( \'comments_array\', \'my_custom_remove_website\' );
如果这个插件没有使用最佳实践,请随时发表评论或回答。

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

您可能想查看comments_array 滤器

在3.5中,它应用于wp includes/comment模板的第891行。php:$wp_query->comments = apply_filters( \'comments_array\', $comments, $post->ID );

结束

相关推荐

为什么Apply_Filters在循环内部和外部的行为不同?

What I want: 通过创建$query = new WP_Query($args);Why: 以json格式返回特定内容,作为一种API请求,准备在另一个站点上显示What I tried first:foreach($query->posts as $post) { $post->post_content = apply_filters(\'the_content\', $post->post_content); }; 这执行了autop 和do