簡體   English   中英

在Woocommerce產品自定義循環中顯示價格

[英]Show price in Woocommerce product custom loop

我正在使用Woocommerce Bookings,但只填寫了基本費用。 沒有其他規則。 如何在這樣的循環中顯示產品價格?

<?php
$args = array( 'post_type' => 'product', 'posts_per_page' => -1 );
$loop = new WP_Query( $args );

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
ID is: <?php the_ID(); ?>
Title is: <?php the_title(); ?>
Price: <?php echo esc_html( get_post_meta( get_the_ID(), '_regular_price', true ) ); ?>

<?php endwhile; wp_reset_query(); ?>

價格字段未顯示任何內容

更新

我嘗試的另一個代碼:

<?php
global $woocommerce;
$product = new WC_Product_Booking($productID);
$base_price = $product->get_price();
$product_data = $product->get_data();
$product_pricing = get_post_meta( $product_id, '_wc_booking_pricing', true);
?>

<?php echo $product_pricing; ?> 
<?php echo $base_price;?>

兩者也都返回零值

另一個嘗試

<?php
global $woocommerce;
$product = new WC_Product_Booking($productID);
$product = wc_get_product( $product_id );

$base_price = $product->get_price();
$product_data = $product->get_data();

$product_pricing = $product_data['pricing'];
foreach($product_pricing as $key => $princing ){
   $pricing_type           = $princing['type'];
   $pricing_base_cost      = $princing['base_cost'];
   $pricing_base_modifier  = $princing['base_modifier'];
   $pricing_cost           = $princing['cost']; 
   $pricing_modifier       = $princing['modifier'];
   $pricing_from           = $princing['from'];
   $pricing_to             = $princing['to'];
}

$pricing_data = get_post_meta( $product_id, '_wc_booking_pricing', false); ?>

<?php echo $pricing_data; ?>

什么都不起作用:(它們全都顯示空白或顯示零。任何人都可以朝正確的方向指出嗎?

非常感謝

似乎您在拉正確的元鍵,可能與使用esc_url() ,而應該只使用esc_html() 我會嘗試的。

嘗試(來自docs ):

$product = new WC_Product_Booking($productID);
//don't know if you need 'echo'
echo $product->get_price_html()

如果沒有,我認為第二個代碼段的邏輯還可以,但可能是productID!= postID ,因此另一種解決方案是:

  • 查找該productIDpostID
  • 調用get_post_meta( postID ,'_wc_booking_pricing',true);
  • 打印價格

編輯


我的答案太長了,無法在評論中發布。

您確定從wp-admin正確設置了產品嗎?

為了執行第二個建議,您需要訪問數據庫。 在創建/修改帖子時,請在wp-admin中獲取該帖子(產品)的ID,網址中應包含{URL} / wp-admin / id = 123之類的內容。

擁有ID后,進入數據庫中的wp_post_meta表,查找具有該post_id的所有字段,並檢查是否可以找到正確的價格。

找到它后,可以調用get_post_meta(correctID,correctKey)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM