我正在尝试创建一个函数,该函数允许我在wordpress中使用posts
字段中的more <!--more-->
标记拆分the_content
。然而,我不知道自己在做什么,似乎把搞得一团糟
在我的functions.php中,我有以下代码。
function split_content() {
global $more;
$more = true;
$content = preg_split('/<span id="more-d+"></span>/i', get_the_content('more'));
for($c = 0, $csize = count($content); $c < $csize; $c++) {
$content[$c] = apply_filters('the_content', $content[$c]);
}
return $content;
}
在我的主页.php中,我用以下函数替换了_content
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
$content = split_content();
echo '<div>', array($content[0]), '</div>';
?>
<?php endwhile; endif; ?
?>
该系统给出2个错误:
警告:preg_split()需要至少2个参数,其中1个在中给定C: \MAMP\htdocs\wordpress\wp content\themes\Test\wp vanilla\functions.php在线125
注意:中的数组到字符串的转换C: \MAMP\htdocs\wordpress\wp content\themes\Test\wp vanilla\page-homepage.php在线41
有人能帮忙吗?我试过各种组合。
也许你需要使用这个函数get_extended()WP Codex
it返回值
(数组)张贴在('main')之前和('extended')之后。
您也可以尝试以下操作:
$morestring = '<!--more-->';
$explode_content = explode( $morestring, $post->post_content );
$content_before = apply_filters( 'the_content', $explode_content[0] );
$content_after = apply_filters( 'the_content', $explode_content[1] );
希望对你有所帮助。