Sidebar non corretto mostrato nella pagina del negozio WooCommerce

20 nov 2012, 11:40:24
Visualizzazioni: 22.6K
Voti: -1

Sto sviluppando un aggiornamento del mio sito su un nuovo piano VPS e uno dei principali cambiamenti è il passaggio dal temuto wp e-commerce a WooCommerce.

L'URL della pagina del negozio WooCommerce è http://95.142.166.209/shop/ [Sto accedendo al sito tramite l'indirizzo IP del VPS per ora poiché il mio dominio viene utilizzato per il sito live - StackExchange non consente URL IP quindi dovrai copiare-incollare l'IP nella barra degli indirizzi (mi dispiace)]

Sono ancora nel processo di styling e template ma non riesco a capire come gestire la sidebar. Il mio tema WordPress ha 2 sidebar definite nel suo functions.php: blog sidebar e shop sidebar. Per qualche motivo l'unica sidebar che riesco a visualizzare nella pagina del negozio è quella del blog che dovrebbe essere mostrata (sorprendentemente) solo nel blog.

Ho provato a creare un template per il negozio e ho inserito la funzione get_sidebar(), facendo riferimento all'ID della sidebar dello shop nel processo, ma senza successo.

Sono convinto che WooCommerce dovrebbe registrare la propria sidebar quando viene installato ma non c'è traccia di questo nel backend di WP sotto aspetto->widget.

Ho esaminato i file del tema WooCommerce ma l'unica cosa relativa alla sidebar che riesco a trovare è un file php contenente get_sidebar('shop') che è ovviamente incluso da altri file del tema. Non c'è traccia di una sidebar con ID 'shop' registrata da nessuna parte.

Qualcuno sa come posso far apparire la sidebar corretta nelle pagine dello shop? Grazie

Vedo che la mia domanda ha ricevuto un paio di voti negativi - mi dispiace se non è chiara ma è una domanda genuina. Se qualcosa ha bisogno di chiarimenti sarebbe utile lasciare un commento invece di limitarsi a votare negativamente.

1
Commenti

Che ne dici di utilizzare le rotte di Woo Support?

kaiser kaiser
20 nov 2012 14:52:53
Tutte le risposte alla domanda 5
1

WooCommerce dispone di un plugin per le sidebar: http://www.woothemes.com/woosidebars/

Questo ti darà un controllo davvero completo: puoi creare nuove aree di sidebar per qualsiasi pagina tu desideri.

20 nov 2012 11:50:32
Commenti

Potrebbe essere un'opzione, ma preferirei evitare di installare plugin aggiuntivi quando posso ottenere il risultato nel mio tema. Voglio solo capire perché non riesco a far visualizzare la mia seconda sidebar del negozio. WooCommerce utilizza sempre il template index.php oppure le pagine WC seguono i template che vengono loro assegnati?

harryg harryg
20 nov 2012 12:09:48
1

WooCommerce per impostazione predefinita cercherà nella directory del tuo tema un template di pagina chiamato woocommerce.php e, se esiste, utilizzerà quel template quando renderizza una pagina. In questo modo puoi sovrascrivere la pagina predefinita di WooCommerce in modo sicuro dagli aggiornamenti.

Il modo più semplice per implementare questo è copiare il tuo page.php o single.php in woocommerce.php (nella stessa directory) e poi modificare il file per sostituire l'area del contenuto con una chiamata a WooCommerce.

<?php woocommerce_content(); ?>

Questo ti dà, insieme al tema, un controllo quasi completo sul layout e sulle sidebar.

Dai un'occhiata a questo post sul theming di WooCommerce, speriamo ti possa essere utile.

Struttura dei Template di WooCommerce

20 nov 2012 16:25:30
Commenti

Modificato per spiegare l'uso di un file woocommerce.php personalizzato all'interno del tema per consentire il controllo totale sui sidebar.

Steve Steve
21 nov 2012 18:10:57
0

FINALMENTE!! Ho trovato una soluzione a un problema simile che stavo riscontrando con il tema Customizr. Vedi qui.

In sostanza, puoi facilmente creare una sidebar personalizzata, che viene modificata in Aspetto > Widget e apparirà solo nelle pagine del tuo negozio.

Nota: Quando segui l'esempio in questo link, assicurati di aggiungere <?php all'inizio del codice che compone il file sidebar-shop.php.

Spero che questo ti aiuti tanto quanto ha aiutato me.

26 ago 2013 17:46:56
0

Primo passo

Copia i file template di WooCommerce dal tuo plugin nella cartella del tuo tema (dettagli su come sovrascrivere il tema predefinito http://docs.woothemes.com/document/template-structure/)

Secondo passo

Crea sidebar-shop.php nella cartella del tuo tema

Terzo passo

Aggiungi del testo o una stringa echo all'interno del tuo sidebar-shop.php.

Quarto passo

Aggiorna il sito e vedrai che il testo predefinito inizierà a essere visualizzato al posto del contenuto predefinito del blog

Puoi personalizzare ulteriormente la tua sidebar come preferisci (dettagli http://codex.wordpress.org/Function_Reference/register_sidebar)

Nell'area widget aggiungi productcategory nella sidebar definita Ora nella tua sidebar vedrai le categorie di prodotti invece del contenuto predefinito del blog

26 nov 2013 15:17:03
0

Sto utilizzando il tema inove e le conseguenze sono che "WooCommerce posiziona la sidebar nel footer o sotto" e non è possibile disabilitare la sidebar nella console di amministrazione per il Negozio o i Prodotti, mentre per le altre pagine è disponibile nella sezione Pagine, basta scegliere il template senza sidebar.

Quello che ho dovuto fare per risolvere questo problema è stato incredibilmente dispendioso in termini di tempo, potenzialmente distruttivo per l'intero sito e nulla sembrava funzionare per 3 giorni.

Ho modificato single-product.php e archive-product.php in Plugin>Woocommerce>Templates, questo ha avuto un effetto sulla sidebar ma non era ancora corretto.

Questa è la tipica modifica che ho apportato ai file, commentando il codice @hooked… della sidebar in questo modo:

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

Ho anche provato modifiche su woocommerce.php e ho modificato style.css e molti altri file nella console di amministrazione in Aspetto>Editor, ma ho eliminato tutte queste modifiche perché non funzionavano.

Nelle pagine ho selezionato Carrello, Account, Negozio e negli Attributi della Pagina a lato ho impostato tutte le pagine con Parent "Negozio" e ho usato il template predefinito.

Il file finale che ho modificato, wc-template-hooks.php, ha risolto il problema. Si trova nella cartella Plugin>Woocommerce>Includes. Non sono sicuro se modificando solo questo file si risolva tutto.

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

Ora la sidebar è dove dovrebbe essere e il problema è risolto per me, grazie a tutti gli altri contributori le cui soluzioni potrebbero aver funzionato per versioni precedenti. Sto utilizzando tutto aggiornato a giugno 2014.

Saluti, vado a guardare il calcio e bere qualche birra.

21 giu 2014 09:22:00