Afișare incorectă a barei laterale pe pagina de magazin WooCommerce

20 nov. 2012, 11:40:24
Vizualizări: 22.6K
Voturi: -1

Dezvolt o reîmprospătare a site-ului meu pe un nou plan VPS și una dintre principalele modificări este trecerea de la wp e-commerce la WooCommerce.

URL-ul către pagina magazinului WooCommerce este http://95.142.166.209/shop/ [Accesez site-ul prin adresa IP VPS deocamdată, deoarece domeniul meu este folosit pentru site-ul live - StackExchange nu permite URL-uri IP, așa că va trebui să copiați-lipiți IP-ul în bara de adrese (îmi cer scuze)]

Sunt încă în proces de stilizare și creare de șabloane, dar nu reușesc să rezolv problema barei laterale. Tema mea WordPress are 2 bare laterale definite în functions.php: blog sidebar și shop sidebar. Din anumite motive, singura bară laterală pe care o pot afișa pe pagina magazinului este bara laterală pentru blog, care ar trebui să apară (surprinzător) doar pe blog.

Am încercat să creez un șablon pentru magazin și am inserat funcția get_sidebar(), făcând referire la ID-ul barei laterale pentru magazin în proces, dar fără succes.

Cred că WooCommerce ar trebui să își înregistreze propria bară laterală la instalare, dar nu există niciun semn al acesteia în backend-ul WordPress sub appearance->widgets.

Am parcurs fișierele temei WooCommerce, dar singurul lucru legat de bara laterală pe care îl pot găsi este un fișier php care conține get_sidebar('shop'), care este evident inclus de alte fișiere ale temei. Nu există niciun semn al înregistrării unei bare laterale cu ID-ul 'shop' nicăieri.

Are cineva idee cum pot afișa bara laterală corectă pe paginile magazinului? Mulțumesc

Observ că întrebarea mea a primit câteva voturi negative - îmi cer scuze dacă nu este clară, dar este o întrebare genuină. Dacă ceva necesită clarificări, ar fi de ajutor să lăsați un comentariu în loc să dați doar vot negativ.

1
Comentarii

Cum ar fi să folosim rutele Woo Support?

kaiser kaiser
20 nov. 2012 14:52:53
Toate răspunsurile la întrebare 5
1

WooCommerce are un plugin pentru bare laterale: http://www.woothemes.com/woosidebars/

Acesta vă oferă un control cuprinzător - puteți crea noi zone de bare laterale pentru orice pagini doriți.

20 nov. 2012 11:50:32
Comentarii

Aceasta ar putea fi o opțiune, dar aș prefera să evit instalarea de plugin-uri suplimentare atunci când pot obține rezultatul dorit direct în tema mea. Vreau doar să înțeleg de ce nu reușesc să afișez bara laterală a doua a magazinului. WooCommerce utilizează întotdeauna șablonul index.php sau paginile WC respectă șabloanele care li se atribuie?

harryg harryg
20 nov. 2012 12:09:48
1

WooCommerce va căuta în mod implicit în directorul temei tale un șablon de pagină numit woocommerce.php și, dacă acesta există, îl va folosi pentru a afișa o pagină. În acest fel, poți suprascrie pagina implicită WooCommerce într-un mod sigur la actualizări.

Cea mai simplă metodă de a implementa acest lucru este să copiezi fișierul tău page.php sau single.php în woocommerce.php (în același director), apoi să editezi fișierul pentru a înlocui zona de conținut cu un apel către WooCommerce.

<?php woocommerce_content(); ?>

Acest lucru îți oferă, precum și temei, un control aproape complet asupra aspectului și barelor laterale.

Aruncă o privire la acest articol despre tematizarea WooCommerce, sperăm că îți va fi de ajutor.

Structura șabloanelor WooCommerce

20 nov. 2012 16:25:30
Comentarii

Editat pentru a explica utilizarea fișierului personalizat woocommerce.php în cadrul temei, pentru a permite un control total asupra barelor laterale.

Steve Steve
21 nov. 2012 18:10:57
0

ÎN SFÂRȘIT!! Am găsit un răspuns la o problemă similară cu care mă confruntam în tema Customizr. Vezi aici.

Pe scurt, poți crea cu ușurință un sidebar personalizat, care poate fi editat în Aspect > Widget-uri și va apărea doar pe paginile magazinului tău.

Notă: Când urmezi exemplul din acest link, asigură-te că adaugi <?php la începutul codului care alcătuiește fișierul sidebar-shop.php.

Sper că te va ajuta la fel de mult pe cât m-a ajutat pe mine.

26 aug. 2013 17:46:56
0

Primul pas

Copiază fișierele de șablon WooCommerce din plugin-ul tău în folderul temei tale (detalii despre cum să suprascrii tema implicită http://docs.woothemes.com/document/template-structure/)

Al doilea pas

Crează un fișier sidebar-shop.php în folderul temei tale

Al treilea pas

Adaugă ceva text sau afișează un șir de caractere în interiorul fișierului sidebar-shop.php.

Al patrulea pas

Reîmprospătează site-ul și vei vedea că șirul de text implicit începe să se afișeze în locul conținutului implicit al blogului

Poți personaliza ulterior bara laterală după preferințele tale (detalii http://codex.wordpress.org/Function_Reference/register_sidebar)

În zona de widget-uri, adaugă productcategory în bara laterală definită Acum în bara laterală vei vedea categoriile de produse în locul conținutului implicit al blogului

26 nov. 2013 15:17:03
0

Folosesc tema inove și consecințele sunt "woocommerce plasează bara laterală în subsol sau dedesubt" și nu poți dezactiva bara laterală în consola de administrare pentru Magazin sau Produse, celelalte sunt disponibile în secțiunea de pagini, doar alegeți șablonul fără bară laterală.

Ce a trebuit să fac pentru a rezolva această problemă este incredibil de consumator de timp, posibil distructiv pentru întregul site și nimic nu a părut să funcționeze timp de 3 zile.

Am modificat single-product.php, archive-product.php în Plugin>Woocommerce>Templates, acest lucru a avut un efect asupra barei laterale, dar tot nu era corect.

Acesta este lucrul tipic pe care l-am făcut cu fișierele, am comentat codul @hooked…. pentru bara laterală astfel:

/**
* woocommerce_sidebar hook
* do_action( 'woocommerce_sidebar' );
* @hooked woocommerce_get_sidebar - 10
*/

Am încercat și modificări pe woocommerce.php și am editat style.css și multe altele în consola de administrare Aspect>editor, dar am șters toate aceste modificări deoarece nu au funcționat.

În pagini, am selectat Coș, Cont, Magazin și în Atributele paginii din partea dreaptă am făcut toate paginile Părinte este Magazin și am folosit șablonul implicit.

Fișierul final editat wc-template-hooks.php a rezolvat problema, acesta se află în folderul Plugin>Woocommerce>Includes. Nu sunt sigur dacă doar editarea acestui fișier va rezolva totul.

/**
 * Sidebar
 *
 * @see woocommerce_get_sidebar()
 * add_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
 */

Bara laterală este acum unde ar trebui să fie și este rezolvată pentru mine, mulțumesc tuturor celorlalți contribuitori ale căror soluții au funcționat pentru versiunile anterioare. Rulez totul la zi, iunie 2014.

Noroc, mă duc să mă uit la fotbal și să beau câteva beri.

21 iun. 2014 09:22:00