get_post_fields as an excerpt

时间:2015-02-21 作者:bashleigh

我有一个奇怪的问题,我已经建立了我的网站和我的循环等。但在我的侧边栏上,我想添加一种随机的帖子显示,但我不想显示整个帖子,我在实现这一点上遇到了一些困难,所以如果你有任何其他方法想要共享,请让我知道:)

我现在想做的是缩短显示的内容,我知道你可以用excerpt() 但是如果你看看我必须要做的方法,你就会明白我的意思,因为我在用典型的方法做这件事时遇到了问题。

我的索引:

if(have_posts()){
    while(have_posts()):the_post();
        get_template_part(\'content\',get_post_format());
    endwhile;
    wp_reset_postdata();//not sure if this is actually reseting my postdata?
}
get_sidebar();

$random=get_posts(array(\'number posts\'=>1,\'orderby\'=>\'rand\',\'category\'=>\'objects\',\'post-type\'/*stops pages being included?*/=>\'post\',\'post_status\'=>\'publish\'));
?><h2><a href="<?echo$random[0]->guid;?>">Do you want a <?echo get_the_title($random[0]->ID);?>?</a></h2>
<p><?echo preg_replace("/<img[^>]+\\>/i","",get_post_field(\'post_content\',$random[0]->ID));/*custom_excerpt($random[0]->ID);*/?></h2>
我已经尝试了custom\\u Express,但由于某种原因,它未能获得正确的帖子id?不是冲浪者,我选择了正确的方法来做我想做的事。有什么建议吗?

1 个回复
SO网友:Alexander Holsgrove

试试这个。基本上,get\\U帖子看起来不错,但需要设置帖子信息。这使得您可以使用正常功能the_somethingget_something 无需每次传入post对象/ID。记住打电话wp_reset_postdata(); 随时使用setup_postdata().

<?php $random_post = get_posts(array(
   \'category\'     => \'objects\',
   \'number posts\' => 1,
   \'orderby\'      => \'rand\',
   \'post-type\'    => \'post\',
   \'post_status\'  => \'publish\'
)); ?>

<?php if($random_post) : ?>
   <?php setup_postdata($featured_post); ?>

   <?php the_title(\'<h2>\', \'</h2>\'); ?>
   <?php the_excerpt(); ?>
   ...etc...

   <?php wp_reset_postdata(); ?>
}

<?php endif; ?>

结束

相关推荐