你肯定会想用插件来实现这一点。正如其他人所指出的那样,修改WordPress核心文件是一个非常糟糕的主意,因为每次更新都会将其删除,未来的版本可能会更改您正在编辑的内容的位置/功能。您可以通过将其添加到主题的functions.php
文件,但您遇到了与WP Core相同的问题,更新会将其清除。编写插件是您的最佳选择。
假设您想为用户添加一个字段来定义他们最喜欢的颜色。首先要执行以下操作:
function my_extra_author_fields( $user ) { ?>
<h3>My Extra Author Fields</h3>
<table class="form-table">
<tr>
<th><label for="favorite_color">Favorite Color</label></th>
<td>
<input type="text" name="favorite_color" id="favorite_color" class="regular-text" value="<?php esc_attr( get_the_author_meta( \'favorite_color\', $user->ID ) ); ?>" />
<br />
<span class="description">Please enter your favorite color</span>
</td>
</tr>
</table>
<?php }
add_action( \'show_user_profile\', \'my_extra_author_fields\' );
add_action( \'edit_user_profile\', \'my_extra_author_fields\' );
这将在表单中为用户配置文件创建新字段,但实际上还不会保存任何内容。接下来是这一部分:
function save_my_extra_author_fields( $user_id ) {
// Check to see if user can edit this profile
if ( ! current_user_can( \'edit_user\', $user_id ) )
return false;
update_user_meta( $user_id, \'favorite_color\', $_POST[\'favorite_color\'] );
}
add_action( \'personal_options_update\', \'save_my_extra_author_fields\' );
add_action( \'edit_user_profile_update\', \'save_my_extra_author_fields\' );
你需要做一个新的
<tr>
元素和
update_user_meta()
调用要添加的每个自定义字段。
然后,可以使用访问这些字段的值get_the_author_meta( \'favorite_color\' )
如果要以编程方式使用返回,例如测试以查看是否设置或使用了收藏夹颜色the_author_meta( \'favorite_color\' )
简单地重复它。