[英]different html, body background based on URL or URL string prefix
基本上我有一个自定义的wordpress网站。
我有一个自定义的wp-login.php登录屏幕。
但是,登录屏幕会转到注册页面 (已启用) 。
注册页面基本上在允许用户注册的同一表单 id
内动态加载2个不同的字段。 其他所有地方都一样。 (替换第一帧的“登录”页面)
问题 ..是,登录页面在html, body { background:
上有我的自定义背景图片html, body { background:
我希望用户看到一个独特的background:
当他们点击该表单时就会显示图像 。 (第二种形式,SIGN-UP)
以下是用户点击注册后生成的URL:
/wp-login.php?action=register
有没有一种方法可以在用户到达该URL时将html, body { background:
替换为新的html, body { background:
?
我会这样做(不是最好的方法(这可能是最糟糕的一种:D),但是可以快速实现并起作用):
打开index.php并在下面添加代码:
<?php
if (stristr($_SERVER['REQUEST_URI'],'?action=register'))
ob_start(function($html) {
$before = array('<body','<html');
$style = ' style="background: ..."';
$after = array('<body'.$style,'<html'.$style);
$html = str_replace($before,$after,$html);
return $html;
});
是的,有一种简单的方法可以做到这一点。
a new css rule with !important , like this: 您可以使用!important在新的CSS规则,如下所示:
<?php
if(isset($_GET['action']) && $_GET['action']=='register'){
echo '<style>html, body { background: url("link_of_another_image.png") !important }</style>';
}
?>
也许可以帮到你
您可以在页面加载时使用JavaScript检测到action = register参数,然后将一个类添加到body元素中。 然后,您可以将样式覆盖为
body.registration { background: ...}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.