Wordpress: создание контента шорткода на внешней странице вызывает ошибку? - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь создать свой собственный плагин 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 для проверки своих вещей, хотя я не думаю, что это может вызвать ошибку.

...