前言
因兼容性原因,wp_registration_url()函数输出的注册链接出现了问题
粗暴的方式可以通过直接修改wp-includes/general-template.php中的wp_registration_url()函数的方式来实现
很显然这种修改基础架构的方式极有可能带来更多麻烦
查阅开发文档后发现也可通过在调用wp_registration_url()函数时通过apply_filters()函数来重定向
这种方式在每次更新插件时会被清除掉,维护成本较高,并不能说是个合格的解决方案
解决方案
最佳解决方案就是自己写一个语句并通过插件的方式以外挂的形式实现
实现“通过插件的方式以外挂的形式”插入代码的传送门:自制插件实现不修改functions.php添加代码
当然了也可以写入主题的functions中
将以下代码加入插件或主题的functions中,修改return后面的值即可
// ** 重定向wp_registration_url函数注册地址 - 开始 ** // add_filter( 'register_url', 'register_url_redirect' ); function register_url_redirect( $url ) { return 'https://yourdomain.com/your-registration-page'; } // ** 重定向wp_registration_url函数注册地址 - 结束 ** //
当然了,return的值也可以为函数,例如如果使用WP-Members提供的注册页面的话:
// ** 重定向wp_registration_url函数注册地址 - 开始 ** // add_filter( 'register_url', 'register_url_redirect' ); function register_url_redirect( $url ) { return wpmem_register_url(); } // ** 重定向wp_registration_url函数注册地址 - 结束 ** //
发表回复