我需要在归档循环中显示所有现有帖子,以获得"车辆"的自定义帖子类型.
这是我到目前为止:
function get_all_vehicle_posts( $query ) {
$query->set( 'posts_per_page', '-1' );
}
add_action( 'pre_get_posts', 'get_all_vehicle_posts' );
Run Code Online (Sandbox Code Playgroud)
我看到了我想要的无限帖子.但是我需要将此更改限制为我的自定义帖子类型.
我试过了:
if ( 'vehicle' == $query->post_type ) {
$query->set( 'posts_per_page', '-1' );
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我想我们在查询运行之前不知道帖子类型,除非它是查询的特定参数?
如何将此功能限制为特定的帖子类型?
小智 7
使用帖子类型的is_post_type_archive函数检查pre-post帖子.
您将需要检查查询是否为admin以避免影响管理区域,以及检查查询是否是主查询.
function get_all_vehicle_posts( $query ) {
if( !is_admin() && $query->is_main_query() && is_post_type_archive( 'vehicle' ) ) {
$query->set( 'posts_per_page', '-1' );
}
}
add_action( 'pre_get_posts', 'get_all_vehicle_posts' );
Run Code Online (Sandbox Code Playgroud)
http://codex.wordpress.org/Function_Reference/is_admin
http://codex.wordpress.org/Function_Reference/is_main_query
http://codex.wordpress.org/Function_Reference/is_post_type_archive
| 归档时间: |
|
| 查看次数: |
9202 次 |
| 最近记录: |