从WordPress子主题函数文件运行用户名SQL查询

时间:2020-07-21 作者:Moa Andersen

有了管理员帐户,我可以更改除用户名(碰巧是登录名)以外的所有内容。因此,我想知道如何使用函数文件更改用户名。

将以下内容作为SQL查询运行很好,但我如何;转换(&Q);它变成了一个函数?

add_action(\'init\',\'username_query\');
function username_query() {
    
    global $wpdb;
    $result = (UPDATE `wp_users` SET `user_login`= \'new-admin-name-here\' WHERE `user_login`=\'old-admin-name-here\');

}
感谢您的帮助,是的;我知道用户将注销并要求再次登录。

1 个回复
SO网友:Amin Matola

有很多方法可以做到这一点。。。在您的例子中,正如您指出的$wpdb,以下是实现此目标的可能方法:

1。使用$wpdb::query

您可以使用$wpdb的查询方法直接运行此查询,如下所示:

add_action("init", "username_query")
function username_query(){
    global $wpdb;

    $prefix  = $wpdb->prefix;

    $query   = "UPDATE `{$prefix}wp_users` SET `user_login`= \'new-admin-name-here\' WHERE `user_login`=\'old-admin-name-here\'";

    $results = $wpdb->query( $query );

    if( $results === false ){
        return "Error updating admin";
    }

    return "Admin username updated";
}

2。使用$wpdb::update

您还可以使用$wpdb的update方法来运行查询,如下例所示

add_action("init", "username_query")
function username_query(){
    global $wpdb;

    $updated_rows = $wpdb->update(
                                  "wp_users", 
                                  array( "user_login" => "new_admin_name_here" ), 
                                  array( "user_login" => "old_admin_name_here" ),
                                  array( "%s" ),
                                  array( "%s")
                                );

   if ( $updated_rows === false ){
        return "Error updating admin";
   }

   return "Admin username updated";

}

相关推荐

如何显示存储为数组的MySQL表数据?

我的WordPress网站上有一个“mlw\\U结果”表,其中存储了测验结果。我使用“测验和调查大师”插件创建这些测验。现在,我需要显示特定测验会话的所有结果(结果Id=7)。虽然我根据需要获取了所有其他字段,但在需要实际值而不是数组的位置会显示两个数组。<?php define( \'SHORTINIT\', true ); require( \'wp-load.php\' ); $id=7; global $wpdb; $result_data = $w