我想从我的自定义主题中排除预定的帖子。我用了动作钩
pre_get_posts在我的函数文件中仅检索已发布的帖子, 但计划的帖子仍然出现:
function exclude_scheduled_posts( $query ){if( $query->
is_home() &
&
$query->
is_main_query() ){
$query->
set('post_status' , array('publish'));
}
return ;
}
add_action('pre_get_posts', 'exclude_scheduled_posts');
【从查询中排除预定的post】如何过滤预定的帖子?
#1你可以在代码中使用post_status参数过滤预定的帖子。.你可以在函数代码中遵循此操作。
* 'publish' - a published post or page
* 'pending' - post is pending review
* 'draft' - a post in draft status
* 'auto-draft' - a newly created post, with no content
* 'future' - a post to publish in the future
* 'private' - not visible to users who are not logged in
* 'inherit' - a revision. see get_children.
* 'trash' - post is in trash.// WP_Query arguments
$args = array(
'post_type'=>
array( 'post' ), 'post_status'=>
array('publish', 'pending', 'draft', 'auto-draft', 'private', 'inherit', 'trash'), );
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->
have_posts() ) {
while ( $query->
have_posts() ) {
$query->
the_post();
// do something
}
} else {
// no posts found
}wp_reset_postdata();
推荐阅读
- 在样式化时排除特定的元素
- 记一次删除PostgresSql数据库 报错(有 N 个其它会话正在使用数据库 的解决方案)
- 记一次Centos禁用SELinux
- 记一次 Centos7PostgreSql数据库安装扩展
- 记一次Notepad++安装NppFTP连接Linux 系统(例如(Centos))
- CentOS7 防火墙相关操作与端口配置 (收集+持续更新)
- 记一次Centos7 手动安装Mysql 5.7 数据库 (使用 Mysql的 rpm文件)
- Linux之ssh-copy-id命令
- 记一次Centos7安装使用PostWoman