Cum să editezi conținutul din dynamic_sidebar()?
Cunosc bine PHP dar sunt nou în WordPress. Am primit un site WordPress incomplet. Are o pagină statică de start cu un formular newsletter Aweber. Am încercat să caut în tema instalată și în home.php
am găsit:
<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
<?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>
Acum când vizualizez sursa paginii de start, formularul de abonare newsletter Aweber apare exact în interiorul <div class="home-infobox">
. Trebuie să fac modificări formularului ca primul pas și am încercat să-mi dau seama de unde preia conținutul? Este din baza de date sau din alte fișiere PHP, sunt complet derutat.
Vă rog să mă ajutați să înțeleg acest lucru.

- Conținutul
dynamic_sidebar
este extras din widget-urile asociate cu această "Bară laterală" sau "Zonă de Widget-uri" înwp-admin
, așa cum a răspuns @s_ha_dum. Nu există un fișier de șablon pentru bara laterală în sine. Vizitează/wp-admin/widgets.php
subApariție
->Widget-uri
și găsește zona de widget-uri intitulatăhomepage-infobox
. Aici vei putea adăuga/elimina widget-uri și posibil să faci modificări la conținut. - Caută în fișierele plugin-ului și ale temei tale, eventual în
functions.php
, funcțiaregister_sidebar
pentru a găsi una care folosește slug-ulhomepage-infobox
. Declarațiaregister_sidebar
poate include și unele coduri de prezentare.
Vezi și

Priviți, așa cum sugerează și numele funcției, o bară laterală dinamică. Conținutul care umple acea bară laterală ar trebui să provină de la widget-uri pentru bara laterală, unele dintre acestea fiind furnizate de nucleul WordPress, dar multe (majoritatea) sunt oferite de plugin-uri și teme. Widget-urile își pot popula conținutul din baza de date, din surse externe precum fluxuri RSS sau pot fi hardcodate pentru a afișa date statice. Depinde de widget. Dacă analizați marcajul din interiorul barei laterale pentru elementele individuale, puteți de obicei să deduceți ce plugin creează widget-ul. Verificați class
-urile CSS și id
-urile.

Mulțumesc, Aweber are propriul său plugin, dar acest plugin nu este instalat pe website. Feed-urile RSS nu sunt o opțiune deoarece pot rula website-ul pe o mașină offline. Deci fie este static, fie provine din baza de date. Are tag-uri <img>
care conțin imagini din folderul temei. Clasele și ID-urile CSS se găsesc în style.css al temei, am încercat să fac o căutare completă în folder pentru tag-uri dar au fost detectate DOAR în style.css, nu în alt fișier. Deci, asta indică că ar fi din baza de date? Poți sugera tabele specifice pe care să le verific?

Ar trebui să eviți să modifici baza de date. Este un joc periculos. Găsește mai întâi codul care generează widget-urile. Fără să știu despre ce widget-uri vorbești, nu pot să fiu mai precis. S-ar putea să nu găsești clasele scrise altundeva decât în fișierul de stil, dar poți adesea deduce din aceste nume pluginul sau tema care a creat widget-ul.

S-ar putea să nu fie în baza de date. Este foarte probabil să fie într-un fișier de funcții al temei pe care nu l-ai verificat.
Ar trebui să verifici fișierul functions.php
din directorul temei. Sau, alternativ, un fișier includes/theme-init.php
ar putea conține codul asociat pentru bara laterală dinamică.
