AdamBrown的网站上说,钩子不再出现在3.8中。我grep
ed a 3.9发现:
bash-4.2# grep -Rni \'content_save_pre\' *
wp-includes/kses.php:1327: * The wp_filter_post_kses() function is added to the \'content_save_pre\',
wp-includes/kses.php:1344: add_filter(\'content_save_pre\', \'wp_filter_post_kses\');
wp-includes/kses.php:1370: remove_filter(\'content_save_pre\', \'wp_filter_post_kses\');
wp-includes/default-filters.php:89:foreach ( array( \'content_save_pre\', \'excerpt_save_pre\', \'comment_save_pre\', \'pre_comment_content\' ) as $filter ) {
有趣的是,滤波器并没有在任何地方应用,但仍由核心在几个地方使用。这将是一个很大的疏忽。如果你再四处看看,你会发现:
http://adambrown.info/p/wp_hooks/hook/{$field_no_prefix}_save_pre
所以
grep
同样,底部的刚性和正确性有所降低:
wp-includes/post.php:2010: $value = apply_filters("{$field_no_prefix}_save_pre", $value);
这是一个动态过滤器,我想这就是为什么Adam Brown迷失了方向。这一点得到了法典本身的确认:
“content\\u save\\u pre”过滤器是一组动态过滤器的一部分,允许您在将内容保存到数据库之前对其进行清理。此筛选器在wp admin中运行。
http://codex.wordpress.org/Plugin_API/Filter_Reference/content_save_pre
我相信这就是你要找的钩子。换句话说,
content_save_pre
应该还能用。它是动态生成的,但仍应工作。