首页 > 解决方案 > Wordpress:在外部页面中构建简码内容会导致错误?

问题描述

我正在尝试构建自己的 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 来测试我的东西,但我认为这不会导致错误。

标签: phpwordpressshortcodewordpress-plugin-creation

解决方案


推荐阅读