在管理区域中检索和显示自定义数据库表中的数据?

时间:2015-01-10 作者:prettyfly

所以,我正在开发的插件有点问题,我想知道是否有人能解释一下这种情况,因为很多搜索都没有得到任何帮助-/

基本上,我的插件在wordpress数据库中创建了几个自定义实体,这些实体都可以正常工作。我添加了一个快捷码函数,用于向页面添加表单以提交信息,同样也可以正常工作。

我的问题是,当我希望从上述自定义实体中检索数据,并将其显示在Wordpress的管理部分(在仪表板小部件或自定义插件页面中)时,它将无法工作。句点

我检索数据的示例函数如下所示;

function showApplicants(){
global $wpdb;

$appTable = $wpdb->prefix . "applications";
    $query = $wpdb->prepare("SELECT * FROM $appTable WHERE %d >= \'0\'", RID);
    $applications = $wpdb->get_results($query);

    foreach ( $applications as $application ) 
{
echo $application->title . " " . $application->app_firstName . " " . $application->app_surName . "<br/>";
}

}
奇怪的是,如果将此代码放在WordPress管理区域之外的页面上(例如,WordPress创建的页面,通过一个快捷码函数(它只输出此代码),或者放在我自己创建并在模板中使用此代码添加的页面上),它就会起作用!检索正确的信息,并按预期显示。

将其添加到仪表板小部件,没有乐趣。将其添加到管理部分的自定义页面,同样,没有乐趣。

我被难住了。有什么建议吗?

P、 S-为了避免任何混淆,代码中进一步声明了$wpdb全局,因此无需再次声明它(尽管我尝试在函数中再次声明它,但它仍然不起作用)。

任何帮助都将不胜感激!

Ta mucho!

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

使用自定义数据库中的信息将小部件添加到wp仪表板的工作代码:

/**
 * Add application widget to the dashboard.
 */
function addApplicationWidget() {
    wp_add_dashboard_widget(
                 \'submitted_applications\',         
                 \'Submitted Applications\',        
                 \'showApplicants\' 
        );  
}
add_action( \'wp_dashboard_setup\', \'addApplicationWidget\' );

function showApplicants() {
    global $wpdb;

    $appTable = $wpdb->prefix . "applications";
    $query = $wpdb->prepare("SELECT * FROM $appTable WHERE %d >= \'0\'", RID);
    $applications = $wpdb->get_results($query);

    foreach ( $applications as $application ) {
        echo $application->title . " " . $application->app_firstName . " " . $application->app_surName . "<br/>";
    }
}

结束

相关推荐

是否将核心jQuery放入页脚?

我有这个functions.php 文件,我无法将jQuery加载到页脚中。这个includes 不过,文件在页脚中加载很好。我还需要做什么?function starter_scripts() { wp_enqueue_style( \'starter-style\', get_stylesheet_uri() ); wp_enqueue_script( \'jquery\', \'\', \'\', \'\', true ); wp_