Какая функция WordPress отвечает за подключения файла с помощью слов «Template Name»?

Ссылка скопирована
1 ответ

WordPress есть файлы у которых в начале заданы слова "Template Name: Example name",
эти файлы находятся в каталоге с темой и отвечают за подключения шаблона страницы.
Подробнее: wordpress.org

Как называется WordPress функция поиска файла? (Мне нужна функция которая идет именно из коробки WP)

Дополнительно:

Проблема молотка. Что ты хочешь сделать?

  • Refguser, аналог функции, желательно 1 в 1
  • Дмитрий Казаринов, зачем тебе "аналог"? Цель какая?
  • Refguser, подключить файл php, как бы строкой из файла. Или добавить его в список а потом все подключить разом. Главное что это было из файла, как в вордпрес.
  • Опять ты рассказываешь за придуманное тобой решение, а не задачу.

    Но возможно тебе поможет get_template_part

  • Refguser, я уже написал задачу выше
  • Дмитрий Казаринов, это не задача. Это придуманное тобой решение для какой-то задачи. Почитай по ссылке на SO.
  • Задача:
    Создать плагин autoloader.php

    Его функции:
    Загружать файлы, в которых записан комментарий

    Текст комментария:
    Autoload: On

    Итого:
    Если в одном из файлов конкретной папки есть комментарий, как выше.
    То подключить файл к теме WordPress.

  • Ну как я предполагал - ошибка молотка. Прим уже и сами файлы и "Загружать файлы, в которых записан комментарий" (это тоже решение какой-то конечной задачи).
    И да, ВП (да любой другой движок) так не работает.

    А как подключать файлы в теме я дал ссылку.

  • Refguser, А как тогда wp подключает файлы в которых коммент template name?
  • Дмитрий Казаринов, да сколько ж можно.. Ты не о том думаешь! Для того чтобы ездить на машине нужно знать не формулы и процесс изготовления бензина, а совсем другое. (начиная с ПДД)
  • В чем смысл ваших советов, когда они меня не интересуют? Мне нужно знать только ответ на мой вопрос и все.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Mobile-редакция Ответ

    Файлы с заголовком Template Name WordPress находит не одной публичной “функцией для подключения”, а через механизм тем и кеширование списка page templates. Основная функция, которую обычно используют для получения шаблонов страниц, — wp_get_theme()->get_page_templates(). Внутри WordPress парсит комментарии файлов темы и ищет заголовки вроде Template Name.

    Пример получения списка шаблонов:

    $theme = wp_get_theme();
    $templates = $theme->get_page_templates();
     
    foreach ($templates as $file => $name) {
        echo esc_html($name . ' => ' . $file);
    }

    $theme = wp_get_theme(); $templates = $theme->get_page_templates(); foreach ($templates as $file => $name) { echo esc_html($name . ' => ' . $file); }

    Если нужно получить данные заголовка конкретного файла, используется функция get_file_data():

    $data = get_file_data($file_path, [
        'Template Name' => 'Template Name',
    ]);
     
    echo esc_html($data['Template Name']);

    $data = get_file_data($file_path, [ 'Template Name' => 'Template Name', ]); echo esc_html($data['Template Name']);

    Но если задача “подключить PHP-файл по имени шаблона”, возможно, Вам нужен не аналог механизма page templates, а обычный locate_template() или get_template_part(). Например:

    $template = locate_template('templates/my-block.php');
    if ($template) {
        include $template;
    }

    $template = locate_template('templates/my-block.php'); if ($template) { include $template; }

    Для страниц WordPress хранит выбранный шаблон в meta _wp_page_template. Поэтому если Вы хотите повторить поведение WordPress, смотрите в сторону get_page_template_slug(), locate_template() и wp_get_theme(), а не пытайтесь вручную сканировать все файлы на каждом запросе.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно