我創建了 7 個自定義產品欄位(復選框)。我想使用輸出使產品在我的 WooCommerce(WordPress 網路)多商店的子站點上可見。
下面的代碼有效,但不是在輸出開始之前過濾產品,而是在輸出開始之后過濾產品。結果,我得到了幾乎空的商店頁面。
我仍然有 89 個商店頁面,但其中大多數都沒有或只有少數產品。
希望我說清楚了。
這是代碼:
if ( woocommerce_product_loop() ) {
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
global $product;
$blog_id = get_current_blog_id();
while ( have_posts() ) {
the_post();
if ($blog_id == '1') {
$visibility = get_post_meta( $product->get_id(), '_visibility_3rdmillennium', true );
} elseif ($blog_id == '2') {
$visibility = get_post_meta( $product->get_id(), '_visibility_fight2win', true );
} elseif ($blog_id == '3') {
$visibility = get_post_meta( $product->get_id(), '_visibility_muaythai', true );
} elseif ($blog_id == '4') {
$visibility = get_post_meta( $product->get_id(), '_visibility_taekwondo', true );
} elseif ($blog_id == '5') {
$visibility = get_post_meta( $product->get_id(), '_visibility_xprtfightgear', true );
} elseif ($blog_id == '6') {
$visibility = get_post_meta( $product->get_id(), '_visibility_hayabusashop', true );
} elseif ($blog_id == '7') {
$visibility = get_post_meta( $product->get_id(), '_visibility_kmushop', true );
}
if ($visibility == 'yes') {
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
}
我想要完成的是整個產品回圈在輸出開始之前被過濾,所以我不會得到 89 個(半填充)商店頁面,而是(fi)12 個(完全填充)每個子站點的商店頁面。
非常感謝您的努力。
uj5u.com熱心網友回復:
我發現了自己,所以讓我們分享一下。使用自定義產品欄位元過濾產品回圈如下所示:
if ( wc_get_loop_prop( 'total' ) ) {
global $product;
$blog_id = get_current_blog_id();
while ( have_posts() ) {
the_post();
if ($blog_id == '1') {
$visibility = get_post_meta( $product->get_id(), '_visibility_3rdmillennium', true );
} elseif ($blog_id == '2') {
$visibility = get_post_meta( $product->get_id(), '_visibility_fight2win', true );
} elseif ($blog_id == '3') {
$visibility = get_post_meta( $product->get_id(), '_visibility_muaythai', true );
} elseif ($blog_id == '4') {
$visibility = get_post_meta( $product->get_id(), '_visibility_taekwondo', true );
} elseif ($blog_id == '5') {
$visibility = get_post_meta( $product->get_id(), '_visibility_xprtfightgear', true );
} elseif ($blog_id == '6') {
$visibility = get_post_meta( $product->get_id(), '_visibility_hayabusashop', true );
} elseif ($blog_id == '7') {
$visibility = get_post_meta( $product->get_id(), '_visibility_kmushop', true );
}
if ($blog_id == '5') {
$loop = new WP_Query( array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array( array(
'key' => '_visibility_xprtfightgear',
'value' => 'yes',
) ),
) );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post();
wc_get_template_part( 'content', 'product' );
endwhile;
endif;
wp_reset_postdata();
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/528607.html
上一篇:用亂數擴展變數的長度不起作用
