wordpress发布the_content过滤器

时间:2013-02-04 21:13:04

标签: wordpress filter pagination

我想要写函数添加到我的帖子内容<!--nextpage-->标签,我写这个函数:

<?php
function output($content) {
$output = $content.'<!--nextpage-->'.$content;

return $output;
}

add_filter('the_content','output');

?>

功能添加<!--nextpage-->标签,但是当我显示帖子时这个标签不起作用,就像html评论一样,也许是解决这个问题的一些解决方案?

也许我必须使用the_content而不是wp_insert_post_data

1 个答案:

答案 0 :(得分:1)

<!--nextpage-->中带有setup_postdata的文字转换为“页面”。但是,当调用具有相同名称the_content的模板标记时,您使用的钩子会执行。所以这意味着你必须在循环开始之前更改内容。这可能有点棘手。在我的头顶我不知道任何合适的钩子,但你可以检查setup_postdata的源代码,可能有一个。但是,在主题中,您可以访问$posts,因此如果您将其放在模板中,它应该可以正常工作:

global $posts;
array_map( function( $apost ) {
    $apost->post_content = $apost->post_content.'<!--nextpage-->'.$apost->post_content;
    return $apost;
}, $posts );

如果您没有PHP版本=&gt; 5.3你不能使用匿名功能。在这种情况下,此版本将起作用:

global $posts;
function output( $apost ) {
    $apost->post_content = $apost->post_content.'<!--nextpage-->'.$apost->post_content;
    return $apost;
}
array_map( 'output', $posts );