作为一名来自完全不同背景的程序员,我有一些关于wordpress和PHP的新手问题,我在互联网上找不到答案,可能是因为它们太基础了。很抱歉,如果有些人觉得这些问题太傻了,但我无法在网上找到这些问题的答案。因此问
我正在尝试创建一个简单的登录/注册功能,以添加到我的wordpress站点。我找不到这样的插件。我找到的所有插件都可以帮助自定义wordpress的管理登录页面(如CustomLogin)。有没有可以帮我的?
我在数据库中看到了一些名为“signon”和“isusersignedin”的函数,以及一个名为wp\\u users的表。这些功能是否可以用于我的目的,还是仅用于wordpress网站的管理员登录?我也不清楚wp admin和wp login之间的区别。它们都允许管理员编辑网站
试图用PHP自己实现它,我似乎对wordpress使用的PHP结构感到困惑。例如,在实现注册表时,我需要一个从post方法获取输入并向数据库表写入新行的页面。因此,我不能使用我在所有页面上使用的常规模板。我是否必须为这一个额外的东西创建一个新的模板页面?难道没有什么方法可以根据某种条件在某处调用额外的函数吗
谢谢;RegardsRahul公司
SO网友:Matt Cromwell
WordPress Core提供了许多帮助函数来完成这些类型的任务。如果它不是一个函数,那么通常会有一个过滤器或操作,您可以将其连接到其中。
在WordPress登录表单中wp_login_form(). 以下是相关文件:https://codex.wordpress.org/Function_Reference/wp_login_form
关于在登录后重定向用户,有一个过滤器。这段代码是我在许多网站上使用过的代码片段:
function wip_login_redirect( $url, $request, $user ){
$slug = $_SERVER["REQUEST_URI"];
$islogin = strpos($slug, \'log-in\');
if( $user && is_object( $user ) && is_a( $user, \'WP_User\' ) ) {
if(($user->has_cap(\'edit_users\')) && ($islogin==true)) {
$url = admin_url(\'index.php\');
} elseif ((!$user->has_cap(\'edit_users\')) && ($islogin==true)) {
$url = home_url();
} else {
$url = $slug;
}
}
return $url;
}
add_filter(\'login_redirect\', \'wip_login_redirect\', 10, 3 );
我将在本文中对此进行详细介绍:
https://wordimpress.com/conditional-custom-login-redirects-wordpress/希望这能让你朝着正确的方向前进。