我有 PHP 脚本来显示 WordPress 数据库中的所有帖子。然后脚本获取作者的用户 ID 并在数据库的用户表中查询它以找出他们的显示名称。 但是,这目前仅适用于第一个结果。这是为什么?
<?
mysql_connect('localhost','username','password');
mysql_select_db('database');
$result=mysql_query("SELECT * FROM wp_posts WHERE post_type='post'");
while($row=mysql_fetch_array($result)){
echo'<p><h3>'.$row[post_title].'</h3><br>';
$user=mysql_query("SELECT * FROM wp_users WHERE ID='$row[post_author]'");
while($u=mysql_fetch_array($user)){
echo $u[display_name];
}
echo' </p>';
}
?>
最佳答案
你为什么不把你的查询改成
Select users.display_name, posts.post_title
FROM wp_posts posts
inner join wp_users users on posts.post_author = users.ID
where posts.post_type = 'post';
这将摆脱大量的数据库调用。除了第一个结果,什么对任何结果都不起作用?您确定您在 wp_posts 表中有超过 1 个帖子吗?
关于php - 修复简单的 PHP WordPress 用户显示名称脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609586/