CSS menu s prvkem z jiného pluginu

Úvodní stránka Fórum podpory WordPressu Pluginy (funkčnost webu) CSS menu s prvkem z jiného pluginu

Štítky: ,

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  provox a poslední změna je stará 8 let, 1 měsíc.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #26510

    provox
    Participant

    Ahoj všichni,

    řeším trochu zapeklitější problém, napsal jsem si HTML/CSS menu s externím JS podle svých představ, které vkládám do stránek skrz WIDGET TEXT. Zasekl jsem se však v situaci, kdy jsem se rozhodl menu trochu obohatit jednou funkcí, kterou disponuje plugin WOOCOMMERCE. Jde konkrétně o to, že k rodičovským položkám menu bych rád přiřadil counter se součtem položek v dané kategorii. Ve WOOCOMMERCE jsem tuto funkci našel napsanou v souborech:

    class-product-cat-dropdown-walker.php
    class-product-cat-list-walker.php

    Dokázal by mi někdo poradit, jak tohle zkombinovat? Budu nucený napsat nový plugin (nemám zkušenost ani potřebný um a v php umím jen trochu číst)? Nebo se budu moci nějak odkázat do daného pluginu?

    Předem děkuji za odpovědi,
    Provox

    #26517

    admin
    Keymaster
    Web

    Omlouvám se, ale bohužel moc nerozumím, v čem je konkrétně problém? Někde se něco špatně zobrazuje? Nebyla by přímo nějaká ukázka?

    Zkusím to shrnout: Máte nějaké vlastní menu s napojeným externím JavaScriptem, který něco (?) dělá, a vkládáte ho na web v podobě textového widgetu? Takže do widgetu nakopírujete celé HTML včetně JavaScriptu (a vše je statické)? A zároveň chcete použít funkce pro zobrazení kategorií z WooCommerce, které u každé kategorie zobrazují počet zařazených produktů? Nestačilo by tedy ten externí JavaScript napojit na tento widget s kategoriemi? Musel bych to asi přímo někde vidět, abych mohl navrhnout možné řešení, takto si bohužel nedokážu představit, co by bylo lepší…

    #26523

    provox
    Participant

    V pořádku, zkusím to ještě jinak:

    To že mám HTML/CSS s ext. JS je v podstatě jen konkrétní informace, čeho se propojení bude týkat. Menu je plně funkční, dělá vše co má (k vložení do stránek jsem využil právě WIDGET TEXT).

    “ALE” – potřeboval bych jednu funkci, kterou napsat neumím. Tuto funkci jsem našel ve WIDGETU statického menu od WOOCOMMERCE. Jedná se o výše zmiňovaný counter.

    Mou představou tedy je, přejmutí funkce COUNTER z WOOCOMMERCE a vložení do mého vlastního menu. Problémem je, že nevím jak. Navíc, momentálně si uvědomuji, že WOOCOMMERCE vygeneruje celé menu s COUNTERem u každé rodičovské kategorie, já však potřebuji, aby mi kód vygeneroval COUNTER jen ke kategorii, kterou si zvolím (myslím, že jsem se právě odepsal :D). Rád bych vám to předvedl, avšak web mi běží offline na serveru v PC. Takže posílám alespoň graficky upravené screeny: grafika UKÁZKY

    #26553

    provox
    Participant

    Tak, částečně vyřešeno. Zřejmě to nebude až tak složité, dopátral jsem se kódu, který dělá v podstatě to samé, co původní WOOCOMMERCE widget:

    <?php
    $terms = get_terms( 'product_cat', 'parent=0' );	// ID číslo kategorie, 'vylistovat z product_cat', 'pouze rodičovské kategorie'
    
    foreach( $terms as $term ) 
    {
        echo 'Kategorie '		// uvádějící text
            . $term->name		// název kategorie
            . ' ('			// levá závorka
            . $term->count		// počet produktů
            . 'ks) '		// pravá závorka
            . "<br />";		// nový řádek
    }
    ?>

    Teď přichází ale nový problém a to ten, že když cyklus proběhne, vrátí hodnotu KATEGORIE A (5ks), KATEGORIE B (2ks). Když odstraním parent=0, vypíše všechny kategorie, včetně subkategorií se součtem produktů v každé kategorii. ALE pokud dám vypsat jen konkrétní ID kategorie, v mém případě ID 6 (KATEGORIE A), tak mi vrátí hodnotu KATEGORIE A (0ks). Je to správně, kategorie skutečně žádný produkt sama o sobě neobsahuje, na druhou stranu obsahuje dvě subkategorie, které mají dohromady produktů 5. Nedokázal by mi někdo poradit s tímto zádrhelem? Jinak je to v podstatě vyřešené.

    Děkuji,
    Provox

    #26554

    provox
    Participant

    Vyřešeno!

    je potřeba přidat

    $child_term = get_term( ID-ČÍSLO, 'product_cat');

    a $child_term nahradit 'parent=0'

    V každém případě děkuji, za snahu a přemýšlení i těm, co nereagovali.

    Provox

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti