¿Hay alguna ventaja al usar get_header() en lugar de include('header.php')?

11 dic 2010, 16:05:37
Vistas: 24.4K
Votos: 12

El tema básico - de hecho, todos los temas que he revisado - utiliza get_header() para incluir el archivo de cabecera, pero no veo ninguna razón para hacerlo.

¿Cuáles son las ventajas de usar get_header() en lugar de un simple include('file.php')?

1
Comentarios

Sé que esto se sale un poco del tema, pero muy a menudo veo include('some-file.php'); - ¡no hay necesidad de paréntesis, es una construcción del lenguaje! include 'some-file.php'; hace el trabajo igual de bien, además en mi opinión también se ve más limpio ;)

TheDeadMedic TheDeadMedic
11 dic 2010 18:17:57
Todas las respuestas a la pregunta 3
1
21

Usar funciones genéricas significa perder una capa de la API de WordPress:

  • El hook get_header desaparecería;
  • Se perdería la compatibilidad para cargar diferentes cabeceras por nombre ("header-{$name}.php");
  • El uso de locate_template() desaparecería, lo que probablemente rompería la compatibilidad con temas hijo.

Siempre puedes revisar el código fuente para ver exactamente lo que hace la función.

WordPress utiliza sus propias funciones no solo porque sí. Normalmente es por razones concretas de compatibilidad o funcionalidad.

11 dic 2010 16:14:24
Comentarios

He estado llamando a encabezados alternativos con una sentencia include de php en lugar de get_header y esto explica por qué he estado obteniendo un comportamiento extraño.

matt matt
11 dic 2010 18:52:42
1

También puedes usar la función get_header() para obtener un archivo de cabecera diferente. Nombra el archivo de cabecera personalizado como header-lo-que-sea.php, luego usa

get_header('lo-que-sea');

y WordPress usará el archivo header-lo-que-sea.php en lugar de header.php.

Nota que la sintaxis es un poco extraña - podrías pensar que deberías poner el nombre del archivo completo ahí, pero no - solo necesitas el nombre que va después del guión. Quiero recuperar esa hora de mi vida ahora :(

10 may 2011 22:44:31
Comentarios

¡ohh gracias! maldito guión. ¿quizás alegrará tu día saber que le ahorraste a alguien un par de horas? :)

User User
3 ago 2011 17:47:49
0

La principal razón es que puedes engancharte a get_header, lo que significa que puedes hacer cosas relacionadas con el encabezado en un tema hijo o en un archivo de funciones separado sin necesidad de editar los archivos del tema padre.

No quieres editar los archivos del tema padre porque hace que las actualizaciones sean más difíciles, ya que luego necesitas volver a aplicar tus cambios. Si esos cambios están aislados en un tema hijo, actualizar se vuelve MUCHO más fácil.

11 dic 2010 17:00:38