WooCommerce dansk standard opsætning til simpel webshop
NB! Har du brug for professionel hjælp til opsætning af din Woocommerce webshop, kan vi hjælpe dig.
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;
}
?>
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
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>
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
}
?>
WooCommerce Conditional Logic
Rigtig mange fine eksempler på WooCommerce Conditional Logic
https://businessbloomer.com/woocommerce-conditional-logic-ultimate-php-g...