下面的代码表示最近帖子的链接列表。我只是想写下帖子的名字,如果有,还要写下帖子的摘录。因此,我使用get\\u link\\u extract($post)函数来确定for循环中的当前帖子是否有摘录。
如果帖子中有摘录,它可以正常工作,但是如果没有,get\\u the\\u extract()函数将返回自己根据当前页面内容制作的摘录。
在本例中,我将此函数放在主页上,因此每个没有明确包含代码片段的帖子都会从主页内容中获得虚拟摘录。
显然,我不正确地传递了$post,在这里正确的方法是什么?
function show_footer_recent(){
$myquery = new WP_Query();$myquery->query(array(\'post__not_in\' => get_option(\'sticky_posts\')));
$myrecentpostscount = $myquery->found_posts;
if ($myrecentpostscount > 0){ ?>
<div>
<ul><i>Latest News & Articles</i>
<?php global $post;$myrecentposts = get_posts(array(\'post__not_in\' => get_option(\'sticky_posts\'),\'numberposts\' => get_option(\'cb2_recent_count\')));
foreach($myrecentposts as $idxrecent=>$post) { ?>
<li class="page_item">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php echo get_link_excerpt(); ?>
</li><?php } ?>
</ul>
</div>
<?php }}
function get_link_excerpt(){
$LinkExcerpt = strip_tags(substr(get_the_excerpt(), 0, 75 ));
if($LinkExcerpt != \'\')
{
return ": ".$LinkExcerpt."...";
}
return false;
}
最合适的回答,由SO网友:Scott B 整理而成
我成功了。下面是我在效用函数中要做的。。。
function get_link_excerpt(){
if(has_excerpt()){
$LinkExcerpt = strip_tags(substr(get_the_excerpt(), 0, 75 ));
return ": ".$LinkExcerpt."...";
}
return false;
}