WP-Post Ratings:列出当前用户的评级帖子

时间:2018-07-20 作者:Disolps

我发现这段代码可以获取当前用户的评级帖子列表,但它不起作用。插件WP评级1.85/WP 4.9.7

有什么想法吗?

<?php
global $wpdb, $current_user;
$userranking = $wpdb->get_results( " SELECT * FROM wp_ratings WHERE rating_userid=$current_user->ID ");
if($userranking) {
foreach ( $userranking as $userranking ) {
echo "<li><a class=\'rankedposttitle\' href=\'".get_permalink($userranking->rating_postid). "\'>" .get_the_title($userranking->rating_postid). "</a></li>";
}
}
?>
我也尝试过:

<?php
$sql = "SELECT * FROM wp_ratings WHERE rating_userid LIKE  \'$current_user-    >ID\'";
$result = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
?>
不起作用,我所有的选民都是wordpress的支持者,应该登录投票。

谢谢

1 个回复
SO网友:Rick Hellewell

插件问题最好在插件支持论坛上提出。

但这个代码是错误的:

$result = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
foreach是向后的。执行此操作(将$结果更正为$结果s 在第一行中-添加了“s”):

$results = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
您的第一个代码块也有相同的问题。查询的返回值是一个数组。您需要遍历数组中的每个项。我这样做是为了我的老眼睛;

$results = somearray();
foreach ($results as $item) {
   // do something with $item, an element in the array
}
(打字错误……呃……有时整天看代码后很难看到……)

结束

相关推荐

无法使用$wpdb方法查询自定义表

我使用Sequel Pro为我的Wordpress站点创建了一个自定义表。然后,我尝试使用$wpdb方法从Wordpress PHP文件中查询表。虽然我能够使用标准Wordpress表成功运行查询,但它不适用于我创建的自定义表。所以这一个有效:<?php global $wpdb; $result = $wpdb->get_results ( \" SELECT * FROM $wpdb->users

WP-Post Ratings:列出当前用户的评级帖子 - 小码农CODE - 行之有效找到问题解决它

WP-Post Ratings:列出当前用户的评级帖子

时间:2018-07-20 作者:Disolps

我发现这段代码可以获取当前用户的评级帖子列表,但它不起作用。插件WP评级1.85/WP 4.9.7

有什么想法吗?

<?php
global $wpdb, $current_user;
$userranking = $wpdb->get_results( " SELECT * FROM wp_ratings WHERE rating_userid=$current_user->ID ");
if($userranking) {
foreach ( $userranking as $userranking ) {
echo "<li><a class=\'rankedposttitle\' href=\'".get_permalink($userranking->rating_postid). "\'>" .get_the_title($userranking->rating_postid). "</a></li>";
}
}
?>
我也尝试过:

<?php
$sql = "SELECT * FROM wp_ratings WHERE rating_userid LIKE  \'$current_user-    >ID\'";
$result = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
?>
不起作用,我所有的选民都是wordpress的支持者,应该登录投票。

谢谢

1 个回复
SO网友:Rick Hellewell

插件问题最好在插件支持论坛上提出。

但这个代码是错误的:

$result = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
foreach是向后的。执行此操作(将$结果更正为$结果s 在第一行中-添加了“s”):

$results = $wpdb->get_results($sql) or die(mysql_error());

foreach( $results as $result ) {

 echo $result->name;
}
您的第一个代码块也有相同的问题。查询的返回值是一个数组。您需要遍历数组中的每个项。我这样做是为了我的老眼睛;

$results = somearray();
foreach ($results as $item) {
   // do something with $item, an element in the array
}
(打字错误……呃……有时整天看代码后很难看到……)