繁体   English   中英

基于URL或URL字符串前缀的不同html,正文背景

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM