我有一个Wordpress用户查询,它从自定义角色的用户列表中回显出大量信息。一切都正常,但我正在努力为一个非常可能的结果做准备。代码从下面开始:
$args = array(
'role' => 'BBCDirectory',
'search' => ''
);
// The Query
$user_query = new WP_User_Query( $args );
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo '<div class="singleperson">'
. '<div style="margin:50px 0; height:1px; line-height:1px; background:#CCCCCC;"></div><span class="bbcavatar" style="float:left; margin:0 20px 20px 0;"><a href="' . get_author_posts_url($user->ID) . '"><img src="' . get_author_image_url( $user->ID ) . '" alt="" /></a></span>'
. '<h3 class="bbcname"><a href="' . get_author_posts_url($user->ID) . '">' . esc_html( $user->display_name ) . '</a></h3>'
. '<span class="bbclocation"><em>' . esc_html( $user->bbccity ) . ', ' . esc_html( $user->bbcstate ) . '</em></span>'
. '<span class="bbcabout"><strong style="text-transform:uppercase; font-size:1.25em;">About Me</strong><br />' . esc_textarea( $user->bbcabout ) . '</span>'
. '<span class="bbcclassschedule"><strong style="text-transform:uppercase; font-size:1.25em;">My Class Schedule</strong><br />' . esc_html( $user->bbcclassschedule ) . '</span>'
. '<span class="contactheader"><strong style="text-transform:uppercase; font-size:1.25em;">Contact ' . esc_html( $user->first_name ) . '</strong><br />'
. '<span class="bbcwebsite"><a target="_blank" href="' . esc_html( $user->bbcwebsite ) . '"><i class="fa fa-globe fa-2x"></i></a></span>'
. '<span class="bbcemail"><a href="mailto:' . esc_html( $user->bbcemail ) . '"><i class="fa fa-envelope-o fa-2x"></i></a></span>'
. '<span class="bbcfacebook"><a target="_blank" href="' . esc_html( $user->bbcfacebook ) . '"><i class="fa fa-facebook fa-2x"></i></a></span>'
. '<span class="bbctwitter"><a target="_blank" href="http://twitter.com/' . esc_html( $user->bbctwitter ) . '"><i class="fa fa-twitter fa-2x"></i></a></span>'
. '<span class="bbcphone"><a id="bbcphone" href="#null"><i class="fa fa-phone fa-2x"></i></a><span class="bbcphonenumber">' . esc_html( $user->bbcphone ) . '</span></span>'
. '</div>'
;
}
所以这可以提供各种各样的东西 - 电子邮件地址,网站,社交媒体资料等。我想要做的是实际测试以确保这些东西在数据库中,如果不是。 ..不要试图回应那部分。例如,如果他们没有Facebook页面,请不要回显以
开头的行 . '<span class="bbcfacebook"><a target="_blank" href="' . esc_html( $user->bbcfacebook ) . '"><i class="fa fa-facebook fa-2x"></i></a></span>'
看起来非常简单,但我回应内容的方式可能不是最有利于条件语句。也许我应该以不同的方式尝试该查询?
提前感谢您的帮助!
答案 0 :(得分:0)
尝试这样做
// The Query
$user_query = new WP_User_Query( $args );
$return = '';
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
$user_id = $user->ID;
$display_name = $user->display_name;
$location = isset($user->bbcstate) && isset($user->bbccity);
$about = $user->bbcabout;
$schedule = $user->bbcclassschedule;
$user_name = $user->first_name;
$website = $user->bbcwebsite;
$email = $user->bbcemail;
$facebook = $user->bbcfacebook;
$twitter = $user->bbctwitter;
$phone = $user->bbcphone;
$return .= '<div class="singleperson">
<div style="margin:50px 0; height:1px; line-height:1px; background:#CCCCCC;">/div>';
if ($user_id != '') {
$return .= '<span class="bbcavatar" style="float:left; margin:0 20px 20px 0;"><a href="' . get_author_posts_url($user->ID) . '"><img src="' . get_author_image_url( $user->ID ) . '" alt="" /></a></span>';
}
if ($display_name != '') {
$return .= '<h3 class="bbcname"><a href="' . get_author_posts_url($user->ID) . '">' . esc_html( $user->display_name ) . '</a></h3>';
}
...
$return .= '</div>';
}
return $return; // or echo $return;
}
只需填写if:)