我有一个奇怪的问题,我已经建立了我的网站和我的循环等。但在我的侧边栏上,我想添加一种随机的帖子显示,但我不想显示整个帖子,我在实现这一点上遇到了一些困难,所以如果你有任何其他方法想要共享,请让我知道:)
我现在想做的是缩短显示的内容,我知道你可以用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?不是冲浪者,我选择了正确的方法来做我想做的事。有什么建议吗?
SO网友:Alexander Holsgrove
试试这个。基本上,get\\U帖子看起来不错,但需要设置帖子信息。这使得您可以使用正常功能the_something
和get_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; ?>