在两个php文件之间传递值

时间:2015-07-01 22:50:31

标签: php html css wordpress

我有自己的wordpress页面,我想在header.php和style.php(样式的php版本)文件之间传递值。

在header.php中我有:

<?php $background = get_field('background')['url']; ?>

检索自定义字段值(上传的img url)。

在我的style.php中我有我的CSS,但在此之前我有<?php ?>标签,我可以在其中定义一些变量以在样式表中使用。任何想法,如何从header.php中检索此值并存储在style.php的变量中?

非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

如果我正确地关注了您,您基本上希望能够更好地控制CSS中的背景图像,但需要能够让后端的用户控件来定义它。

在这种情况下,我会在header.php <head>中执行简单的操作,

<style>
.background {
   background-image: url("<?php echo $background ?>");
}
</style>

在CSS文件中,您可以控制元素的其余控件。

这是我今天在网站上所做的真实例子。

在我脑海里:

   <style>
      .background {
          background-image:url(<?php the_field('background_image')?>);
       }
   </style>

我的HTML:

<div class="background">
Content goes here
</div>

我的CSS:

    .background {
      background-size: cover;
      background-position: center center;
      height: 600px;
    }
    @media only screen and (max-width: 40em){
        .background {
          height: 400px;
        }
     }

如果你试图定义一个GLOBAL变量,那么你把它放在你的变量之上:

<?php global $background; ?>

然后你可以在任何其他页面上使用$ background(但如果它在标题中被使用,那么它已经可以在其他页面上访问,因为它是模板部分)。

答案 1 :(得分:1)

回答您提出的问题,而不是您拥有的问题,

您使用$_REQUEST

<?php

$_GET['foo'] = 'a';
$_POST['bar'] = 'b';
var_dump($_GET); // Element 'foo' is string(1) "a"
var_dump($_POST); // Element 'bar' is string(1) "b"
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'

?>
  

如果要通过单个标记评估$ _GET和$ _POST变量   如果不包含$ _COOKIE,请使用$ _SERVER [&#39; REQUEST_METHOD&#39;]   确定使用的方法并相应地设置开关块,   e.g:

<?php

switch($_SERVER['REQUEST_METHOD'])
{
case 'GET': $the_request = &$_GET; break;
case 'POST': $the_request = &$_POST; break;
.
. // Etc.
.
default:
}
?>
  

来自:http://php.net/manual/en/reserved.variables.request.php