北极寒流 » 网络资源 » 完美实现WordPress用户增加自定义个人资料 - 2012.10.15

完美实现WordPress用户增加自定义个人资料

完美实现WordPress用户增加自定义个人资料(显示自定义内容)。用wordpress搭建博客的朋友应该都知道,wordpress后台虽然有“我的资料”一栏,并且也可以填写一些个人资料,但是由于wordpress默认的都是一些国内用户不常用的玩意,如AIM、Yahoo IM、Jabber 这些对于国内用户而言基本就是多余。所以我们希望把不常用的删掉,改成常用的新浪微博、腾讯微博等。下面是实现方法。

下面是核心代码,加到主题文件夹functions.php里:

//设置个人资料相关选项
function my_profile( $contactmethods ) {
	$contactmethods['weibo_sina'] = '新浪微博';   //增加
	$contactmethods['weibo_tx'] = '腾讯微博';
	unset($contactmethods['aim']);   //删除
	unset($contactmethods['yim']);
	unset($contactmethods['jabber']);
	return $contactmethods;
}
add_filter('user_contactmethods','my_profile');

这个时候仅仅只是在后台有填写的文本框,实际上一点用都没!我们要的效果是在每篇文章里展示出来,所以要把数据都输出到页面上。

在single.php你觉得合适的位置加代码:

<a href="<?php the_author_meta('weibo_sina'); ?>" target="_blank">新浪微博</a>

但实际使用中,不可能每个作者都有新浪微博,所以有的人这里没有填写是空的。而到了页面上,“新浪微博”四个字还在,但是href里是空的,这就非常不友好了。所以要做个判断。

<?php if (get_the_author_meta('weibo_sina')!=""){ ?>
<?php echo "<a href='" . get_the_author_meta('weibo_sina') . "' target='_blank'>新浪微博</a>"; ?>
<?php } ?>

这里把之前的the_author_meta()换成了get_the_author_meta()来做判断非空,因为the_author_meta()是直接输出,而get_the_author_meta()是有返回值,所以可以作为判断的条件。这样就完美实现WordPress用户增加并显示自定义个人资料了。

个人资料

原作者显示效果

用到的文章:

http://wange.im/diy-profile-in-wordpress.html

http://codex.wordpress.org/Function_Reference/the_author_meta

http://codex.wordpress.org/Function_Reference/get_the_author_meta

资料来源:http://ons.me/378.html 主要为自己搜集备忘。

15

完美实现WordPress用户增加自定义个人资料

分享到: