我正在使用短代码在WordPress上显示我的作者列表;我设法使社交网络字段工作,但如果字段为空,我无法隐藏它们。
我想我需要if
声明,但我似乎无法找到使其有效的方法。
以下是我目前使用的代码:
function pippin_list_authors() {
$authors = get_users(array(
'orderby' => 'display_name',
'count_totals' => false,
'who' => 'authors',
'id' => ''
)
);
$list = '';
if($authors) :
$list .= '<div class="author-list">';
foreach($authors as $author) :
$list .= '<table>';
$archive_url = get_author_posts_url($author->ID);
$list .= '<tr>' . get_avatar($author->user_email, 100);
$list .= '<br><br><a class="author-list-name" href="'. $archive_url . '" title="' . __('Vedi tutti i post ', 'pippin') . $author->display_name . '">' . $author->display_name . '</a><br>';
$list.= '<br><br><div class="author-social"><a href="' . get_user_meta( $author->ID, 'facebook', true). '"><i class="fa fa-facebook"><p style="font-size: 0; color: transparent;">'.A.'</p></i></a>';
$list .= '<a href="https://twitter.com/' . get_user_meta($author->ID, 'twitter', true). '"><i class="fa fa-twitter"><p style="font-size: 0; color: transparent;">'.A.'</p></i></a>';
$list .= '<p class="author-bio" style="max-height: 103px; overflow: hidden; ">' . get_user_meta($author->ID, 'description', true) . '</p>';
$list .= '<div class="author-archive" style="text-align: center;"><a href="'. $archive_url . '" title="' . __('Vedi tutti i post ', 'pippin') . $author->display_name . '">' . __('Vedi tutti i post', 'pippin') . '</a></div>';
$list .= '</tr></table>';
endforeach;
$list .= '</div>';
endif;
return $list;
}
add_shortcode('authors', 'pippin_list_authors');
答案 0 :(得分:0)
答案 1 :(得分:0)
我建议你尽可能改变你的功能。 为每个社交链接和其他用户元素创建功能,如下所示:
$facebook_link = get_user_meta( $author->ID, 'facebook', true);
然后以这种方式调用它:
<?php if ($facebook_link !=='') { ?>
<p><a href="<?php echo $facebook_link; ?>"><i class="fa fa-facebook"></a></p>
<?php } ?>