问题描述

WordPress 如何将原始数据从数据库转换为 the_content 函数中的可读格式?

我注意到它适用于 the_content 滤波器,但 the_content 滤波器是做什么的?

最佳解决方案

默认过滤器设置在/wp-includes/default-filters.php 中;

对于’the_content’ 这是从第 135 行:

add_filter( 'the_content', 'wptexturize'        );
add_filter( 'the_content', 'convert_smilies'    );
add_filter( 'the_content', 'convert_chars'      );
add_filter( 'the_content', 'wpautop'            );
add_filter( 'the_content', 'shortcode_unautop'  );
add_filter( 'the_content', 'prepend_attachment' );

跟踪各个功能,可以尝试使用 http://phpxref.ftwr.co.uk/wordpress/nav.html?_functions/index.html,然后按照链接…

Edit

错过了 (wp-includes/default-filters.php,第 102 行):

// Format WordPress
foreach ( array( 'the_content', 'the_title' ) as $filter )
    add_filter( $filter, 'capital_P_dangit', 11 );

次佳解决方案

所有过滤器都存储在全局 $wp_filter 变量中。您可以检查该变量以查看哪些函数绑定到某个过滤器。

global $wp_filter;
print_r($wp_filter['the_content']);

要准确了解输出的数组,知道如何构建 $wp_filter 变量有助于很多。该行来自 add_filter()功能的来源:

$wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add, 'accepted_args' => $accepted_args);

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。