WP:无法检索摘录

时间:2018-01-14 00:29:12

标签: php wordpress

我试图在没有WP的情况下摘录。

<?php
require('../blog/wp-load.php');
$recent_posts = wp_get_recent_posts(array(
    'numberposts'=>'1',
    'supports' => array('title','editor','author','excerpt') )
);
foreach( $recent_posts as $recent ){
    echo get_permalink($recent["ID"]; // ok
    echo $recent["post_title"]; // ok
    $echo wp_trim_excerpt( $recent['post_content']); // BAD: gives FULL article and not 55 words
    echo $recent->post_excerpt; // BAD: gives EMPTY String
    echo get_the_excerpt($recent); // BAD: gives EMPTY String
}

所有的方法都给了我不好的结果。

1 个答案:

答案 0 :(得分:0)

使用setup_postdata()设置全局发布数据。

foreach( $recent_posts as $recent ){
    setup_postdata( $recent );
    echo get_permalink($recent["ID"]; // ok
    echo $recent["post_title"]; // ok
    echo get_the_excerpt($recent); 
}

在主循环外部使用时,get_the_excerpt()等函数的行为会有所不同。

了解它here

  

如果在The Loop外部使用此函数且帖子没有自定义摘录,则此函数将使用wp_trim_excerpt()生成摘录。该函数使用get_the_content(),它必须与The Loop一起使用,如果在循环外使用get_the_excerpt(),则会导致问题。为了避免这些问题,请在调用get_the_excerpt()之前使用setup_postdata()来设置全局$ post对象。