<?php
$current_user = wp_get_current_user();
$points = $wpdb->get_var("SELECT points FROM wp_watu_takings WHERE user_id = 'idontknowwhattoputhere'");
echo "<p> {$points} </p>";
?>
我正在尝试显示数据库中的特定值。我知道这是非常基本但我忘记了怎么做。有人可以帮帮我吗。 我是wordpress的新手,与php中的编码一样。
我想让当前用户登录并在测验/考试中显示他/她的分数,但我不知道在WHERE user_id =
答案 0 :(得分:0)
试试这个
$points = $wpdb->get_var("SELECT points FROM wp_watu_takings WHERE user_id = " . $current_user->ID . ")
答案 1 :(得分:0)
试试这段代码:
get_var(&#34; SELECT指向FROM wp_watu_takings WHERE user_id =&#39;&#34;。$ current_user_id。&#34;&#39;&#34;); echo&#34;{$ points}
&#34 ;; ?&GT;答案 2 :(得分:0)
正如其他人所说,您需要使用PHP's concatenation operator .
将文本字符串与您创建的变量相结合。该代码如下所示:
$current_user = wp_get_current_user();
$points = $wpdb->get_var("SELECT points FROM wp_watu_takings WHERE user_id =' . $current_user . '");
echo '<p>' . $points . '</p>';
但是你使用$wpdb
进行此查询的方式并不是我喜欢在WP中获取数据的方式。使用WP_Query
和WP_User_Query
会更好,这些都是高效的,可以帮助您更好地教授语法。是的,在这里使用WP_Query对于简单的请求来说可能有些过分,但如果你只是学习它是一个很好的做法。
如何使用WP_User_Query执行此操作:
// 1- Gets the current user
$current_user = wp_get_current_user();
// 2- Setups WP_Query to find points user got on their exam
$args = array(
'search' => $current_user
'post_type' => 'wp_watu_takings'
);
$the_query = new WP_User_Query( $args );
// 3- Output result after checking for presence of data
if($the_query->have_posts()) {
while($the_query->have_posts()) {
$the_query->the_post();
echo the_field('points');
}
}