我遇到第一个
形式的问题 - the_excerpt();
功能可以正常工作但仅适用于第一篇文章。我在functions.php中添加了
function get_first_paragraph(){
global $post;
$str = wpautop( get_the_content() );
$str = substr( $str, 0, strpos( $str, '</p>' ) + 4 );
$str = strip_tags($str, '<a><strong><em>');
return '<p>' . $str . '</p>';
}
我在The Loop <?php echo get_first_paragraph(); ?>
我不知道为什么它只是为了第一篇文章...
答案 0 :(得分:1)
您可以将此代码放在主题中的function.php文件中,
获取第一段
function awesome_excerpt($text, $raw_excerpt) {
if( ! $raw_excerpt ) {
$content = apply_filters( 'the_content', get_the_content() );
$text = substr( $content, 0, strpos( $content, '</p>' ) + 4 );
}
return $text;
}
add_filter( 'wp_trim_excerpt', 'awesome_excerpt', 10, 2 );
&#13;
有关详细信息,请参阅参考链接WORDPRESS THE_EXCERPT SHOW ONLY FIRST PARAGRAPH
答案 1 :(得分:0)
该代码在古腾堡时代对我不起作用。因此,我使用了部分代码,并进行了一些搜索并提出了此解决方案。希望对您有所帮助。
function get_paragraph_content($paragraph_number){
global $post;
$i = 0;
$paragraph = '';
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
foreach( $blocks as $block ) {
if( 'core/paragraph' === $block['blockName']){
$paragraph = render_block($block);
if (++$i == $paragraph_number) break;
}
}
$paragraph = substr( $paragraph, 0, strpos( $paragraph, '</p>' ) + 4 );
$paragraph = strip_tags($paragraph, '<a><strong><em>');
}
return $paragraph;
}