在循环中显示帖子内容的常用方法是:
the_content();
那会
echo 输出,而不是
return 它就像
get_the_content()
.
但既然您想将其分配给$text
变量,您可以使用:
$text = get_the_content(\'\');
但接下来
the_content
未应用输出过滤器。
这就是为什么你有这一行:
$text = apply_filters(\'the_content\', $text);
因为它会过滤
$text
通过注册到的所有回调
the_content
滤器
你总是可以从直接阅读源代码中学到很多东西。这个the_content()
函数为defined 作为:
function the_content( $more_link_text = null, $strip_teaser = false) {
$content = get_the_content( $more_link_text, $strip_teaser );
$content = apply_filters( \'the_content\', $content );
$content = str_replace( \']]>\', \']]>\', $content );
echo $content;
}
您可以检查注册到的所有回调
the_content
使用以下内容筛选:
add_action( \'wp_footer\', function(){
printf( \'<h3>Debug:</h3><pre>%s</pre>\',
print_r( $GLOBALS[\'wp_filter\'][\'the_content\'], TRUE ) );
});
这将在页面底部提供输出,类似于:
<h3>Debug:</h3>
<pre>Array
(
[10] => Array
(
[wptexturize] => Array
(
[function] => wptexturize
[accepted_args] => 1
)
[convert_smilies] => Array
(
[function] => convert_smilies
[accepted_args] => 1
)
[convert_chars] => Array
(
[function] => convert_chars
[accepted_args] => 1
)
[wpautop] => Array
(
[function] => wpautop
[accepted_args] => 1
)
[shortcode_unautop] => Array
(
[function] => shortcode_unautop
[accepted_args] => 1
)
[prepend_attachment] => Array
(
[function] => prepend_attachment
[accepted_args] => 1
)
)
[11] => Array
(
[capital_P_dangit] => Array
(
[function] => capital_P_dangit
[accepted_args] => 1
)
[do_shortcode] => Array
(
[function] => do_shortcode
[accepted_args] => 1
)
)
)
其中,数组键编号是过滤器优先级。