0

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

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

return $output;
}

add_filter('the_content','output');

?>

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

也许我必须使用 not the_contentbut wp_insert_post_data

4

1 回答 1

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 版本 => 5.3,则不能使用匿名函数。在这种情况下,此版本将起作用:

global $posts;
function output( $apost ) {
    $apost->post_content = $apost->post_content.'<!--nextpage-->'.$apost->post_content;
    return $apost;
}
array_map( 'output', $posts );
于 2013-02-05T17:32:56.500 回答