¿Cómo editar el contenido de dynamic_sidebar()?
Conozco bien PHP pero soy nuevo en WordPress. Me dieron un sitio web WordPress incompleto. Tiene una página de inicio estática con un formulario de newsletter de Aweber. Intenté investigar en el tema instalado y en home.php
encontré:
<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
<?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>
Ahora cuando veo el código fuente en la página de inicio, el formulario de suscripción de Aweber aparece exactamente dentro de <div class="home-infobox">
. Tengo que hacer cambios en el formulario como primer paso e intenté averiguar ¿de dónde está obteniendo el contenido? ¿Es de la base de datos o de algún archivo PHP? Estoy totalmente perdido.
Por favor, ayúdenme a resolver esto.

- El contenido de
dynamic_sidebar
se obtiene de los widgets asociados a esta "Barra lateral" o "Área de Widgets" enwp-admin
, como respondió @s_ha_dum. No hay un archivo de plantilla para la barra lateral en sí. Visita/wp-admin/widgets.php
enApariencia
->Widgets
y busca el área de widgets llamadahomepage-infobox
. Podrás agregar/eliminar widgets y posiblemente hacer cambios al contenido aquí. - Busca en los archivos de tus plugins y temas, posiblemente en
functions.php
, la funciónregister_sidebar
para encontrar una que use el slughomepage-infobox
. La declaración deregister_sidebar
podría incluir algún código de presentación.
Ver también:

Estás viendo, como sugiere el nombre de la función, una barra lateral dinámica. El contenido que llena esa barra lateral debe provenir de widgets de la barra lateral, algunos de los cuales son proporcionados por el núcleo de WordPress, pero muchos (la mayoría) son proporcionados por plugins y temas. Los widgets pueden llenarse desde la base de datos, o desde fuentes externas como feeds RSS, o pueden tener código fijo para mostrar datos estáticos. Depende del widget. Si observas el marcado dentro de la barra lateral para los elementos individuales, generalmente puedes deducir qué plugin está creando el widget. Revisa las class
es CSS y los id
s.

Gracias, Aweber tiene su propio plugin pero este plugin no está instalado en el sitio web. Los feeds RSS no son posibles porque puedo ejecutar el sitio web en una máquina sin conexión. Así que o es estático o viene de la base de datos. Tiene etiquetas <img>
que contienen imágenes de la carpeta del tema. Las clases e IDs de CSS se encuentran en el style.css del tema, intenté hacer una búsqueda completa en la carpeta de las etiquetas pero solo se detectaron EN style.css, no en ningún otro archivo. ¿Indica eso que está en la base de datos? ¿Puedes sugerir alguna tabla específica para revisar?

Deberías evitar manipular la base de datos directamente. Eso es peligroso. Primero encuentra el código que está generando los widgets. Sin saber de qué widgets estás hablando no puedo ser más específico. Puede que no encuentres los nombres de clase escritos en ningún otro lugar que no sea la hoja de estilos, pero a menudo puedes inferir a partir de esos nombres qué plugin o tema creó el widget.

Puede que no esté en la base de datos. Es muy probable que esté en un archivo de funciones del tema que no has revisado.
Deberías revisar el archivo functions.php
en la carpeta del tema. O también puede que el código relacionado con tu barra lateral dinámica esté en un archivo includes/theme-init.php
.
