我在我的主题的 functions.php 文件中创建了一个名为 sience_step 的自定义文件,用于设置为用户个人资料有一些信息的字段。
在用户中设置字段的功能代码:
my_user_contactmethods
但是当我尝试在页面上获取已创建字段的值时 - 没有任何反应(容器已创建,但未获得function my_user_contactmethods($user_contactmethods){
$user_contactmethods['sience_step'] = 'Sience Step';
return $user_contactmethods;
}
)。也许有些人知道如何解决这个错误?
我正在使用功能author_meta
的下一个代码来获取它:
get_the_author_meta
更新
P.S。
我想承认,像<div class="sience_step">Step:
<?php echo get_the_author_meta('sience_step', $key->ID); ?> // not work
</div>
这样的标准author_meta字段通过这样的HTML代码显示正常:
'description'
答案 0 :(得分:2)
您还需要在显示前端之前保存选项。您的功能仅在“配置文件”页面上显示新字段。您可以通过此链接获取完整的流程。它逐步显示整个过程。
http://justintadlock.com/archives/2009/09/10/adding-and-using-custom-user-profile-fields
编辑:对于您的方案,您只需将这段代码放在functions.php中
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_usermeta( $user_id, 'sience_step', $_POST['sience_step'] );
}