Php 无法在wordpress中使用获取摘录功能

Php 无法在wordpress中使用获取摘录功能,php,wordpress,Php,Wordpress,我是wordpress和php的新手。我正试图在wordpress中使用foreach检索一篇文章的摘录。我试图在一个页面上显示所有帖子,但我不想显示全部内容,我只想显示摘录。 我能看到标题,但无法得到摘录。 我试过:$extract=get\u post\u摘录($post),$extract=get\u摘录($post),$extract=$post->the_extract() 如果我缺少一些基础知识,也请告诉我 这是我的全部代码 与您的代码兼容的简单解决方案是使用setup\u pos

我是wordpress和php的新手。我正试图在wordpress中使用foreach检索一篇文章的摘录。我试图在一个页面上显示所有帖子,但我不想显示全部内容,我只想显示摘录。 我能看到标题,但无法得到摘录。 我试过:$extract=
get\u post\u摘录($post)
$extract=get\u摘录($post)
$extract=$post->the_extract()
如果我缺少一些基础知识,也请告诉我

这是我的全部代码


与您的代码兼容的简单解决方案是使用
setup\u postdata($post)
在您的
foreach
循环中,它使所有post相关数据可用:

$query = 'orderby=date&order=asc&posts_per_page=-1';
$wpq = new WP_Query($query);
$posts = $wpq->get_posts();
foreach($posts as $post)
{
     setup_postdata($post);
     $excerpt = get_the_excerpt($post);
     echo $excerpt;
}
可以找到有关
setup\u postdata()
的更多信息

如果这不起作用,也可以尝试一下,我认为使用传统循环而不是
foreach
是一种更好的方法:

$query = array('orderby' => 'date', 'order' => 'asc', 'posts_per_page' => '-1');
$wpq = new WP_Query($query);
if($wpq->have_posts()){
    while($wpq->have_posts()){
        $wpq->the_post();
        the_excerpt();
    }
}
或者您可以使用一个名为
wp\u trim\u words
的函数:


echo wp\u trim\u单词($post->post\u内容)

现在我使用的是“$extract=get\u摘录($post->ID);echo$摘录;`但是我仍然只能得到标题。不,正如问题中所描述的,我可以显示标题,但不能显示摘录。如果你
var_dump($post),你会得到什么?您的摘录可能是空的。安装程序\u postdata($post)有帮助。当
var\u转储($post)时<代码>被使用,我得到这个@nilkamalgatarne,太棒了。我很高兴它成功了。另外,其他两种解决方案也应该有效。我正在使用上面的函数作为一个短代码,我的短代码工作得很好。我曾经尝试过使用echo显示“helloworld”。