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

时间:2014-12-05 00:09:07

标签: javascript php jquery wordpress css3

基本上我有一个自定义wordpress网站。

我有一个自定义 wp-login.php 登录屏幕。

但是,登录屏幕会显示注册页面 (已启用)

注册页面基本上在同一表单 id内动态加载2个不同的字段,允许用户注册。其他地方的一切都是一样的。 (替换第一帧'登录'页面)

问题 ..是,登录页面在html, body { background:上有自定义背景图片

我希望用户在点击该表单时看到唯一的background: 图片(第二种形式,SIGN-UP)

以下是用户点击注册后生成的网址:

/wp-login.php?action=register

当用户到达该网址时,我是否可以简单地用{strong> 替换html, body { background:

3 个答案:

答案 0 :(得分:1)

我会这样做(不是最好的方式(它可能是最糟糕的方式: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;
});

答案 1 :(得分:1)

是的,有一种简单的方法可以做到。

您可以使用!important wp-login.php 添加到新的css规则中,如下所示:

<?php 

    if(isset($_GET['action']) && $_GET['action']=='register'){
         echo '<style>html, body { background: url("link_of_another_image.png") !important }</style>';
    }

?>

也许,它可以帮到你

答案 2 :(得分:0)

您可以在页面加载时使用javascript检测action = register参数,并在您的body元素中添加一个类。 然后,您可以将样式覆盖为类似

的样式
body.registration { background: ...}