首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >get_post()函数返回post,即使它被丢弃

get_post()函数返回post,即使它被丢弃
EN

WordPress Development用户
提问于 2018-02-27 08:45:58
回答 1查看 1K关注 0票数 2

我正在开发一个WordPress主题。我选择一个帖子作为一个“特色帖子”从定制设置。我想在主页上以不同的方式显示这篇文章。我使用下面的代码在home.php上发布文章:

代码语言:javascript
运行
复制
$featured_post = get_post( get_theme_mod( 'featured_post_id' ) );

这段代码可以很好地得到帖子。但是,在选择这个帖子作为特写文章之后,如果我把它垃圾化,它仍然会被显示为主页上的特写文章。如果我永久删除它,它就不会显示。

如何使用get_post()获得未被销毁的帖子?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2018-02-27 09:05:41

这不是get_post()的工作方式。垃圾邮件不会改变主题mod的值,主题mod仍然指向数据库中的帖子,所以只要它在那里,get_post()就会尽职尽责地检索它。

在显示之前,您需要确保它的状态是您想要的:

代码语言:javascript
运行
复制
$featured_post = get_post( get_theme_mod( 'featured_post_id' ) );

if ( $featured_post && $featured_post->post_status === 'publish' ) {
    // Display post
}

您还可以执行WP_Queryget_posts() (复数)来查询带有状态publish和ID的帖子,但最终可能会有更多的代码行,而且比仅仅检查状态要慢一些。

票数 4
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/295302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档