我在 WordPress 中创建了一个名为“Portfolio”的自定义帖子类型,但它没有显示在主页的主循环中。我想在同一个循环中同时显示常规帖子和投资组合项目。
我使用register_post_type()注册了自定义帖子类型。我还尝试将 pre_get_posts 添加到functions.php 文件中,期望它在主查询中包含投资组合项目,但只出现常规帖子。我希望两种帖子类型都能一起显示在主循环中。
我不知道你如何设置你的功能,因为你没有添加任何代码。我尝试了以下方法并且有效:
function custom_query_for_multiple_post_types( $query ) {
// Check if we are in the main query and on the homepage
if ( $query->is_home() && $query->is_main_query() ) {
// Modify the post types you want to include
$query->set( 'post_type', array( 'post', 'portfolio' ) );
// Optional: Set the number of posts per page
$query->set( 'posts_per_page', 10 );
}
return $query;
}
add_action( 'pre_get_posts', 'custom_query_for_multiple_post_types', 99, 1 );
如果您的帖子类型使用了其他名称,请将帖子类型从
portfolio
更改为其他名称。