目的echo
正在将字符串发送到输出缓冲区。在您的代码中,您将4
调用的结果echo
, 不返回任何内容。而且get_post_meta already
返回一个字符串,这样就不必进行类型转换。尝试:
add_filter( \'the_content\', \'prefix_insert_post\' );
function prefix_insert_post( $content ) {
if ( is_single() && ! is_admin() ) {
$content = prefix_insert_after_para( array(
// The format is: \'{PARAGRAPH_NUMBER}\' => \'AD_CODE\',
\'4\' => get_post_meta(get_the_ID(), \'namevalue\', TRUE),
), $content );
}
return $content;
}
记住,
echo
将立即向输出缓冲区发送一个字符串,这违背了使用WordPress过滤器的目的,因为它们将在以后使用,这就是为什么您在每个过滤器上返回修改后的值。
编辑:
get_the_id
仅当您在WP_Query
环尝试:
if ( is_single() && ! is_admin() ) {
global $post;
$content = prefix_insert_after_para( array(
// The format is: \'{PARAGRAPH_NUMBER}\' => \'AD_CODE\',
\'4\' => get_post_meta($post->ID, \'namevalue\', TRUE),
), $content );
}