¿Cómo editar contenidos de dynamic_sidebar()?

2 minutos de lectura

avatar de usuario
Zeeshan

Conozco bien PHP pero soy nuevo en WordPress. Tengo un sitio web de WordPress incompleto. Tiene una página de inicio estática con un formulario de boletín de Aweber. Traté de profundizar en el tema instalado y en home.php y me encontré con:

<div class="home-infobox">
<?php if ( is_active_sidebar( 'homepage-infobox' ) ) : ?>
    <?php dynamic_sidebar( 'homepage-infobox' ); ?>
<?php endif; ?>
</div>

Cuando veo la fuente en la página de inicio, el formulario de suscripción al boletín de Aweber aparece exactamente dentro <div class="home-infobox">. Tengo que hacer cambios en el formulario como mi primer paso y traté de averiguar de dónde está obteniendo el contenido. ¿Es de la base de datos o de algún archivo PHP? Estoy totalmente despistado. Por favor, ayúdame a resolver esto.

  • ¿Estás usando un complemento? ¿Si es así, Cuál?

    – vtacreativo

    10 de abril de 2013 a las 16:41

avatar de usuario
Lokesh Kumar

Puede usar el siguiente código para obtener el valor en lugar de imprimir.

<?php 
  ob_start();
  dynamic_sidebar( 'homepage-infobox' ); 
  $output = ob_get_contents();
  ob_end_clean();
  echo $output;
?>

  • respuesta brillante

    – Abdul Ahmad Matin

    10 de mayo a las 15:53

Esa linea:

 <?php dynamic_sidebar( 'homepage-infobox' ); ?>

Está imprimiendo el contenido de la barra lateral del cuadro de información de la página de inicio. La barra lateral puede contener widgets. Puede ver (y cambiar) el contenido de la barra lateral en Apariencia->Widgets (/wp-admin/widgets.php). Los widgets pueden ser creados por algún complemento que hayas instalado, o puedes crear uno por tu cuenta, es decir, desde functions.php. E incluso si descubre qué complemento creó el widget y encuentra el código real que lo está haciendo, no es una buena práctica cambiar el código de terceros; con alguna actualización, sus cambios pueden sobrescribirse.

avatar de usuario
viento azul

Abra la carpeta de temas (como'\wp-content\themes\twentyeleven'). Encontrará un archivo php llamado functions.php. Ábrelo y busca homepage-infoboxlo encontrarás en register_sidebar.

  • Gracias, estaba allí como: register_sidebar( array( 'name' => __( 'HomePage InfoBox', 'twentyeleven' ), 'id' => 'homepage-infobox', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => "</div>", 'before_title' => '<h3 class="widget-title hide">', 'after_title' => '</h3>', ) ); Pero aún así, la fuente de datos que vienen aquí no estaba clara para mí. En su lugar, busqué en el volcado de la base de datos.

    – Zeeshan

    12 de abril de 2013 a las 15:04


¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad