如何向用户添加有关用户创建的附加信息?

时间:2016-10-10 作者:user104598

我看过许多WP开发论坛,但不幸的是,我找不到任何答案。如果有人能帮助我。事实上,我不确定用WordPress是否能解决这种问题。

我的问题如下。

当在WordPress admin中创建新用户时,会为管理员提供一个屏幕,就像我在这里附加的照片一样。

Adding a new user to WordPress Admin

创建用户后,管理员将重定向回包含所有用户的页面。

我的问题是,如何在正在创建的用户上添加一些附加测试。这个问题与WP插件php的开发有关,我可以使用它来实现这个目的。我想保持在同一个页面上(my\\u domain/wp admin/user new.php),但在我按下“添加新用户”按钮后,我只想更改该页面的内容,其余的(我是指左侧的管理菜单留在那里),但只想更改内容(右侧区域)(这里我想对该用户进行其他测试),并在底部显示“下一步”按钮。

我一直在考虑在URL中添加一些参数,但我不知道如何插入代码以解决我的问题。我可能错了,这是我唯一想到的。这是否可能在WP中实现?我知道如何开发页面,唯一不能做的就是如何切换正确的内容,但仍然保持不变(添加新的用户页面)。我一直在看的所有关于WP插件开发、主题开发的讲座都解决了一些不太复杂的问题——创建新的内容类型、添加新的菜单/子菜单项以及与这些项相关的页面、ajax等等。

请你给我一些指导(代码片段,我可以使用的挂钩),一些代码示例,我再说一遍,如果这个问题可以在WP中解决的话。

提前谢谢你。向你问好,乔治!

2 个回复
SO网友:Greg Burkett

我认为您需要像上面推荐的那样挂接到user\\u register操作,然后使用类似以下的代码:

add_action(\'user_register\',\'post_user_reg_redirect\');
function post_user_reg_redirect( $user_id )
{
        if ( is_admin() ) {
             wp_redirect(get_edit_user_link( $user_id ));
             die();
        }

}
这将检查您是否正在admin视图中创建用户,然后重定向到新创建用户的edit user链接。

SO网友:George

幸亏Greg 对于代码段。以下几行是关键:

wp_redirect(get_edit_user_link( $user_id ));
die();   // Especially this one
我在插件(“user\\u register”操作挂钩)中所做的是:

wp_redirect( add_query_arg( array(\'user_id\' => $ID, \'step\' => \'2\')) );
die();
这样,在创建管理员后,用户的URL如下所示:domain/wp admin/user new。php?用户id=33(&U);步骤=2

管理员被重定向到我想要的同一个用户页面。

在我的插件中,我还使用“admin\\u enqueue\\u scripts”操作挂钩将js文件排队。

因为js文件我检查“step”参数的URL,如果它可用并且等于2,那么我将替换右侧内容(右窗格的主包装“wrap”)在该用户(我的站点中的一个播放器)上加载附加测试,并在WP中使用ajax完成该过程。

也许这不是一个完美的解决方案,但它确实有效。

如果你能提供更好的解决方案,我将很高兴听到你这样说。

相关推荐