Sök
Stäng denna sökruta.

Skapa produktkategori som automatiskt visar endast rea-produkter – Komplett guide (För utvecklare)

En funktion som saknas för WordPress och Woocommerce är möjligheten att skapa en produktkategori som endast visar produkter med nedsatt pris. Detta är särskilt förmånligt under en kampanjperiod eller en butik som kontinuerligt arbetar med erbjudanden till sina kunder.

(Hoppa till steg 5 för att se koden)

Steg 1: Gör alltid en backup

Ladda ned en backup av din webbplats i WordPress genom att klicka på verktyg -> exportera.

Steg 2: Skapa en kategori i Woocommerce/Wordpress

Skapa en kategori som du vill använda för endast rea-produkter (Lägg inte produkter manuellt i denna). Detta gör du genom att gå till Produkter -> Kategorier och skapa en. Vi har valt att skapa en kategori som heter ”erbjudanden” utan överordnad kategori, vilket är det som används i koden längre ner.

Steg 3: Hitta eller skapa åtkomst till databasen

För att åstadkomma detta behöver ni komma åt filen functions-php för manuell redigering antingen genom ”FTP” eller genom ditt webbhotells egna filhanterare. Detta gör du genom ett av följande alternativ:

  • Alternativ 1 (Om ditt webbhotell saknar en file manager, tex via webbhotell som Loopia): Skapa ett FTP-konto via ditt webbhotell och ladda ned ett program som tillåter access till databasen. Vårt val är Filezilla. Logga in i Filezilla genom att ange värdnamn (I detta exempel ”ftpcluster.loopia.se”) samt det användarnamn och lösenord du valt.
  • Alternativ 2 (Exempelvis webbhotell som one.com eller som använder cPanel såsom misshosting) : Öppna filhanteraren. Via cPanel finns den under files -> file manager.

Steg 4: Lokalisera filen functions.php

I databasen kommer du se din webshops domännamn som en mapp. Har du flera domäner på samma databas (Ofta om man har flera domäner på samma webb) klickar du helt enkelt på den aktuella domänens mapp. Navigera till wp-includes och scrolla sedan tills du hittar functions.php. I vårt fall är detta alltså studiolyze.se -> wp-includes -> functions.php

Steg 5: Ladda ned och redigera filen

Ladda ned filen functions.php och skapa en backup på denna. Öppna sedan filen med anteckningar (Windows) eller annat skrivprogram.

Vi ska nu klistra in följande kod längst ned i slutet av dokumentet (men på en rad ovanför ”?>” om det finns en sådan symbol i slutet av dokumentet):

// Lägger till produkter på rea i kategorin 'Erbjudanden'
add_action( 'woocommerce_product_query', 'custom_sale_category' );
function custom_sale_category( $q ) {
// Kontrollerar om den aktuella kategorin är 'Erbjudanden'
if ( "erbjudanden" !== $q->get( 'product_cat' ) ) return;

// Ställer in posttypen till 'product'
$q->set( 'post_type', 'product' );
$q->set( 'product_cat', null );

// Hämtar ID:n för alla produkter som är på rea
$product_ids_on_sale = wc_get_product_ids_on_sale() ? wc_get_product_ids_on_sale() : array();

// Inkluderar endast produkter på rea i kategorin 'Erbjudanden'
$q->set( 'post__in', $product_ids_on_sale );

}

Om din kategori heter något annat än ”erbjudanden” byter du helt enkelt ut det i koden på samtliga ställen.

Steg 6: Ladda upp och byt ut filen functions.php till din nya. Nu är allt klart.

För att skapa en genväg eller hitta kategori-fliken hamnar den under dindomän.se/produkt-kategori/erbjudanden alternativt dindomän.se/product-category/erbjudanden

Behöver ni hjälp? Vi finns tillgängliga för uppdrag som dessa.

info@studiolyze.se

Felsökning

  1. Säkerställ att rea-priset är aktivt och skapat genom standard-fliken Produkter -> Alla produkter i wordpress.
  2. Se till att namnen på variablerna i koden samt den anpassade menylänken matchar din webbutik.

Kontakta Oss!