我有一个自定义的HTML。我正在使用WordPress,我想创建登录页面。
是否有必要首先添加静态登录页面然后创建页面模板,然后从页面模板下拉列表中选择它?
此外,我正在尝试使用template_redirect动作钩子,如下面的代码,它也有效,但我认为代码没有优化。我正在为此寻找一些标准方法。
我需要创建许多页面。那么,选择这种方法是否合适呢?
此外,对于每个页面,我必须确定此页面是否为登录页面,然后我想执行特定任务。那么,最好的方法是什么?我现在正在使用$_SERVER['REQUEST_URI']
,但它也会产生问题,因为我在localhost中工作。因此,假设我的网站网址为http://localhost/sitename
,那么对于http://localhost/mysite/login
,$_SERVER['REQUEST_URI']
会返回/mysite/login
。因此,它也会在我的实时域中产生问题。
<?php
add_action( 'template_redirect', 'wpse131387_template_redirect' );
function wpse131387_template_redirect( ){
call_page('join-us','login.php');
}
function call_page($uri,$page_name){
if(is_ssl())
{
$protocol = 'https://';
}
else
{
$protocol = 'http://';
}
$page_url = $protocol.$_SERVER['HTTPS'].$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if ($page_url == get_site_url().'/'.$uri) {
global $wp_query;
$wp_query->is_404 = false;
status_header(200);
include(dirname(__FILE__) . '/'.$page_name);
exit();
}
}
?>
有人能建议我创建自定义模板的更好方法吗?是否必须先在管理员中添加页面?加载此登录页面时,如何识别此登录页面? $_SERVER['REQUEST_URI']
是localhost子目录中的好方法吗?
答案 0 :(得分:0)
对于登录页面,Wordpress有一个页面,您可以在其中了解如何自定义。
https://codex.wordpress.org/Customizing_the_Login_Form
对于其他页面,完全取决于您的要求。创建页面然后为它们创建模板没有任何害处。如果您有一些支持页面,例如http://localhost/sitename/profile/edit?id=100,则可以使用查询变量和template_redirect。