带有简码的 Wordpress 问题

Wordpress issue with shortcodes

寻求有关设置简码的帮助。 我正在尝试弄清楚如何制作自己的插件并添加简码以便快速使用。所以这里可能有问题。

到目前为止我得到了什么。我有工作数据库 table,我可以从插件的管理页面编辑它。

现在我想刷新网站 public 端的数据。 下面的所有代码都位于插件文件夹中的 benefits.php 中。 根据简码 API,我添加了一个快捷方式处理程序:

function get_benefits($attr) {
    $benefits = $wpdb->get_results(
        "
        SELECT * FROM wp_benefits;  
        "
    );

    $html = "<table class='benefits'>";
    $html .= "<tbody>";
    $html .= "<tr>";

    foreach ($benefits as $benefit) {
        $html .= "<th>".$benefit->Title."</th>";
    }

    $html .= "</tr>";
    $html .= "<tr>";

    foreach ($benefits as $benefit) {
        $html .= "<td>".$benefit->Content."</td>";
    }

    $html .= "</tr>";
    $html .= "</tbody>";
    $html .= "</table>";

    return $html;
}

并且我已经使用以下代码添加了简码:

add_shortcode( 'benefits', 'get_benefits'); 

我最近的所有尝试都变成了此页面上的零内容。我的意思是 div class="entry-content" 是空的。但即使没有工作的简码,我也必须在那里看到一张图片。我有点迷路了。

如有任何帮助,将不胜感激。

$wpdb 未在您的短代码回调中定义,因此当您尝试访问 get_results 方法时将触发错误。

global $wpdb; 添加到函数的顶部。