WP-尝试使用wp_dropdown_users()作为自定义用户配置文件字段 - php

我已经更新到我的用户配置文件页面,以包括几个选择字段,没有问题,但是我不确定如何解析wp_dropdown_users( )以便将所选值保存到配置文件中。

目前,我将其作为标记:

<tr>
    <th>
        <label for="user"><?php _e('Select associated user', 'mv'); ?></label>
    </th>
    <td>
        <?phpwp_dropdown_users(); ?><br />
        <span class="description"><?php _e('Please enter the ADOC\'s name.', 'mv'); ?></span>
    </td>
</tr>

我正在尝试像这样保存它:

function save_custom_userprofile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) )
    return FALSE;
    update_usermeta( $user_id, 'user', $_POST['user'] );
}
add_action( 'personal_options_update', 'save_custom_userprofile_fields' );
add_action( 'edit_user_profile_update', 'save_custom_userprofile_fields' );

标记为我提供了选择,但是当我尝试保存配置文件时,该选择将还原为第一个选项的值。

与往常一样,对此的任何帮助或指导将不胜感激!

参考方案

因此,首先不建议使用用于保存字段的功能。

参见:https://developer.wordpress.org/reference/functions/update_usermeta/

否则,您做对了。您只需要检索保存的值并将其作为selected参数提供给wp_dropdown_users函数。

所以这样的事情会做,

显示场代码

function new_user_profile_fields( $user ) 
{ 
    $selected = get_user_meta( $user->ID, '_custom_dropdown_user', true );

    ?><tr>
        <th>
            <label for="user"><?php _e('Select associated user', 'mv'); ?></label>
        </th>
        <td>
            <?php wp_dropdown_users( array( "selected" => $selected ) ); ?><br />
            <span class="description"><?php _e('Please enter the ADOC\'s name.', 'mv'); ?></span>
        </td>
    </tr><?php 
}
add_action( 'show_user_profile', 'new_user_profile_fields' );
add_action( 'edit_user_profile', 'new_user_profile_fields' );

保存字段代码

function save_new_user_profile_fields( $user_id ) 
{
    if ( !current_user_can( 'edit_user', $user_id ) ) { 
        return false; 
    }

    update_user_meta( $user_id, '_custom_dropdown_user', $_POST['user'] );
}
add_action( 'personal_options_update', 'save_new_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_new_user_profile_fields' );

WordPress wp_register_script函数未在页脚中加载脚本 - php

我正在尝试在正文完成之前在博客的页脚中加载Google托管的JQuery。这是我在functions.php文件中使用的功能。function load_jquery() { if (!is_admin()) { wp_deregister_script('jquery'); // load the Google API copy in …

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

PHP-如何建议搜索字词,“你是说……?” - php

当使用不检索任何结果的术语搜索数据库时,我想允许“您是不是……”建议(例如Google)。例如,如果有人寻找“ jquyer””,它将输出“ did you mean jquery?”当然,建议结果必须与数据库内部的值匹配(我正在使用mysql)。您知道可以做到这一点的图书馆吗?我已经用谷歌搜索过,但是没有找到任何好的结果。或者,也许您有一个想法,该如何独自…