Php 插件中的$wpdb,管理页面工作,但短代码不工作
我正在开发一个插件,我有对后台管理员的查询,它们正在工作,但是当我复制它们并粘贴到一个函数中创建一个短代码时,查询就不再工作了 我这里有一个工作代码,如下所示:Php 插件中的$wpdb,管理页面工作,但短代码不工作,php,wordpress,Php,Wordpress,我正在开发一个插件,我有对后台管理员的查询,它们正在工作,但是当我复制它们并粘贴到一个函数中创建一个短代码时,查询就不再工作了 我这里有一个工作代码,如下所示: function test(){ include ($_SERVER["DOCUMENT_ROOT"]."/test.php"); } 当我把同样的代码放在这里,像这样的代码就不起作用了: function test_shortcode(){ include ($_SERVER["DOCUMENT_ROOT"]."/tes
function test(){
include ($_SERVER["DOCUMENT_ROOT"]."/test.php");
}
当我把同样的代码放在这里,像这样的代码就不起作用了:
function test_shortcode(){
include ($_SERVER["DOCUMENT_ROOT"]."/test_shortcode.php");
}
add_shortcode( 'test_shortcode', 'test_shortcode' );
我将感谢任何建议,真的我不明白为什么不工作。如果我使用mysql,那么connect在两个函数中都起作用,但是当我使用WordPress函数时,$wpdb只在第一个函数中起作用,而不在具有短代码的函数中起作用
两个文件中相同的我的循环:
global $wpdb;
$TABLE_NAME = $wpdb->prefix . "table_name";
$RESULT = $wpdb->get_results( "SELECT * FROM $TABLE_NAME");
foreach($RESULT as $RAW){
echo $RAW->il_date
}
因此,问题在于这两个文件之间的差异。这两个文件有什么不同,你能分享吗?两个文件都包含循环,请看更新后的问题,在第一个函数中有效,但在第二个函数中无效,短代码@HammersteinSometimes我发现$wpdb->prefix不起作用。我无法解释它,似乎是随机的。在我的例子中,我检查了$wpdb->前缀并正常工作,似乎查询get_结果像undefined@dwhite.me。您是如何验证$wpdb不工作的?这里只是一个猜测,但是一个短代码应该有一个$atts参数,以便函数与之匹配。