php - 更正 PHP 语法以将值传递给 HTTP 元刷新?

标签 php html wordpress

我打算使用元刷新的上下文不需要我关心后退按钮、安全性、爬虫、响应代码,也不需要任何通常建议不要使用 HTTP 元刷新的最佳实践。我不想使用客户端脚本。

注意这是 WordPress。不正确的结果表明我没有正确的 PHP 语法,这就是我要问的问题:使以下元刷新能够按预期运行的正确语法是什么......

<?php
$scrnD_refresh_duration = 2;
$scrnD_refresh_url = 'http://wordpress.org';

add_action('wp_head', 'scrnD_add_meta_refresh');
function scrnD_add_meta_refresh() {
    echo '<meta http-equiv="refresh" content="'. $scrnD_refresh_duration .'; url='. $scrnD_refresh_url .'">';
}
?>

//echo 按预期显示值...

echo $scrnD_refresh_duration; // displays 2
echo $scrnD_refresh_url;      // displays http://wordpress.org

//硬编码值按预期刷新...

echo '<meta http-equiv="refresh" content="2; url=http://wordpress.org">';

//查看源代码显示该函数生成没有值...

<meta http-equiv="refresh" content="; url=">

函数中使用的正确语法是什么?

最佳答案

PHP 中的函数有自己的“作用域”,这意味着它有自己的一组变量,独立于函数外部的变量。

这就是为什么 $scrnD_refresh_duration$scrnD_refresh_url 在您的函数中是空的:它们从未在那里定义。函数外部的定义不适用。

对于此类情况,PHP 提供了 global 语句,可从全局范围“拉入”变量。像这样使用它:

function scrnD_add_meta_refresh() {
    global $scrnD_refresh_duration, $scrnD_refresh_url;
    // ...
}

关于php - 更正 PHP 语法以将值传递给 HTTP 元刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201382/

相关文章:

php - 拆分mysql查询并删除其中的一部分

javascript - 使用更少的代码来隐藏和显示选择菜单内容的更好方法是什么? javascript

html - WordPress - 如何将 CSS 样式添加到所有标题菜单按钮,同时排除一个

php - 如何获得捆绑结果

php - 以 php foreach 和 sql group by 为标题

javascript - 将原始 html 快速渲染为文本

css - IE 8 CSS,将鼠标悬停在 http ://kabenwireless.net/的导航项上时不显示子菜单

html - 如何在 WordPress 中显示特定帖子的标签

php - mysqli_query() 总是返回真

html - 在事件菜单项的左侧添加一个点