user_contactmethods
云策文档标注
概述
user_contactmethods 是一个 WordPress 过滤器,用于自定义用户个人资料页面上的联系信息字段。开发者可以通过此过滤器添加或移除用户的联系方式,如 Skype、Twitter 等。
关键要点
- 过滤器名称:user_contactmethods,用于修改用户联系方法。
- 参数:$methods(数组,键为联系方法,值为标签)和 $user(WP_User 对象或 null)。
- 功能:可添加新联系方法(如设置键值对)或移除现有方法(使用 unset)。
- 应用场景:常用于扩展用户个人资料,集成社交媒体或其他联系信息。
代码示例
add_filter( 'user_contactmethods', 'modify_user_contact_methods' );
function modify_user_contact_methods( $methods ) {
// 添加用户联系方法
$methods['skype'] = __( 'Skype Username' );
$methods['twitter'] = __( 'Twitter Username' );
// 移除用户联系方法
unset( $methods['aim'] );
unset( $methods['jabber'] );
return $methods;
}注意事项
- 过滤器在 WordPress 2.9.0 版本引入,兼容性良好。
- 建议使用国际化函数(如 __())处理标签,以支持多语言。
- 可通过面向对象编程(OOP)方式集成,如示例中的类结构。
原文内容
Filters the user contact methods.
Parameters
Source
return apply_filters( 'user_contactmethods', $methods, $user );
Changelog
| Version | Description |
|---|---|
| 2.9.0 | Introduced. |
Skip to note 3 content
Steven Lin
Example migrated from Codex:
Add & remove user contact methods.
add_filter( 'user_contactmethods', 'modify_user_contact_methods' ); function modify_user_contact_methods( $methods ) { // Add user contact methods $methods['skype'] = __( 'Skype Username' ); $methods['twitter'] = __( 'Twitter Username' ); // Remove user contact methods unset( $methods['aim'] ); unset( $methods['jabber'] ); return $methods; }Skip to note 4 content
Abdullah Al Mahi
Add user contact methods useing OOP.
class WPDocs_AuthorBio { /** * Constructor. */ public function __construct() { add_filter( 'user_contactmethods', array( $this, 'user_contact_methods_render' ) ); } /** * User Contact information * * @param array $methods * * @return array */ public function user_contact_methods_render( $methods ) : array { $methods['facebook'] = __( 'Facebook' ); $methods['twitter'] = __( 'Twitter' ); $methods['linkedin'] = __( 'Linkdin' ); $methods['skype'] = __( 'Skype' ); return $methods; } } new WPDocs_AuthorBio();