Přidání vlastní položky menu Můj účet pro WooCommerce plugin Wishlist

Plugin Wishlist pro WooCommerce (dále jen Woo) plugin WordPress CMS. Je určen pro malé až velké online obchodníky používající WordPress. Zásuvný modul byl uveden 27. září 2011 a rychle si získal oblibu pro svou jednoduchost instalace a přizpůsobení a pro postavení základního produktu na trhu jako freeware (i když mnoho jeho volitelných rozšíření je placených a proprietárních).

Woo byl poprvé vyvinut vývojářem témat WordPress WooThemes, který najal Mikea Jolleyho a Jamese Kostera, vývojáře ze společnosti Jigowatt, aby pracovali na odnoži Jigoshopu, z níž se stal Woo. V lednu 2020 se odhadovalo, že Woo používá přibližně 3,9 milionu webových stránek. V listopadu 2014 se v kalifornském San Franciscu konala první konference WooConf, zaměřená na elektronické obchodování pomocí Woo.

Zúčastnilo se přibližně 300 účastníků. V květnu 2015 společnosti WooThemes a Woo koupila společnost Automattic, provozovatel webu WordPress.com a hlavní přispěvatel do softwaru WordPress. V prosinci 2020 společnost Woo získala MailPoet, populární plugin pro správu newsletterů ve WordPressu.

Wishlist WooCommerce úpravy

Začneme od konce.. Dodatečný text v menu Woo lze vložit přímo do souboru function.php, v této úpravě je definovaný extra soubor umístěný v cestě /wp-content/plugins/woo/templates/myaccount/wishlist.php pro lepší přizpůsobení obsahu tabule přidané nabídky
Tato úprava Woo menu Můj účet tedy vyžaduje vytvoření souboru v uvedené cestě.

Obsahuje prosté php echo volající zkratku [short_code] která bude zobrazovat obsah menu přidaného pluginy, rozšíření e-shopu kterého obsah chceme integrovat do hlavní nabídky. Jelikož se jedná o samostatný soubor lze jej libovolně měnit, to znamená může obsahovat bloky, text (třeba nápovědu), obrázek, tabulku či další elementy dle vlastních potřeb.

/* Wishlist List přání*/

/* Přidá koncový bod a definovanou položku na stránku Můj Účet ve Woo */

function muj_wish_endpoints() {
    add_rewrite_endpoint( 'wishlist', EP_ROOT | EP_PAGES );
}

add_action( 'init', 'muj_wish_endpoints' );

// Umožňuje použití is_wc_endpoint_url( 'wishlist' )
add_filter( 'woocommerce_get_query_vars', 'muj_wish_woocommerce_query_vars', 0 );

function muj_wish_woocommerce_query_vars( $vars ) {
	$vars['wishlist'] = 'wishlist';
	return $vars;
}

function muj_wish_flush_rewrite_rules() {
    flush_rewrite_rules();
}

add_action( 'after_switch_theme', 'muj_wish_flush_rewrite_rules' );

function muj_wish_my_account_menu_items( $items ) {

	$new_item = array( 'wishlist' => __( 'Wishlist', 'woocommerce' ) );
	
    // Umístí položku v menu na třetí pozici
	$items = array_slice($items, 0, 2, TRUE) + $new_item + array_slice($items, 2, NULL, TRUE);

    return $items;

}

add_filter( 'woocommerce_account_menu_items', 'muj_wish_my_account_menu_items' );

/*  Obsahuje short_code a obsah pro nové menu v Můj účet */

function muj_wish_endpoint_content() {
    wc_get_template( 'myaccount/wishlist.php');
}

add_action( 'woocommerce_account_wishlist_endpoint', 'muj_wish_endpoint_content' );

Obsah souboru wishlist.php uložený cestě /wp-content/plugins/woo/templates/myaccount/wishlist.php

<?php

echo do_shortcode( ' [woocommerce_wishlist] ' );
echo '<h4>List příní a hlídač je nová prémiová funkce</h4><p>Vítejte. List přání můžete použít i jako hlídač stavu. Po naskladnění zboží vám automaticky odešle emaile s vyznačenou změnou stavu a počte kusů skladem<i>Máte dotaz? Kontaktujte nás.</i></p>';

?>

Upravovaný soubor functions.php který upravujeme je součástí child_theme. Po jeho změně nezapomenout uložit tabulku koncových bodú v menu Woo v cestě Woo / Nastavení / Pokročilý /Nastavení stránky (první karta) Uložit změny

WooCommerce konfigurace pluginu
Woo konfigurace pluginu

Užitečné

Domovská stránka YARPP.
Eshop menu Woo.

ICTIS.CZ