在User Meta中添加了自定义字段,但它不会在输出中显示

时间:2018-01-11 10:47:36

标签: php wordpress function

我在我的主题的 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'

1 个答案:

答案 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'] );
}