我有两种自定义的帖子类型,例如“Cars”和“Bikes”。我使用Wordpress的默认类别对两种帖子类型中的帖子进行了分类。例如,假设类别为“红色”、“蓝色”和“黑色”。
我在这里试图实现的是,当我进入“红色”的分类页面时,我想看到“红色”下的“汽车”和“自行车”。我正在使用category.php,这是我试图运行的查询:
$car_args = array(
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'cars',
'post_status' => 'publish',
'cat' => $cat
);
// The Query
$car_query = new WP_Query( $car_args );
// The Loop
if ( $car_query ->have_posts() ) {
echo "<h3>Cars</h3>";
while ( $car_query->have_posts() ) {
$car_query->the_post();
echo get_post_type() . '<a href="'. get_permalink() .'">' . get_the_title() . '</a><br />';
}
} else {
// no posts found
}
$bikes_args = array(
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'bikes',
'post_status' => 'publish',
'cat' => $cat
);
// The Query
$bikes_query = new WP_Query( $bikes_args );
// The Loop
if ( $bikes_query ->have_posts() ) {
echo "<h3>Bikes</h3>";
while ( $bikes_query->have_posts() ) {
$bikes_query->the_post();
echo get_post_type() . '<a href="'. get_permalink() .'">' . get_the_title() . '</a><br />';
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
查询中的$cat获取“Red”类别的类别id。这两个查询都正确地按“红色”类别限制了帖子,但同时出现了“汽车”帖子类型和“自行车”帖子类型的帖子,尽管我尝试按帖子类型进行限制。我在几篇文章中读到Wordpress忽略了分类页面上的post类型args。这是真的吗?如果是,是否有解决方法?
您试图做的事情只能用一个查询来完成,并且只能用主查询来完成,而不需要任何自定义查询。
首先,让我们先将自定义帖子类型添加到分类页面。默认情况下,自定义pist类型从类别页面中排除。因此,我们需要通过pre\u get\u posts
手动将其添加到主查询参数中。在functions.php中添加以下内容:(注意:未经测试,还需要PHP5.3)
add_action( 'pre_get_posts', function ( $q )
{
if ( !is_admin() && $q->is_main_query() && $q->is_category() ) {
$q->set( 'post_type', array( 'post', 'cars', 'bikes' ) ); // Change this according to your post types
$q->set( 'nopaging', true ); // This will get all posts, same as posts_per_page=-1
}
});
你现在应该有一个点击的类别中的所有文章,这是你在你的类别页面上设置的文章类型。
接下来,我们需要整理您的循环。删除category.php中的所有自定义查询,并将其替换为默认循环。由于您需要按post类型排序两个块,因此我们将使用倒带\u posts()
,以便可以运行两次循环
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
if ( $post->post_type == 'cars' ) { //Change accordingly to only show cars in this loop
// Your loop
}
}
rewind_posts();
while ( have_posts() ) {
the_post();
if ( $post->post_type == 'bikes' ) { // Change accordingly to only show bikes
// Your loop
}
}
}
这现在应该显示您的帖子在两个块按帖子类型排序
我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。
您好,我正在尝试将分页添加到一个页面模板中,我正在使用该模板来显示自定义帖子类型。我已经环顾四周几个小时了,但还没有找到一套清晰的说明。 下面是我页面模板php文件中的所有代码。如果有人能给我指出正确的方向,我将不胜感激。 我将感谢任何关于如何添加代码的帮助 我可以通过直接链接推荐书/page/2/访问第2页。但是在第1页上,导航没有出现。 第1页: 第2页:
我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php 这是我的密码: 很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里? 谢谢! 编辑1我尝试了这个,它也不工作!
我是个新手,我正在努力发展我的第一个主题。 不幸的是,我遇到了一些麻烦与自定义后类型(项目)。我已经尝试了关于这个主题的不同组合(query_post、WP_Query、同花永久链接等)。),但似乎没有一个适合我。 我尝试使用插件wp_pagenavi。 这是我的注册帖子类型,在函数中。php: 以下是模板中列出我的自定义帖子类型“projet”的代码: 目前,这段代码列出了2最后一个自定义帖子类
我正在使用wordpress,并尝试为类别页面创建自定义描述。 我修改了它的header.php文件,以响应自定义标题和描述。但是Wordpress正在用第一篇文章的元描述替换我的元描述。 我怎样才能阻止这一切? 我的代码: 我使用电子电影主题:http://fthemes.com/emovies-free-wordpress-theme/ 我的网站类别链接:http://www.raagalu.
我正在构建一个WordPress主题,其中的博客文章是使用一个自定义的文章类型标题为“博客” 博客页面位于http://website.com/blog/上,当发布“blogs”类型的文章时,它只发布到/blog/page上。我的问题是,当我单击一个博客标题来查看单个博客时,URL被重定向到http://website.com/post-title,而不是http://website.com/bl