Hello stackoverflow人,我需要帮助。我正在使用wordpress,不知怎的,我不能使用这个功能:
$post_id = 12;
echo get_post($post_id)->post_excerpt;
不知怎的,它什么都没打印。这是完整的div。你能帮我解决这个问题吗?
<div id="block1">
<div class="inblock1">
<h2>About boots</h2>
<p><?php $post_id = 12;
echo get_post($post_id)->post_excerpt; ?> </p>
<a href="/about-boots/" class="rodykle">apac</a>
</div>
</div>
答案 0 :(得分:6)
听起来你实际上并没有为这篇文章设置摘录。你总是可以使用条件来测试它,并输出一个自定义的摘录(来自post_content
),如果不存在的话:
$my_post = get_post($post_id);
// If the excerpt is empty, generate one from post_content, else display the saved excerpt
echo empty($my_post->post_excerpt) ? wp_trim_words($my_post->post_content, 55, '...') : $my_post->post_excerpt;
答案 1 :(得分:4)
您可能需要使用setup_postdata()
,因为如果您在摘录字段中有摘录数据,<?php $post_id = 12; echo get_post($post_id)->post_excerpt; ?>
将返回摘录,但如果您没有摘录字段中的数据,则代码将返回内容中的数据。< / p>
$post_id = 12;
$tempVar = $post;
$post = get_post($post_id);
setup_postdata($post);
the_excerpt();
wp_reset_postdata();
$post = $tempVar;