仅安装了带有BeTheme和Woocommerce的Wordpress并面临以下问题:当进入单个产品页面时,存在Next-Prev按钮,其中显示有关Next-Prev产品的一些信息-名称,上传日期,图片。现在,我也想增加价格,但是StackOverflow中找不到的东西对我来说都行不通。
这是我的代码,要添加价格而不是日期。
如有需要,可以提供theme-shortcodes.php文件的代码。
谢谢。
if( is_object( $post ) ){
// move this DOM element with JS
$output .= '<a class="fixed-nav fixed-nav-'. $next_prev .' format-'. get_post_format( $post ) .'" href="'. get_permalink( $post ) .'">';
$output .= '<span class="arrow"><i class="'. $icon .'"></i></span>';
$output .= '<div class="photo">';
$output .= get_the_post_thumbnail( $post->ID, 'blog-navi' );
$output .= '</div>';
$output .= '<div class="desc">';
$output .= '<h6>'. get_the_title( $post ) .'</h6>';
$output .= '<span class="date"><i class="icon-clock"></i>'. get_the_date(get_option('date_format'), $post->ID) .'</span>';
$output .= '</div>';
$output .= '</a>';
}
答案 0 :(得分:0)
您可以使用以下功能创建产品对象:
$product = wc_get_product( $post->ID );
然后,您将可以访问所有产品的数据。可以找到所有可用的方法here,但您需要的是:
$regular_price = $product->get_regular_price();
$sale_price = $product->get_sale_price();
$price = $product->get_price();
并回显价格变量,您要显示哪个价格。
答案 1 :(得分:0)
最好的方法是使用dedicated get_price_html()
method从WC_Product
对象实例中获取有效的格式化产品价格。
我也重新访问了您的代码:
if( is_a( $post, 'WP_Post' ) && 'product' === get_post_type( $post ) ){
global $product;
if( ! is_a( $product, 'WP_Product' ) ){
$product = wc_get_product( $post->ID );
}
// move this DOM element with JS
$output .= '<a class="fixed-nav fixed-nav-'. $next_prev .' format-'. get_post_format( $post ) .'" href="'. get_permalink( $post ) .'">
<span class="arrow"><i class="'. $icon .'"></i></span>
<div class="photo">' . get_the_post_thumbnail( $post->ID, 'blog-navi' ). '</div>
<div class="desc">
<h6>'. get_the_title( $post ) .'</h6>
<span class="price">'. $product->get_price_html() .'</span>
</div>
</a>';
}
经过测试可以正常工作。