Php 带变量的wordpress自定义查询
我正试图在wordpress中创建一个显示两位作者的自定义页面。Php 带变量的wordpress自定义查询,php,mysql,sql,wordpress,variables,Php,Mysql,Sql,Wordpress,Variables,我正试图在wordpress中创建一个显示两位作者的自定义页面。 我有一个自定义查询,因为我需要显示作者图像和个人简历。 我现在的问题是: <?php global $wpdb; $authors = $wpdb->get_results("SELECT ID, user_nicename, meta_value, meta_key, display_name
我有一个自定义查询,因为我需要显示作者图像和个人简历。 我现在的问题是:
<?php
global $wpdb;
$authors = $wpdb->get_results("SELECT ID, user_nicename, meta_value, meta_key, display_name
FROM $wpdb->users, $wpdb->usermeta
WHERE user_nicename = 'nick' AND umeta_id = 53");
foreach($authors as $author) {
?>
<div class="author">
<div class="authorimage" style="background-image: url('<?php echo $author->meta_value; ?>');" >
</div>
<div class="authorinfo">
<?php
$username = $author->user_nicename;
echo $author->display_name; ?><br /><?php
$bios = $wpdb->get_results("SELECT ID, user_nicename, meta_value, meta_key, display_name
FROM $wpdb->users, $wpdb->usermeta
WHERE user_nicename = %d
AND umeta_id = 43", $username);
foreach($bios as $bio) {
echo $bio->meta_value;
}
?>
</div>
</div>
<?php
}
?>
得到了一些帮助
$users = "('nick', 'roy')";
global $wpdb;
$tableB2 = "SELECT user_id, max(umeta_id) maxid
FROM art_usermeta b
WHERE meta_key = 'author_profile_picture'
GROUP BY user_id";
$tableB1 = "SELECT a.user_id, maxid, meta_value, meta_key
FROM ($tableB2) a
INNER JOIN art_usermeta b on b.user_id=a.user_id and b.umeta_id=maxid and meta_key='author_profile_picture'";
$tableC2 = "SELECT user_id, max(umeta_id) maxid
FROM art_usermeta b
WHERE meta_key = 'description'
GROUP BY user_id";
$tableC1 = "SELECT a.user_id, maxid, meta_value, meta_key
FROM ($tableC2) a
INNER JOIN art_usermeta c on c.user_id=c.user_id and c.umeta_id=maxid and meta_key='description'";
$sql = "SELECT ID, user_nicename, b.meta_value bvalue, b.meta_key bkey, display_name, c.meta_value cvalue, c.meta_key ckey
FROM art_users a
INNER JOIN ($tableB1) b ON b.user_id=id AND b.meta_key = 'author_profile_picture'
INNER JOIN ($tableC1) c ON c.user_id=id AND c.meta_key = 'description'
WHERE user_nicename in $users";
此查询返回用户名的描述,显示作者的描述和照片url。
它还检查了最高数量的描述和照片url,如果这些得到更新,它会得到最新的一个
仍然感谢您的帮助,并为我的英语感到抱歉。%d代表十进制值,如果我将echo设置为“test”,则将其更改为%s,并且tryStill不工作;在foreach(bios作为bio)内部,它没有显示。请尝试sql查询的回显,这样您就可以看到它进行了什么查询。然后直接在mysqladmin中运行它,查看您得到的结果。看起来你的第一个查询没有返回任何记录。您可以执行print\r($bios)如果有任何记录返回,则代码>至chk。它将显示一个带有记录的数组。