WooCommerce: как добавить РРЦ / МРЦ в карточку товара (без плагина)

Чек-лист запуска сайта
26.11.2019
Факторы ранжирования E-COMMERCE 2019
02.12.2019
Показать всё

Для производителей и оптовых компаний иногда нужна возможность указывать рекомендуемые или минимальные розничные цены прямо в карточке товара.

Для производителей и оптовых компаний иногда нужна возможность указывать рекомендуемые или минимальные розничные цены прямо в карточке товара.

Перевод. Оригинал https://businessbloomer.com/woocommerce-display-rrp-msrp-manufacturer-price/

WooCommerce: отображение РРЦ / МРЦ на странице товара

WooCommerce: отображение РРЦ / МРЦ на странице товара

WooCommerce: добавьте поле ввода РРЦ / МРЦ на странице редактирования товара

WooCommerce: добавьте поле ввода РРЦ / МРЦ на странице редактирования товара

PHP-код: добавить РРЦ / МРЦ на страницу товара WooCommerce

/**
 * @snippet       Display RRP/MSRP @ WooCommerce Single Product Page
 * @how-to        Watch tutorial @ https://businessbloomer.com/?p=19055
 * @sourcecode    https://businessbloomer.com/?p=20727
 * @author        Rodolfo Melogli
 * @compatible    WC 3.5.4
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
// -----------------------------------------
// 1. Add RRP field input @ product edit page
 
add_action( 'woocommerce_product_options_pricing', 'bbloomer_add_RRP_to_products' );      
 
function bbloomer_add_RRP_to_products() {          
woocommerce_wp_text_input( array( 
'id' => 'rrp', 
'class' => 'short wc_input_price', 
'label' => __( 'RRP', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')',
'data_type' => 'price', 
) 
);      
}
 
// -----------------------------------------
// 2. Save RRP field via custom field
 
add_action( 'save_post_product', 'bbloomer_save_RRP' );
 
function bbloomer_save_RRP( $product_id ) {
global $pagenow, $typenow;
if ( 'post.php' !== $pagenow || 'product' !== $typenow ) return;
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( isset( $_POST['rrp'] ) ) {
if ( $_POST['rrp'] )
   update_post_meta( $product_id, 'rrp', $_POST['rrp'] );
} else delete_post_meta( $product_id, 'rrp' );
}
 
// -----------------------------------------
// 3. Display RRP field @ single product page
 
add_action( 'woocommerce_single_product_summary', 'bbloomer_display_RRP', 9 );
 
function bbloomer_display_RRP() {
    global $product;
    
   if ( $product->get_type() <> 'variable' && $rrp = get_post_meta( $product->get_id(), 'rrp', true ) ) {
      echo '<div class="woocommerce_rrp">';
      _e( 'RRP: ', 'woocommerce' );
      echo '<span>' . wc_price( $rrp ) . '</span>';
      echo '</div>';
   }
}
Начать проект