我是WordPress的新手,因此我需要显示数据库中的一些数据到WordPress php页面。
我将此代码添加到我的functions.php中(已安装主题的内部)
function ws_count_completed_courses() {
$ws_current_user = get_current_user_id();
global $wpdb;
//Count completed courses for logged user.
$ws_completed_courses = $wpdb->get_results("SELECT COUNT(item_id) FROM
$wpdb->user_items WHERE status = 'completed' AND used_id =
$ws_current_user");
}
然后在我的dashboard.php中添加下一个代码...
<p>The user has been finished <?php echo $ws_completed_courses ; ?> courses</p>
但是我只在网站上看到用户已经完成课程
我的错误在哪里以及如何解决该问题?
谢谢!
更新18年11月21日
function.php
function ws_count_completed_courses() {
$ws_current_user = get_current_user_id();
var_dump($ws_current_user);
global $wpdb;
$ws_completed_courses = $wpdb->get_results( "SELECT COUNT(item_id) FROM
$wpdb->user_items WHERE status = 'completed' AND user_id =
$ws_current_user" );
foreach ($ws_completed_courses as $course) {
$completedCourseCount = $course->user_item_id;
}
return $completedCourseCount;
}
dashboard.php
<p>The user has been finished <?php echo ws_count_completed_courses(); ?> courses</p>
答案 0 :(得分:0)
您可以用$wpdb tutorials谷歌搜索;但是,以下是概念性概述,可能有助于您入门:
在SQL提示符下,确保查询有效。然后找出如何修改SQL以在PHP代码中使用程序变量。
看看从查询中获得的结构:
var_dump($ws_current_user);
有很多方法可以从返回的结构中提取数据,但是最常见的方法是这样的:
foreach ($ws_completed_courses as $course) {
$completedCourseCount = $course->colum_you_want;
}
返回您提取的值作为函数的最后一行:
return $completedCourseCount;
像这样调用函数:
echo ws_count_completed_courses();
答案 1 :(得分:0)
$wpdb->get_results返回数组或对象。因此,请尝试以下方法之一:
echo $ws_completed_courses['COUNT(item_id)'];
echo $ws_completed_courses->COUNT(item_id);
编辑:确定,然后尝试以下操作:
function ws_count_completed_courses() {
$ws_current_user = get_current_user_id();
global $wpdb;
$ws_completed_courses = $wpdb->get_results( "SELECT COUNT(item_id) as user_item_id FROM $wpdb->user_items WHERE status = 'completed' AND user_id = $ws_current_user" );
foreach ($ws_completed_courses as $course) {
$completedCourseCount = $course->user_item_id;
}
return $completedCourseCount;
}