¿Hay alguna ventaja al usar get_header() en lugar de include('header.php')?
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')
?

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.

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 :(

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.
