Php WooCommerce/WordPress-不显示具有特定标题的产品
我有一个产品循环,在我的主页上显示8种产品。它只是一个循环,从产品列表的末尾开始到开始,显示我的所有产品,直到到达第八个产品。当我放置一个条件语句,即我只希望显示具有特定标题的产品时,它只会选择那些,但只会从没有条件语句的产品列表中选择 例如,考虑一下商店里所有产品的清单: [名单开头] “球1” “地球2号” […更多产品…] “Kompozycja 6” “Kompozycja 7” [名单结束] 我的循环从最后一个项目抓取到第一个项目,并将显示的产品数量限制为8。我放了一个条件语句,我只想显示“Kompozycja 7”,它成功了。但是,如果我指定的名称不是列表中最后8项之一,那么它将不起作用。例如,我将选择“Globus 1”。它不会显示,因为它不属于列表中的最后8项 这是我的循环:Php WooCommerce/WordPress-不显示具有特定标题的产品,php,wordpress,loops,woocommerce,product,Php,Wordpress,Loops,Woocommerce,Product,我有一个产品循环,在我的主页上显示8种产品。它只是一个循环,从产品列表的末尾开始到开始,显示我的所有产品,直到到达第八个产品。当我放置一个条件语句,即我只希望显示具有特定标题的产品时,它只会选择那些,但只会从没有条件语句的产品列表中选择 例如,考虑一下商店里所有产品的清单: [名单开头] “球1” “地球2号” […更多产品…] “Kompozycja 6” “Kompozycja 7” [名单结束] 我的循环从最后一个项目抓取到第一个项目,并将显示的产品数量限制为8。我放了一个条件语句,我只想
$args = array(
'post_type' => 'product',
'posts_per_page' => 8
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
if (get_the_title($post->ID) == 'Kompozycja 7' || get_the_title($post->ID) == 'Kompozycja 2') {
woocommerce_get_template_part( 'content', 'product' );
}
endwhile;
} else {
echo __( 'No products found' );
}
有人能帮我吗?你的问题是在条件循环之前限制了帖子的数量。 行
$loop=newwp\u查询($args)代码>为循环返回最多8个迭代结果
您可以返回整个结果集,并使用计数器对其进行限制:
$args = array(
'post_type' => 'product',
'posts_per_page' => -1 //return all posts
);
$loop = new WP_Query( $args );
//create a counter
$count=0;
if ( $loop->have_posts() ) {
//loop whilst we have posts and we still require more
while ( $loop->have_posts() && $count < 8 ) : $loop->the_post();
if (get_the_title($post->ID) == 'Kompozycja 7' || get_the_title($post->ID) == 'Kompozycja 2') {
woocommerce_get_template_part( 'content', 'product' );
//increment count - if it reaches 8 we quit the loop
$count++;
}
endwhile;
} else {
echo __( 'No products found' );
}
$args=array(
“post_类型”=>“产品”,
“每页帖子”=>-1//返回所有帖子
);
$loop=新的WP_查询($args);
//创建一个计数器
$count=0;
如果($loop->have_posts()){
//循环,而我们有职位,我们仍然需要更多
而($loop->have_posts()&&$count<8):$loop->the_post();
如果(获取标题($post->ID)='Kompozycja 7'| |获取标题($post->ID)='Kompozycja 2'){
woocommerce_get_template_part(‘内容’、‘产品’);
//增量计数-如果它达到8,我们退出循环
$count++;
}
结束时;
}否则{
echo(“未发现任何产品”);
}
虽然如果你有成千上万的产品,这将是缓慢的。可能有一个参数可以传递给WP_Query,以在数据库中执行此检查。您没有显示足够的代码-您在哪里将结果限制为8?哦,对不起!刚刚做了一次编辑来添加丢失的代码。现在它就在那里了。代码假设在从db中取出的8个产品中有这2个产品。您确定查询返回的结果中有这些产品吗?