Я хочу создать форму, которую я могу использовать шорткод для вставки на мой сайт.
Было бы очень хорошо, если бы я мог создать HTML-часть в отдельном файле, а затем вставить ее с помощью короткого кода PHP (чтобы отделить логику страницы от механизма превращения ее в шорткод).
Как я мог это сделать?
-- Обновить --
Вот что я сделал: у меня есть два файла. Один называется «profiletemplate.php», а другой - «scodes». Они оба являются частью плагина, который я создаю для своего сайта с помощью init.php, который их инициализирует. Вот их содержание:
init.php
<?php
require_once(dirname(__FILE__).'/pages/scodes.php');
?>
scodes.php
function jf_testcode() {
include dirname(__FILE__) . 'profiletemplate.php';
}
add_shortcode('testfield', 'jf_testcode');
profiletemplate.php
<?php // Template for my form shortcode ?>
<form>
Testing
</form>
Затем я использую шорткод [testfield] на странице моего сайта.
Обновление 2
Таким образом, этот метод работает, но он не вставляет HTML-код, где вызывается шорткод. Вместо этого он просто вставляет содержимое вверху страницы (как если бы я сказал «эхо-тестирование» вместо «вернуть тестирование» в функцию).
functions.php
которая требует / включает этот определенный файл, иadd_shortcode()
установить желаемый шорткод для вызова вашей функции.