#php #html #wordpress #woocommerce
Вопрос:
Я понимаю, что это должно быть просто для большинства программистов, но я не программист!
Я хочу отобразить цену продукта, включая символ валюты, где-нибудь на своей странице/в тексте.
Я делал это раньше, но совершенно забыл, как это делается! Я скопировал приведенный ниже код, но не уверен, где его разместить, а также должен ли я заменить post_id своим идентификатором продукта? любая помощь от вас, ребята, будет признательна
$product = wc_get_product( $post_id );
$product->get_regular_price();
$product->get_sale_price();
$product->get_price();
Комментарии:
1. В зависимости от места, могут быть крючки, чтобы показать это. Нужна информация о том, где именно вы пытаетесь это показать
2. Спасибо за ваш комментарий…. Я планировал использовать модуль Raw Html или создать шорткод
3. Где вы будете добавлять шорткод ? Страница товара или страница магазина ?
Ответ №1:
Вы можете сделать это просто с помощью.
<?php echo $_product->get_price_html(); ?>
где $_product
wc_get_product( $product_id )
.
Это гарантирует, что он совместим с будущими обновлениями woocommerce и расширениями.
Ответ №2:
Вы можете отображать товары с ценами в любом месте вашего сайта, используя этот код
<?php
$args = array( 'post_type' => 'product', 'posts_per_page' => 4, 'product_cat' => 'occasions', 'orderby' => 'rand' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<div class="occasion_block">
<div class="occsn_img">
<a href="<?php the_permalink(); ?>"><?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" />'; ?></a>
</div>
<div class="occsn_cont">
<a href="<?php the_permalink(); ?>"><span class=""h4_span><?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?> </span></a>
<div class="occsn_fetr">
<?php if($product->is_on_sale()){?>
<span class="h5_span"><i><?php echo 'amp;euro;'. $product->get_regular_price();?></i><b><?php echo 'amp;euro;'.$product->get_sale_price();?></b></span>
<?php }?>
</div>
</div>
</div>
<?php
endwhile;
wp_reset_query();
?>
'product_cat'
=> это то, что должна отображаться ваша категория товаров, или удалите ее, если вам нужно отобразить все товары
<?php echo 'amp;euro;'. $product->get_regular_price();?>
используется для отображения цены на товары, и вы также можете изменить символ цены в соответствии с вашими потребностями.
Комментарии:
1. Это почти так же, как если бы он блокировал отображение любого кода… Независимо от того, размещаю ли я с помощью шорткода или необработанного html
2. вам нужно добавить этот код в то место, где вы хотите отображать продукты . Я показал вам пример кода для интеграции в HTML для отображения всего продукта в категории случаев.
Ответ №3:
Вы можете использовать приведенную ниже функцию в соответствии с вашими требованиями.
function show_product_price($atts){
$atts = shortcode_atts( array(
'id' => null
), $atts, 'woo_product_price' );
if ( empty( $atts[ 'id' ] ) ) {
return '';
}
$product = wc_get_product( $atts['id'] );
if ( ! $product ) {
return '';
}
return $product->get_price_html();
}
add_shortcode( 'woo_product_price', 'show_product_price');
Так что это короткий код. Вы можете добавить [woo_product_price id="your_product_id"]
, чтобы показать цену конкретного товара на любой странице. Все, что вам нужно сделать, это добавить вышеупомянутый шорткод на страницу и указать идентификатор.
Этот шорткод показывает цену товара, включая валюту. В качестве преимущества, если товар продается, также будет показана цена продажи.
Посмотрите на изображение, чтобы получить представление о том, как оно выглядит.