Как вызвать функцию внутри страницы/записи для динамической генерации контента?
Если речь идет о содержимом записи/страницы, это невозможно. Вот три различных способа решения вашей проблемы. Первый способ даст вам возможность добавить сгенерированное содержимое внутрь контента записи (или страницы). Два других будут выводиться в одном из ваших файлов шаблонов, например, в single.php
или page.php
.
1. Шорткод
Это более или менее скопировано из примеров Shortcode API. Поместите это в ваш functions.php
или в один из ваших пользовательских плагинов.
Вы можете включить функцию в WYSIWYG редактор вашей записи или страницы, используя следующий синтаксис:
[unique_shortcode_name foo="123" bar="medium"]
Поместите это в ваш functions.php или в один из ваших пользовательских плагинов:
add_shortcode('unique_shortcode_name', 'generate_content');
function generate_content($attributes) {
// Разбирает параметры/атрибуты и делает их доступными как переменные.
extract(shortcode_atts(array(
'foo' => 'значение по умолчанию для foo',
'bar' => 'значение по умолчанию для bar',
), $attributes));
// Генерация содержимого
$output = complex_content_generation_goes_here();
return $output;
}
Вы также можете создать шорткод, который оборачивает содержимое. Обертывающие шорткоды дают вам возможность принимать текст как параметр. Это может выглядеть так:
[unique_shortcode_name foo="123"]Некоторый текст[/unique_shortcode_name]
Подробнее об этом читайте в документации по Shortcode API.
2. Шаблон страницы
Это даст вам возможность установить определенный файл шаблона для страницы (это не будет работать для обычных записей). Вот документация о шаблонах страниц.
Вы можете создать свой шаблон на основе уже существующего, например page.php
. Единственное требование - разместить многострочный комментарий в начале вашего файла шаблона:
<?php
/*
Template Name: Страница продуктов
*/
?>
Нет жестких требований к имени файла, но старайтесь не называть его так, чтобы WordPress мог случайно выбрать его через иерархию шаблонов (см. пункт 3). Если это произойдет, WordPress может использовать ваш шаблон для других страниц, что приведет к неожиданным результатам.
Если вы сделали все правильно, при редактировании или создании страницы вы должны увидеть раздел "Шаблон" с выпадающим списком в блоке "Атрибуты страницы". Например:
3. Иерархия шаблонов
Иерархия шаблонов определяет, какой шаблон должен использоваться для текущего просмотра страницы, делая это путем поиска соответствующего файла по его имени. В Codex есть очень наглядное изображение иерархии шаблонов. Изучите его, чтобы лучше понять, как работает иерархия шаблонов.

Я хочу добавить функцию только на одну страницу (страницу "Обо мне") и не на все страницы. Я хочу вызвать функцию в определенном месте этой страницы. Я попытался вызвать функцию, добавив PHP-команды в исходный HTML код с помощью Test function is <?php contentGenerator($true); ?> .
, но это не сработало.

Если вы говорите о содержимом записи/страницы, то это невозможно. Что вы можете сделать, так это добавить шорткод и вызвать его. Также вы можете использовать специальный файл шаблона или применить иерархию шаблонов для этой страницы.
