如何在自定义页面上按ID号显示Woocommerce产品价格?

时间:2015-05-11 10:14:15

标签: wordpress woocommerce product

我正在尝试在自定义页面上显示Woocommerce中的产品价格。 有一个简短的代码,但它提供了产品价格,并添加了“添加到购物车按钮”,我不想要按钮,我只是想通过ID获得特定产品的价格。

这可能吗?

感谢。

CODE:

<table class="unlockTableBorder">
<tbody>
<tr>
<td>
<h2>פתיחת מכשירי Alcatel כלל עולמי</h2>
<h4>אנא קראו והבינו את תנאי השירות הבאים לפני הזמנת שירות זה:</h4>
<ul>
	<li>שירות זה תומך בפתיחת מכשירים סלולריים מסוג Alcatel מארה"ב, קנדה ומקסיקו.</li>
	<li>מכשירי CDMA וספקיות שירות CDMA לא נתמכים בידי שירות זה, אנא אל תשתמשו בשירות זה בשביל מכשירים אלו - במידה ותשמשו בשירות זה למכשירי CDMA, אתם תקבלו קוד שלא תוכלו להשתמש בו, ולא תוכלו לקבל החזר כספי! - אנא <a title="פתיחת מכשירי CDMA לכל הרשתות" href="http://www.unlocker.co.il/sim-unlock-cdma-mobile-device/">ראו פתיחת מכשירי CDMA לכל הרשתות בישראל.</a></li>
</ul>
<h5><strong>זמן הספקה: 1-24 שעות</strong></h5>
<form id="unlock1" class="cart" enctype="multipart/form-data" method="post" name="unlock"><input class="the_imei" style="width: 80%; border-radius: 15px;" name="the_imei" type="text" value="" placeholder="מספר סידורי IMEI של המכשיר (חייג #06#*)" /> <input class="add-to-cart" name="add-to-cart" type="hidden" value="76" /> <button class="unlockButton" type="submit" value="submit">פתח לכל הרשתות בישראל </button></form>*בלחיצה על הפתור, אתם מסכימים ל<a title="תנאי השירות" href="http://www.unlocker.co.il/terms-and-conditions/">תנאי השירות</a>.</td>
</tr>
</tbody>
</table>
<script src="http://www.unlocker.co.il/checkimei1.js" type="text/javascript"></script>

3 个答案:

答案 0 :(得分:86)

如果您拥有产品ID,则可以使用该ID来创建产品对象:

$_product = wc_get_product( $product_id );

然后,您可以从该对象运行任何WooCommerce的产品方法。

$_product->get_regular_price();
$_product->get_sale_price();
$_product->get_price();

<强>更新
请查看关于如何write your own shortcode的Codex文章。

整合WooCommerce产品数据可能如下所示:

function so_30165014_price_shortcode_callback( $atts ) {
    $atts = shortcode_atts( array(
        'id' => null,
    ), $atts, 'bartag' );

    $html = '';

    if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){
         $_product = wc_get_product( $atts['id'] );
         $html = "price = " . $_product->get_price();
    }
    return $html;
}
add_shortcode( 'woocommerce_price', 'so_30165014_price_shortcode_callback' );

您的短代码将看起来像[woocommerce_price id="99"]

答案 1 :(得分:22)

在woocommerce中,

获得正常价格:

$price = get_post_meta( get_the_ID(), '_regular_price', true);
// $price will return regular price

获得促销价:

$sale = get_post_meta( get_the_ID(), '_sale_price', true);
// $sale will return sale price

答案 2 :(得分:1)

其他答案有效,但是

要获得完整/默认价格:

$product->get_price_html();