WooCommerce dansk standard opsætning til simpel webshop

A

Antal produkter på kategorisider

Skal antallet af produkter ændres på produktoversigten, kan det gøre med følgende kode.

<?php
// Antal produkter pr side
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 16;' ), 20 );
?>

B

Bedømmelse (produkt)

- under faneblad PRODUKTER

Ønkser man ikke, at kunderne skal kunne bedømme produkterne, kan man under Produkt Bedømmelse slå muligheden fra. Den kan på det enkelte produkt aktiveres igen.

Billeder

Måske har du et responsive theme til shoppen. Her er det vigtigt at der ikke er width og height på billeder, så du i CSS kan benytte: img {max-width: 100%;}.
Billede attributterne er sikkert fjernet via nedenstående kode i themet fundctions.php

<?php
add_filter
( 'post_thumbnail_html', 'remove_width_attribute', 10 );
add_filter( 'image_send_to_editor', 'remove_width_attribute', 10 );

function

remove_width_attribute( $html ) {
  
$html = preg_replace( '/(width|height)="\d*"\s/', "", $html );
   return
$html;
}
?>

Desværre skal du tilføje en ekstra kode, for at få WooCommerce image placeholder til også at blive printet i koden uden width og height.

<?php
add_filter
( 'woocommerce_placeholder_img', 'remove_width_attribute', 10 );
?>

C

CSS

Vil du fjerne WooCommerce CSS filer helt. Typisk hvis du koder dit eget theme.
- functions.php kan du tilføje nedenstående:

<?php
// Fjern WooCommerce CSS
add_filter( 'woocommerce_enqueue_styles', '__return_false' );
?>

F

Faktureringsoplysninger - felter på checkout

Her har jeg fjernet kommentarfelt, telefon og adresse 2

<?php
add_filter
( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
     unset(
$fields['order']['order_comments']);
     unset(
$fields['billing']['billing_phone']);
     unset(
$fields['billing']['billing_address_2']);
unset(
$fields['billing']['billing_company']);

     return

$fields;
}
?>

Se mere her

Fragt beregning

Fjerne fragt beregning ved at slette nedestående i filen cart.php - nederst i filen!
Husk altid at lave ændringer i theme filerne og ikke direkte i WoorCommerce filerne.

<div class="cart-collaterals">

<?php do_action( 'woocommerce_cart_collaterals' ); ?>

<?php woocommerce_cart_totals(); ?>

<?php woocommerce_shipping_calculator(); ?>

</div>

Featured product

Vis udvalgte vare ved hjælp af shortcode. Indsættes i editoren på den enkelte side.

[featured_products per_page="12" columns="4"]

L

Opsætning af land

- under faneblad GENERAL

Opsætning af standard land (DK). Landet hvor butikken fysisk har hjemme og hvor moms beregning fortages.
Hvis der kun sælges til specifikke lande, udfyldes det ligeledes her.

M
Nedenstående er blevet løst i nyere version af WooCommerce

Møntenhed - DKK

På nuværende tidspunkt skriver WooCommerce kr og ikke DKK som man skal i følge lovgivning.
- functions.php kan du tilføje nedenstående:

<?php
// kr til DKK

add_filter( 'woocommerce_currencies', 'add_my_currency' );

function

add_my_currency( $currencies ) {
$currencies['DKK'] = __( 'Currency name', 'woocommerce' );
return
$currencies;
}

add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);

function

add_my_currency_symbol( $currency_symbol, $currency ) {
switch(
$currency ) {
case
'DKK': $currency_symbol = 'DKK'; break;
}
return
$currency_symbol;
}
?>

Moms opsætning

- under faneblad MOMS

Sæt flueben i Aktiver Moms

Memory Limit (WordPress Memory Limit)

WooCommerce er krævende mht. memory limit.
Under Status kan du se dine indstillinger. Har du brug for at forøge memory limit, kan du tilføje nedenstående til din wp-config.php

define('WP_MEMORY_LIMIT', '96M');

N

NYHEDSBREV - MailChimp i checkoutform

Ønsker man at indsætte MailChimp i checkout, kan det integreres i WooCommerce med følgende plugin:
https://wordpress.org/plugins/woocommerce-mailchimp/

R

Registrering af brugere/kunder

- under faneblad KONTOER

Relaterede produkter

Ønsker man ikke at benytte Relaterede produkter ved det enkelte produkt, kan funktionen fjernes ved at tilføje koden.
- FUNCTIONS.php

<?php
function woocommerce_remove_related_products(){
   
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
}
add_action('woocommerce_after_single_product_summary', 'woocommerce_remove_related_products');
?>

S

Shipping adresse

Skjul shipping adressen - så man skal "hakke af" hvis den skal vises.

<?php
add_filter
( 'woocommerce_ship_to_different_address_checked', '__return_false' );
?>

T

Theming et WooCommerce theme

Når du arbejder med theme filerne, kan du have brug for at printe forskellige elementer på forskellige sider.
Her er et eksempel på en sidebar, der kun printes på WooCommerce sider.

<?php if ( is_woocommerce() ) {
 
get_sidebar( 'cartwoo' );
}
?>

Se flere tags her: http://docs.woothemes.com/document/conditional-tags/

V

Opsætning af valuta og valutaindstillinger

- under faneblad GENERAL

Vælg Danske kroner under Valuta og Højre med mellemrum for Valuta position

Vigtig information:

Når du koder dine egne WordPress temaer, som skal bruges til WooCommerce, er følgende informationer uundværlige:
http://docs.woothemes.com/documentation/plugins/woocommerce/woocommerce-codex/snippets/
Man må rose Woothemes for at lave en fantastisk dokumentation, hvilket formodentlig har været med til at gøre WooCommerce så populært et shop-system.

http://woocommerce.wp-a2z.org/

Fjern wrapper div

remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);

Fjern Breadcrumbs

Nogle gang støjer breadcrumbs lidt for meget i designet.
Har siden en god menustruktur, kan man fint fjerne den, også uden det går ud over SEO på WooCommerce shoppen.

add_action( 'init', 'jk_remove_wc_breadcrumbs' );
function jk_remove_wc_breadcrumbs() {
    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}

Sortering af produkter

Fjerne muligheden for at sortere i produkterne på produkt-oversigt-siderne.

<?php
remove_action
( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
?>

Ønkser du bare at fjerne enkelte valgmuligheder, kan det gøres med.

<?php
function my_woocommerce_catalog_orderby( $orderby ) {
    unset(
$orderby["menu_order"]);  //Remove default sorting option.
   
unset($orderby["popularity"]);  //Remove popularity option.
   
unset($orderby["rating"]);      //Remove rating option.
   
unset($orderby["date"]);        //Remove newness option.
   
unset($orderby["price"]);       //Remove price: low to high option
   
unset($orderby["price-desc"]);  //Remove price: high to low option
   
return $orderby;
}
add_filter( "woocommerce_catalog_orderby", "my_woocommerce_catalog_orderby", 20 );
?>

Hvis sorteringen fjernes, vil du typisk også fjerne optællingen af antal produkter, som printes lige under sorterings vælgeren.
Det gøres ved at indsætte nedenstående i functions.php

<?php
remove_action
( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
?>

Vis info om køb

Her er et eksempel på en info bar som viser: Woo beskeder, Antal produkter og samlet pris, link til betaling og link til kurv

<ul class="shop__info">
<li>
<?php global $woocommerce; if ( sizeof( $woocommerce->cart->cart_contents) > 0 ) :
        echo
'<a href="' . $woocommerce->cart->get_cart_url() . '" title="' . __( 'Checkout' ) . '">' . __( 'Se din indkøbskurv' ) . '</a>';
    endif;
?>

</li>
<li>
<?php global $woocommerce; if ( sizeof( $woocommerce->cart->cart_contents) > 0 ) :
        echo
'<a href="' . $woocommerce->cart->get_checkout_url() . '" title="' . __( 'Checkout' ) . '">' . __( 'Gå til betaling' ) . '</a>';
    endif;
?>

</li>
<li><a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf (_n( '%d item', '%d items', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_total(); ?></a></li>
<li><?php woocommerce_show_messages(); ?></li>
</ul>

Se mere her

Rating

Fjern rating i loops og product summary, så ratings kun vises ved (under) selve produktet.

<?php
// Fjern rating i summary
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10);
// Fjern rating i produkt loops
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );
?>

Fjerne SKU

Her fjernes kun SKU fra selve siden og ikke i admin.

<?php
// Fjerne SKU fra siden
function THEME-NAVN_remove_product_page_sku( $enabled ) {
    if ( !
is_admin() && is_product() ) {
        return
false;
    }

    return

$enabled;
}
add_filter( 'wc_product_sku_enabled', 'THEME-NAVN_remove_product_page_sku' );
?>

Skal SKU helt fjernes kan man nøjes med.

<?php
add_filter
( 'wc_product_sku_enabled', '__return_false' );
?>

Reset widget filter knap

<?php $filterreset = $_SERVER['REQUEST_URI'];
$filterreset = strtok($filterreset, '?'); ?>

<a href="<?php echo $filterreset; ?>">Reset</a>

Tilføj billede til grouped products

<?php
add_action
( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );

function
woocommerce_grouped_product_thumbnail( $product ) {
   
$image_size = array( 50, 50 );  // array( width, height ) image size in pixel
   
$attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
   
?>

    <td class="label">
        <?php echo wp_get_attachment_image( $attachment_id, $image_size ); ?>
    </td>
    <?php
}
?>