Ответы:
Использование универсальной функции означает выброс слоя WP API:
get_header
крюк исчезнет;"header-{$name}.php"
) исчезла бы;locate_template()
было бы прекращено, что, вероятно, разрушило бы совместимость с дочерними темами.Вы всегда можете посмотреть на источник, чтобы увидеть, что именно делает функция.
WordPress использует собственную функцию не просто так. Обычно это делается по конкретным причинам совместимости или функциональности.
get_header
и это объясняет, почему у меня странное поведение.
Вы также можете использовать функцию get_header (), чтобы получить другой заголовочный файл. Назовите пользовательский заголовочный файл header-what.php, затем используйте
get_header('whatever');
и WP будет использовать файл header-what.php вместо header.php.
Обратите внимание, что синтаксис шаткий - вы могли бы подумать, что вместо этого вы должны указать имя файла, но нет - вам нужно только имя после дефиса. Я хочу, чтобы этот час моей жизни вернулся назад :(
Основная причина в том, что вы можете подключиться к get_header, что означает, что вы можете делать header-y в дочерней теме или в отдельном файле функций без необходимости редактировать файлы родительской темы.
Вы не хотите редактировать файлы родительских тем, потому что это усложняет их обновление, так как вам необходимо повторно применить ваши изменения. Если эти изменения изолированы в дочерней теме, это значительно упрощает обновление.
include('some-file.php');
- нет необходимости в скобках, это языковая конструкция!include 'some-file.php';
делает работу просто отлично, плюс IMO тоже выглядит аккуратнее;)