¿Cómo puedo capturar get_sidebar en una variable?
14 jul 2011, 16:10:23
Vistas: 14.1K
Votos: 6
Quiero obtener un sidebar y guardarlo en una variable,
Esto es imposible con la función get_sidebar ya que simplemente imprime el
sidebar, ¿existe otra función que pueda usar?
// Usar output buffering para capturar el sidebar en una variable
ob_start();
get_sidebar();
$sidebar_content = ob_get_clean();
// Ahora $sidebar_content contiene el HTML del sidebar
echo $sidebar_content; // Opcional: mostrar el contenido
También puedes crear una función personalizada:
function get_sidebar_as_string($name = null) {
ob_start();
get_sidebar($name);
return ob_get_clean();
}
// Uso:
$sidebar = get_sidebar_as_string();

Asaf
331
Comentarios
Todas las respuestas a la pregunta
2
1
Probablemente necesites usar buffering de salida, si entiendo correctamente tu pregunta.
Prueba algo como esto:
ob_start();
dynamic_sidebar('sidebar-id');
$sidebar = ob_get_contents();
ob_end_clean();
Esto colocará la salida de la barra lateral en la variable $sidebar, que luego podrás procesar y devolver desde tu filtro en el contenido de la página.

goldenapples
9.26K
14 jul 2011 19:34:18
0
La función get_sidebar()
es una función de tipo include, utilizada para incluir el archivo sidebar.php
.
La función que creo que buscas es dynamic_sidebar()
(Referencia del Codex), asumiendo que conoces el ID de la barra lateral dinámica que deseas utilizar.

Chip Bennett
55.1K
14 jul 2011 16:26:54
Preguntas relacionadas
4
respuestas
2
respuestas
1
respuestas