Wordpress的简单内容过滤器

时间:2012-07-17 18:34:35

标签: wordpress-theming wordpress

我为wordpress制作了一个非常简单的内容过滤器。如果帖子包含来自集合数组的任何单词,则基本上可以防止创建帖子。过滤器不需要通知用户错误发布。只需要停止保存在数据库中的帖子,到目前为止我有这个:     function thefilter($ content){

$searchfilter = array(
    '#cure-plus.org#',
    '#porn#',
    '#escort#',
    '#no prescription#',
    '#Prescription#'
);

$count=0;
foreach($searchfilter as $filter){

    preg_match_all( $filter, $content, $pics );

    $count += count($pics[0]);
}

if ( $count > 0 ) {
   return 'This post has been deleted';
}
}

add_filter('content_save_pre','thefilter');

这一切都有效,我可以删除帖子一旦它存在,但我更希望它从未达到那么远。

谢谢:)

1 个答案:

答案 0 :(得分:0)

为了防止帖子被保存,您可以轻松地杀死PHP或重定向到某个地方。

if ( $count > 0 )
    die('You just got caught in our spam filter.');

return $content;

if ( $count > 0 )
    header( 'Location: http://disney.com' );
    die('You just got caught in our spam filter.');

return $content;

确保即使重定向也要杀死PHP,以确保在数据库写入之前停止执行。

如果帖子干净,请记住将原始内容返回到过滤器。