在Woocommerce产品自定义循环中显示价格

时间:2018-06-27 03:33:07

标签: php woocommerce

我使用的是Woocommerce预订,仅填写了基本费用。没有其他规则。如何在这样的循环中显示产品价格?

public void sendMessage(String to, Message newMessage) {
if(chatManager!=null) {
Chat newChat = chatManager.createChat(to);

try {
if (connection.isConnected() && connection.isAuthenticated()) {

newChat.sendMessage(newMessage);
}
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
}
else
{
Log.d(TAG,”chatmanager is null”);
}
}

价格字段未显示任何内容

更新

我尝试过的另一个代码:

<?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;?>

什么都不起作用:(它们都显示空白或显示零。 任何人都可以帮助指出正确的方向吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

当您只应使用esc_url()时,似乎您正在拉正确的元键,可能与使用esc_html()有关。我会尝试的。

答案 1 :(得分:0)

Try (from the docs):

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

如果没有,我认为第二个片段的逻辑还可以,但可能 productID!= postID , 所以另一种解决方案是:

  • 找到该产品ID postID
  • 致电get_post_meta( postID ,'_wc_booking_pricing',true);
  • 打印价格

编辑


我的答案太长了,无法在评论中发布。

您确定从wp-admin正确设置了产品吗?

为了执行第二个建议,您需要访问数据库。 在创建/修改帖子时,在wp-admin中获取帖子(产品)的ID,您应该在url中输入类似{URL} / wp-admin / id = 123的内容。

一旦拥有ID,就进入数据库的wp_post_meta表中,并查找具有该post_id的所有字段,并检查是否可以找到正确的价格。

一旦找到它,就可以调用get_post_meta(correctID,correctKey)