在不覆盖全局变量的情况下获取摘要文本

时间:2017-07-23 作者:Ole Kristian Losvik

我正在尝试制作一个WordPress主题,下面是Wordpress Coding Standards - WPCS. 在函数中。php中,我有一个只获取摘要(read more标记上方的文本)的函数。该函数可以工作,但是我从代码嗅探器中得到一个错误Overriding WordPress globals is prohibited

在遵循编码标准的同时,对如何实现这一点提出任何建议都将是非常棒的!

我的代码:

global $more;
$more_saved = $more;

// Sets $more to not showing the content after the more tag.
$more = 0;
echo esc_html( get_the_content( \'\', false ) );

// Restores $more.
$more = $more_saved;

1 个回复
最合适的回答,由SO网友:Ole Kristian Losvik 整理而成

get\\u extended()救了我!返回的数组具有“main”和“extended”键。Main在<!--more-->. “extended”键的内容位于<!--more--> 议论

$content = get_post_field( \'post_content\', get_the_ID() );
$content_parts = get_extended( $content );
echo esc_html( strip_tags( $content_parts[\'main\'] ) );

结束

相关推荐

Child theme functions.php

我不知道如何改变我的孩子主题的功能。php。在woothemes文档中,它说“子主题中的functions.php应该是空的,并且不包括父主题functions.php中的任何内容。”我需要使用此功能来不显示产品类别,但我不确定如何在我的子主题中执行此操作。也许有人能给我提供一些指示?add_action( \'pre_get_posts\', \'custom_pre_get_posts_query\' ); function custom_pre_get_posts_query( $