Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换WordPress admin中的user-edit.php页面_Php_Wordpress_Wordpress Theming_Custom Wordpress Pages - Fatal编程技术网

替换WordPress admin中的user-edit.php页面

替换WordPress admin中的user-edit.php页面,php,wordpress,wordpress-theming,custom-wordpress-pages,Php,Wordpress,Wordpress Theming,Custom Wordpress Pages,我需要替换WordPress管理界面中用于user-edit.php视图的页面模板 我不想更改任何核心文件,但是我想创建自己的user-edit.php来调用 到目前为止,我已经尝试创建user-edit.php文件并将其放在我的子主题中 这可以通过自定义插件来完成吗?WordPress管理页面并不像主题那样使用模板。因此,实际上没有一个模板可以替换 也就是说,以下是您完成替换默认WordPress user-edit.php页面的选项 1) [brute force method]直接将核心w

我需要替换WordPress管理界面中用于user-edit.php视图的页面模板

我不想更改任何核心文件,但是我想创建自己的user-edit.php来调用

到目前为止,我已经尝试创建user-edit.php文件并将其放在我的子主题中


这可以通过自定义插件来完成吗?

WordPress管理页面并不像主题那样使用模板。因此,实际上没有一个模板可以替换

也就是说,以下是您完成替换默认WordPress user-edit.php页面的选项

1) [brute force method]直接将核心
wp admin/user edit.php
文件替换为您自己的文件。我知道你已经说过你不想替换核心文件;我只是为其他出现在这里的人列出这个。显然,这并不理想,因为您的文件在更新WordPress时会被覆盖

2) [服务器重定向方法]您可以在站点的
.htaccess
文件中添加适当的条目,以重定向
https://yourdomain.tld/wp-admin/user-edit.php
转到新页面/文件。也不理想,因为如果你的站点切换到一个没有替换文件的新主题,那么重定向链接就会被破坏

3) [添加方法]保留现有的核心/默认用户菜单,只需添加您自己的管理菜单(通过
添加菜单页面
)即可包含新页面。然后,你只需要使用新的菜单,而不是用户菜单。更好,但也不理想,因为其他管理页面上指向user-edit.php的任何链接仍然会指向那里,并将管理用户带到旧/核心页面

4) [php intercept method]在主题的php代码中拦截对
wp admin/user edit.php
的调用,并加载替换文件。这可能是最好的方法,尽管不是最容易实现的方法。而且你必须确保你的替换页面仍然允许任何插件正常运行,这些插件也可能使用用户编辑页面过滤器和挂钩

完成#4[php拦截]:

核心
user edit.php
文件做的第一件事是加载
wp admin/admin.php
。该文件加载所有相关的管理内容,并最终将控制权交还给
user edit.php
。但是,就在它启动之前,它启动了操作
“load user edit.php”

因此,在主题的functions.php文件中,使用如下函数拦截请求并重定向到文件:

function scottfive_override_user_edit(){
    require_once( get_template_directory() . '/myadminfiles/user-edit-replacement.php' );
    die();
}
add_action( 'load-user-edit.php', 'scottfive_override_user_edit', 1 );
请注意,此方法将替换整个文件及其所有功能和安全性。我建议查看原始的core user-edit.php并复制身份验证/授权代码,以确保您的文件至少与原始文件一样安全

快乐编码!:D