我觉得我肯定在这里缺少明显的东西,但是我似乎无法让WordPress合作。
我正在生成具有功能的Facebook OG标签。除摘录外,其他所有内容均正常运行。
由于的弃用get_the_excerpt($post->ID)
,是否有另一种方法来创建摘录而不必创建一个全新的循环?对我来说似乎太过分了。
我的本能是使用apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
这给了我完整的帖子,包括HTML格式的内容。好吧,一定是错的。所以我尝试了下一个合理的想法:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
没有骰子。现在没有HTML,但是仍然是全文(确实令人困惑)。
好的没问题。让我们跳过所有花哨的东西,然后去整理一下条目:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
没变。
所以,我的问题是:到底发生了什么?这里有我想念的东西吗?
我进入WP核心以了解其the_excerpt()
工作原理,这似乎与我的建议相同:
/**
* Display the post excerpt.
*
* @since 0.71
* @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
*/
function the_excerpt() {
echo apply_filters('the_excerpt', get_the_excerpt());
}
根据调查结果,我有几个问题:
- 为什么过滤器未按预期应用?
- 有没有办法在不创建新循环的情况下摘录到循环之外?
- 我疯了吗?
预先感谢您的浏览。我在这里很困惑。
对不起,这就是我的意思。感谢您的澄清。
—
jlengstorf 2011年
你疯了!。。。我大声笑
—
pythonian29033 '16
get_the_excerpt()
不会被弃用,只是不再使用以前传递给它的多余参数。