In de standaard WooCommerce versie kun je bij je producten geen inkoopprijs vermelden. Best lastig en ik krijg dan ook regelmatig de vraag van klanten of dit wel mogelijk is.

In dit bericht laat ik je zien hoe je een nieuw veld kunt aanmaken in je WooCommerce admin waarin je de inkoopprijs van het product kunt vermelden. Het is een standaard veld dat verder nergens wordt gebruikt en dus ook niet wordt gebruikt voor winstberekeningen etc. Het is echter wel heel handig als je de inkoopprijs ziet voor het bepalen van de verkoopprijs en eventuele kortingen.

Uiteraard is voor de klant in de webshop de inkoopprijs nergens terug te zien.

Gebruik onderstaande code om een nieuw veld in WooCommerce aan te maken voor de inkoopprijs.

/**
 * Add the Cost of Products to WooCommerce products (COP)
 *
 * @link https://www.innonet.nl/
 */

/**
 */
function woocommerce_render_cop_field() {
   $input   = array(
      'id'          => '_cop',
      'label'       => sprintf(
         '<abbr title="%1$s">%2$s</abbr>',
         _x( 'Inkoopprijs', 'field label', 'my-theme' ),
         _x( 'Inkoopprijs', 'abbreviated field label', 'my-theme' )
      ),
      'value'       => get_post_meta( get_the_ID(), '_cop', true ),
      'desc_tip'    => true,
      'description' => __( 'Voer de inkoopprijs van het product in', 'my-theme' ),
   );
?>

   <div id="cop_attr" class="options_group">
      <?php woocommerce_wp_text_input( $input ); ?>
   </div>

<?php
}

add_action( 'woocommerce_product_options_inventory_product_data', 'woocommerce_render_cop_field' );

/**
 * Save the product's COP number, if provided.
 *
 * @param int $product_id The ID of the product being saved.
 */
function woocommerce_save_cop_field( $product_id ) {
   if (
      ! isset( $_POST['_cop'], $_POST['woocommerce_meta_nonce'] )
      || ( defined( 'DOING_AJAX' ) && DOING_AJAX )
      || ! current_user_can( 'edit_products' )
      || ! wp_verify_nonce( $_POST['woocommerce_meta_nonce'], 'woocommerce_save_data' )
   ) {
      return;
   }

   $cop = sanitize_text_field( $_POST['_cop'] );

   update_post_meta( $product_id, '_cop', $cop );
}

add_action( 'woocommerce_process_product_meta','woocommerce_save_cop_field' );

Bij zowel eenvoudige als variabele producten zul je onder Voorraad een nieuw veld zien, genaamd inkoopprijs.

inkoopprijs woocommerce

Om de code te installeren kun je de plug-in Code Snippets in je webshop installeren. Via deze plug-in kun je eenvoudig code toevoegen aan het functions.php bestand. Ook kun je handmatig de code in functions.php zetten. Maak wel altijd een back-up voor je dit doet.

  • Berichtcategorie:Techniek
  • Bericht auteur: