我有一种特殊的鼻涕虫。php页面。
我想显示第一类“横幅广告”,每页只有一篇文章,然后在下面,显示“特色”类别的每页3篇文章
我不想使用:**query_posts('posts_per_page=4')**
我尝试过pre_get_posts功能,但似乎无法让它工作。
现在每页显示的帖子数量是我在设置中指定的数量-
以下是我当前的代码:
$args1 = array(
'category_name' => 'banner-ads',
'posts_per_page' => 1
);
$the_query = new WP_Query( $args1 );
while ( $the_query->have_posts() ) :
$the_query->the_post();
ar2_render_posts( null, array ( 'type' => 'node' ), true );
endwhile;
wp_reset_postdata();
$args2 = array(
'category_name' => 'featured',
'posts_per_page' => 3
);
$query2 = new WP_Query( $args2 );
while( $query2->have_posts() ):
$query2->next_post();
ar2_render_posts( null, array ( 'type' => 'traditional' ), true );
endwhile;
wp_reset_postdata();
它非常简单,只需在ar2\u render\u posts中
alterquery\u args
ar2_render_posts( null, array (
'query_args' => array ( 'posts_per_page' => 1 ),
), true );
好吧,我终于明白了。如果您想强制它执行一定数量的POST,则添加过滤器及其功能,然后在循环结束时将其删除。在第二个循环中,我意识到ar2_render_posts()函数与代码冲突,因此我选择从头开始重做该函数,因为它基本上是一个布局函数。
add_filter('post_limits', 'my_post_limits');
function my_post_limits( $limit ) {
if ( in_category('banner-ads') ) {
return 'LIMIT 0, 3';
}
return $limit;
}
$args1 = array(
'category_name' => 'banner-ads'
);
$the_query = new WP_Query( $args1 );
while ( $the_query->have_posts() ) :
$the_query->the_post();
ar2_render_posts( null, array ( 'type' => 'node' ), true );
endwhile;
wp_reset_postdata();
remove_filter('post_limits', 'my_post_limits');
您尚未重置:wp_reset_postdata()
有关类别的有用信息:http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters
这是我的第一个循环页面之一:
<?php
$postq1 = new WP_Query(
array(
'post_type' => array('post','yourcustom'),
'posts_per_page' => 1,
'category_name'=>'banner-ads')
);
if($postq1->have_posts()):
while ( $postq1->have_posts() ) :
$postq1->the_post();?>
<article id="post-<?php the_ID();?>">....</article>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
第二个循环:
<?php
$postq2 = new WP_Query(
array(
'post_type' => array('post','yourcustom'),
'posts_per_page' => 3,
'category_name'=>'featured')
);
if($postq2->have_posts()):
while ( $postq2->have_posts() ) :
$postq2->the_post();?>
<article id="post-<?php the_ID();?>">....</article>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
... 代码的其余部分使用
query_posts()
;
我有两个不同类别的自定义帖子类型(公文包),然后我有两个页面显示两个类别的帖子。 我调用页面时的url类似于mysite.com/pagename,其中pagename与公文包类别同名。 我的问题是,当我进入单一公文包时,url会变成mysite.com/portfolio/portfolio-name 有没有办法在url中显示投资组合类别?应该像mysite.com/portfolio-cate
我创建了一个名为制造商的自定义帖子类型,并添加了大量帖子和类别。单个帖子页面工作,但类别/存档页面不显示任何帖子。 制造商被分成不同的类别,我需要显示每个类别中所有帖子的存档。我去工厂的时候 http://localhost/category/manufactures/ge-speedtronic/ 这就是令人困惑的地方。我为自定义帖子类型“制造商”使用的类别也显示在我的其他自定义帖子类型和默认帖
我想钩入save_post函数,找出帖子所在的类别,然后为每个类别中的帖子分配不同的页面模板。我已经尝试了大约30个不同的版本,但没有成功。谁能帮我指出正确的方向?
我已经创建了一个自定义的帖子类型“Shop”,其中包含商店类别的自定义分类法 对于我的商店类别存档页面,我希望URL结构为: example.com/shop/tech/(代替example.com/shop/category/tech/) 我希望商店的帖子example.com/shop/shop-post-title-example 我尝试了下面的代码并保存了永久链接,但当我访问商店帖子时,它
我正在使用JSON API插件与我的wordpress页面,get_recent_posts json的数组大小约为250个帖子。例如,当我调用 http://www.example.org/api/get_recent_posts/ 在浏览器中查看这些帖子时,我得到一个空白页面,控制台中没有错误。但是,如果我限制例如 http://www.example.org/api/get_recent_p
我已使用以下代码注册自定义邮件类型: 问题是,这篇文章的URL变成了: 但是,我需要: 有没有办法从URL中删除帖子类型的段塞“电影”,比如默认情况下在前端显示的帖子和页面? 谢谢