Come modificare il contenuto di dynamic_sidebar() in WordPress?
Conosco bene PHP ma sono nuovo di WordPress. Ho ricevuto un sito WordPress incompleto. Ha una pagina home statica con un form newsletter di Aweber. Ho provato ad esaminare il tema installato e nel file home.php
ho trovato:
<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
<?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>
Ora quando visualizzo il sorgente della home page, il form di iscrizione alla newsletter di Aweber appare esattamente all'interno del <div class="home-infobox">
. Come primo passo devo apportare modifiche al form e ho cercato di capire da dove viene prelevato il contenuto. Non so se proviene dal database o da qualche file PHP, sono totalmente disorientato.
Per favore, aiutatemi a capire questo aspetto.

- Il contenuto di
dynamic_sidebar
viene estratto dai widget associati a questa "Sidebar" o "Area Widget" inwp-admin
, come risposto da @s_ha_dum. Non esiste un file template per la sidebar stessa. Visita/wp-admin/widgets.php
sottoAspetto
->Widget
e cerca l'area widget chiamatahomepage-infobox
. Sarai in grado di aggiungere/rimuovere widget e possibilmente modificare il contenuto qui. - Cerca nei file dei plugin e del tema, possibilmente in
functions.php
, la funzioneregister_sidebar
per trovare quella che utilizza lo slughomepage-infobox
. La dichiarazione diregister_sidebar
potrebbe includere del codice di presentazione.
Vedi anche

Stai osservando, come suggerisce il nome della funzione, una sidebar dinamica. Il contenuto che riempie quella sidebar dovrebbe provenire da widget della sidebar, alcuni dei quali sono forniti dal core di WordPress ma molti (la maggior parte) sono forniti da plugin e temi. I widget potrebbero popolarsi dal database, o da fonti esterne come feed RSS, oppure potrebbero essere hard-codificati per visualizzare dati statici. Dipende dal widget. Se osservi il markup all'interno della sidebar per gli elementi individuali, di solito puoi capire quale plugin sta creando il widget. Controlla le class
i CSS e gli id
.

Grazie, Aweber ha il suo plugin ma questo plugin non è installato sul sito web. I feed RSS non sono possibili in quanto posso far funzionare il sito su una macchina offline. Quindi o è statico o proviene dal database. Ha tag <img>
che contengono immagini dalla cartella del tema. Le classi CSS e gli ID si trovano nel file style.css del tema, ho provato a fare una ricerca completa nella cartella per i tag ma sono stati rilevati SOLO in style.css, non in nessun altro file. Quindi questo indica che provengono dal database? Puoi suggerire qualche tabella specifica da controllare?

Dovresti evitare di modificare il database direttamente. È un'operazione rischiosa. Prima individua il codice che genera i widget. Senza sapere di quali widget stai parlando non posso essere più specifico. Potresti non trovare i nomi delle classi scritti da nessuna parte tranne che nel foglio di stile, ma spesso puoi dedurre da quei nomi quale plugin o tema ha creato il widget.

Potrebbe non essere nel database. È molto probabile che si trovi in un file functions basato sul tema che non hai controllato.
Dovresti controllare il file functions.php
della cartella del tema. Altrimenti, potrebbe esserci un file includes/theme-init.php
che contiene il codice associato alla tua sidebar dinamica.
