在非对象上调用成员函数get_row(),无法在插件中使用全局$wbdp

时间:2013-07-27 作者:ETAN

我正在为我的WordPress站点构建一个自定义插件。

我制作了一个名为“checkrank”的php文件,它从一个名为“cranking”的自定义表中获取数据。

$uid = $GET[\'id\']; 

function checkExists($id){
    global $wpdb;
    $table_name = $wpdb->prefix . \'cranking\';
    $exists = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE id = %d" ) );

    $error = $wpdb->print_error();

    if(count($exists) > 0){
       echo \'Exists!\';
    } else {
       echo \'Does not exist!\';
    }

 return $error;
}

checkExists($uid);
该代码只是为了检查摇动台是否有具有所提供ID的用户。

问题是,每当我运行此php文件时,都会出现以下错误:

PHP致命错误:调用成员函数get_row() 在非对象上

我错在哪里<我想$wbdp 未启动。

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

您在评论中澄清:

我所说的运行是指向url(mysite.com/wp-content/plugins/myplugin/checkrank.php?id=1)

在这种情况下,您运行的是一个独立的文件。

是的,它位于WordPress的插件文件夹中,但您不能在WordPress的上下文中访问它(即从它内部)。在这里,没有任何WordPress核心函数/方法/类可用,因为它们根本就没有加载。

结束

相关推荐

在Single.php上显示分类图像

我正在使用Taxonomy Images, 而且我不知道如何在一个屏幕上显示类别的关联图像。php。本质上,当用户查看一篇使用单条的帖子时。php模板,它应该显示文章类别的图像。现在,它什么都不显示。这是我正在使用的代码:<?php $image_id = apply_filters( \"taxonomy-images-queried-term-image-id\", 0 ); if ( ! empty( $image_id )): print a