我有一个wordpress页面,我需要在底部加载自定义帖子类型。有8种类型的帖子类型,我有循环工作,以便根据加载的页面从正确的类别中提取。问题是我想将它限制在该类别中的最新帖子。现在循环从一个类别中提取所有帖子,我只想要1.我不确定如何限制它在数组中。我已尝试过帖子,posts_per_page和num_pages,但它们似乎都没有效果。有谁知道我失踪的价值?
$taxonomy=get_field('show_from');
$args = array(
'post_type' => 'project',
'tax_query' => array(
array(
'taxonomy' => 'project-categories',
'field' => 'slug',
'posts_per_page' => 1,
'terms' => $taxonomy
),
)
);
$query = new WP_Query( $args ); ?>
<?php if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$backgroundImg = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' ); ?>
<div class="cpt-feature" style="background: url('<?php echo $backgroundImg[0]; ?>') center center no-repeat; background-size: cover;">
<?php echo get_the_post_thumbnail( $page->ID, 'thumbnail' ); ?>
<?php
echo "<div class='cpt-overlay'>";
echo "<div class='project-information'>";
echo "<h3>";
the_title();
echo "</h3>";
echo "<p>";
echo get_field('intro_blurb');
echo "<p><a href='" . get_permalink() . "'>View Project</a></p>";
echo "</div><!--project-info-->";
echo "</div><!--cpt-overlay-->";
echo "</div><!--cpt-feature-->";
echo "</a>";
}
} else {
}?>
答案 0 :(得分:1)
这是正确缩进/格式化代码如何在您诊断/解决问题的能力方面产生巨大差异的一个主要示例。
问题实际上很简单:posts_per_page
参数位于错误的位置 - 它嵌套在tax_query
内,但需要位于“顶级”:
$args = array(
'post_type' => 'project',
// moved this argument out of the tax query
'posts_per_page' => 1,
'tax_query' => array(
array(
'taxonomy' => 'project-categories',
'field' => 'slug',
'terms' => $taxonomy
)
)
);
*最好的IDE,比如PHPStorm,提供易于使用的工具来为你自动格式化你的代码 - 我强烈建议你找一个 - 我是巨大的< / em> PHPStorm的粉丝。