我是初学者,请给我一些指导。
我添加了一个函数,这样我就可以为我的Wordpress页面设置类别
function my_page_category()
{
register_taxonomy_for_object_type(\'category\', \'page\');
add_post_type_support(\'page\', \'category\');
}
add_action( \'init\', \'my_page_category\' );
现在,我只需要为一个类别显示3页(标题和摘录以及阅读更多内容),到目前为止,我有下面的内容,但它只返回1页,而我在该类别中有5页。
<?php
$splash_page_args = array(
\'post_type\' => \'page\',
\'posts_per_page\'=> \'3\',
\'taxonomy\' => \'category\',
\'field\' => \'slug\',
\'term\' => \'splash-homepage\'
);
$splash_pages = new WP_Query($splash_page_args);
foreach ($splash_pages as $splash_page){
?>
<h2><?php echo $splash_page->post_title; ?></h2>
<p><?php echo $splash_page->post_content; ?></p>
<?php
}
?>
我在wordpress上搜索过,也在数组中尝试过,但没有成功:
\'number\'=>\'3\',
提前感谢您的帮助。
SO网友:Levi Dulstein
这里有几件事:
1) 您的WP\\u查询参数看起来不太好,按分类法查询帖子的正确方法应该是:
$splash_page_args = array(
\'post_type\' => \'page\',
\'posts_per_page\' => \'3\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'category\',
\'field\' => \'slug\',
\'terms\' => \'splash-homepage\',
),
),
);
2)您使用
foreach
而不是标准的WordPress循环?如果要继续使用foreach循环,则posts对象不在
$splash_pages
变量,在
$splash_pages->posts
.
但是,我建议使用WordPress循环,如下所示:
if ( $splash_pages->have_posts() ) :
while ( $splash_pages->have_posts() ) : $splash_pages->the_post();
?>
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
<?php
endwhile;
endif;
wp_reset_postdata();