仅在存在时显示指向作者社交媒体的链接

时间:2014-01-08 作者:Eric Mitjans

我在函数中添加了以下代码。php扩展用户配置文件页面的功能,并能够添加指向作者社交媒体的链接。

function my_new_contactmethods( $contactmethods ) {
// Add Site
$contactmethods[\'mysite\'] = \'My Site\';
// Add Google Plus
$contactmethods[\'google_plus\'] = \'Google Plus\';
// Add Behance
$contactmethods[\'behance\'] = \'Behance\';
// Add Twitter
$contactmethods[\'twitter\'] = \'Twitter\';
//add Facebook
$contactmethods[\'facebook\'] = \'Facebook\';
return $contactmethods;
}
add_filter(\'user_contactmethods\',\'my_new_contactmethods\',10,1);
关于作者。php我这样称呼链接:

<a title="Follow me on Twitter" href="<?php the_author_meta( \'twitter\', $author_id ); ?>"><img src="twitter.png" alt="" /></a>
<a title="Follow me on Facebook" href="<?php the_author_meta( \'facebook\', $author_id ); ?>"><img src="facebook.png" alt="" /></a>
<a title="Follow me on Behance" href="<?php the_author_meta( \'behance\', $author_id ); ?>"><img src="behance.png" alt="" /></a>
<a title="Follow me on Google+" href="<?php the_author_meta( \'google_plus\', $author_id ); ?>"><img src="google-plus.png" alt="" /></a>
这个解决方案的问题是,即使作者没有填写相应的字段,它也会显示图像和链接。

这是否是一种简单的方式来回应之前填写的链接?

1 个回复
最合适的回答,由SO网友:GhostToast 整理而成

这是一个非常简单的PHP问题,与WordPress无关。之前需要检查值是否为空echo正在删除它。因此,首先将它们存储为变量:

$twitter  = get_the_author_meta(\'twitter\', $author_id);
$facebook = get_the_author_meta(\'facebook\', $author_id);
//etc
然后在显示之前进行检查:

if(!empty($twitter)) {
    echo \'<a title="Follow me on Twitter" href="\'.$twitter.\'"><img src="twitter.png" alt="" /></a>\';
}
if(!empty($facebook)) {
    echo \'<a title="Follow me on Facebook" href="\'.$facebook.\'"><img src="facebook.png" alt="" /></a>\';
}
//etc

结束

相关推荐

WP_Query in functions.php

我有一些代码要转换成函数。它工作得很好,直到我将其包装到所述函数中: $args = array( \'posts_per_page\' => -1, \'post_type\' => \'asset\', \'category_name\' => $cat ); $cat_query = new WP_Query( $args );