Я пытаюсь создать свой собственный плагин Wordpress, и сейчас я застрял в создании своего шорткода (все остальное в бэкэнде работает просто отлично). В основном я пытаюсь настроить код как:
//Function to display the shortcode
function my_shortcode($atts) {
include 'my_shortcode_content.php';
}
Как видите, я пытаюсь просто включить содержимое из внешнего php-файла, а не записывать его непосредственно в функцию.
my_shortcode_content.php
выглядит так:
<?php
global $wpdb;
$table_name = $wpdb->prefix . "test";
$table_name_categories = $wpdb->prefix . "test_categories";
$stuff = $wpdb->get_results("SELECT * FROM ".$table_name);
$categories = $wpdb->get_results("SELECT * FROM ".$table_name_categories);
echo "<div>Test</div>";
?>
Теперь проблема в том, что, когда я пытаюсь повторить мой HTML-код или даже попытаться поместить необработанный HTML-код вне -tag, я больше не могу редактировать свою страницу.
Каждый раз, когда я пытаюсь отредактировать страницу в WordPress (где мой шорткод реализован в простом текстовом поле) и нажимаю кнопку «Сохранить», она говорит только о том, что обновление не удалось и изменения, сделанные на моей странице, не сохраняются. Теперь странная вещь: если я добавлю материал в свой файл содержимого шорткода, он отобразит изменение на странице, но если я захочу удалить / отредактировать что-то еще, что не является моим шорткодом, я просто не смогу, потому что это бросает меня ошибка. НО, если я удаляю HTML-код со своей страницы контента с шорткодом, все работает отлично, и я могу снова редактировать свою страницу.
Кто-нибудь знает, как может возникнуть эта проблема?
Кстати, я использую Docker-WordPress для проверки своих вещей, хотя я не думаю, что это может вызвать ошибку.