load_template() WP 1.5.0

Підключає вказаний файл до PHP, за допомогою require_once.

Використовується, щоб бути впевненим, що середовище WordPress вже встановлено під час підключення файлу. Функція також встановлює глобальні змінні: $posts , $post , $wp_did_header , $wp_query , $wp_rewrite , $wpdb , $wp_version , $wp , $id , $comment , $user_ID .

Основа для:
locate_template()

Хуків немає.

Повертає

null. Нічого не повертає, а підключає файл до PHP.

Використання

load_template($_template_file, $require_once, $args);
$_template_file
(рядок) (обов’язковий)
Серверний шлях до файлу, який необхідно підключити.
$require_once
(логічний)

true – підключатиме файл за допомогою require_once, false – за допомогою require.

Якщо підключення файлу відбувається всередині циклу і цей параметр вказаний у true , то перший елемент циклу відобразиться коректно, а наступні елементи виведуть як копії 1 елемента.

Типово: true

$args
(масив) (З WP 5.5)
Додаткові параметри для файлу, що підключається. Використовуйте змінну
$args у файлі, що підключається.


За замовчуванням: array()

Приклади

0

#1 Підключення файлу-шаблону у плагіні, з можливістю його змінити в темі

Припустимо, ми створюємо плагін і в ньому нам потрібно вказати файл шаблону, який буде використовуватися в темі. Логічно, що для різних тем файл шаблону буде різним і нам потрібно залишити можливість змінювати файл шаблону з теми. Для цього ми підключимо потрібний файл, тільки в тому випадку, якщо він не визначений у темі:

if ( $overridden_template = locate_template('some-template.php') ) {
   // locate_template() поверне шлях до файлу, якщо дочка. чи народить. тема має такий файл
   load_template($overridden_template);
 } else {
   // Якщо файл не знайдений у темі чи доч. темі, завантажуємо файл із каталогу 'templates' плагіна
   load_template( dirname( __FILE__ ) . '/templates/some-template.php' );
 }

нотатки

  • Global. Масив. $posts
  • Global. WP_Post. $post Global post об’єкт.
  • Global. true | false. $wp_did_header
  • Global. WP_Query. $wp_query WordPress Query object.
  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
  • Global. wpdb. $wpdb WordPress database abstraction object.
  • Global. Рядок. $wp_version
  • Global. WP. $wp Current WordPress environment instance.
  • Global. int. $id
  • Global. WP_Comment. $comment Global comment object.
  • Global. int. $user_ID

список змін

З версії 1.5.0Введено.
З версії 5.5.0The $args parameter був added.

Код load_template() WP 6.0.2

function load_template( $_template_file, $require_once = true, $args = array() ) {
	Global $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;

	if ( is_array( $wp_query->query_vars ) ) {
		/*
		 * Цей спосіб extract() може бутинеобхідним. There are many possible ways that
		 * Templates could depend on variables that it creates existing, and no way to
		 * detect and deprecate it.
		 *
		 * Passing the EXTR_SKIP flag is the safest option, оберігаючи globals and
		 * функція variables може бути неперевірена.
		 */
		// phpcs:ignore WordPress.PHP.DontExtract.extract_extract
		extract($wp_query->query_vars, EXTR_SKIP);
	}

	if (isset($s)) {
		$ s = esc_attr ($ s);
	}

	if ( $require_once ) {
		require_once $_template_file;
	} else {
		require $_template_file;
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *