我想将一个自定义的php文件添加到WordPress中以执行简单的操作.
到目前为止,我在我的主题index.php文件中:
<a href="myfile.php?size=md">link</a>
Run Code Online (Sandbox Code Playgroud)
和PHP是
<?php echo "hello world"; ?>
<?php echo $_GET["size"]; ?>
<?php echo "hello world"; ?>
Run Code Online (Sandbox Code Playgroud)
该链接一旦点击,就会显示:
hello world
Run Code Online (Sandbox Code Playgroud)
WordPress是否接管了这个$_GET功能,我需要做一些技巧才能使用它?我究竟做错了什么?
编辑:
<?echo "hello world";?>
<?
if (array_key_exists('size', $_GET))
echo $_GET['size'];
?>
<?echo "end";?>
Run Code Online (Sandbox Code Playgroud)
输出:
hello world
Run Code Online (Sandbox Code Playgroud)
小智 14
看到解决方案:
为了能够添加和使用您附加到URL的自定义查询变量(例如:www.site.com/some_page/?my_var=foo- 例如使用add_query_arg()),您需要将它们添加到可用的公共查询变量中WP_Query.这些是在WP_Query实例化时构建的,但幸运的是query_vars在实际用于填充$query_vars属性之前通过过滤器WP_Query.
对于你的情况:
function add_query_vars_filter( $vars ){
$vars[] = "size";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
Run Code Online (Sandbox Code Playgroud)
并在您的模板页面上调用get方法:
$size_var = (get_query_var('size')) ? get_query_var('size') : false;
if($size_var){
// etc...
}
Run Code Online (Sandbox Code Playgroud)
更多在食典委:http://codex.wordpress.org/Function_Reference/get_query_var
我希望它有所帮助!
不确定这是否会显示任何内容,但尝试使用以下命令打开错误报告:
\n<?php\n error_reporting(E_ALL);\n ini_set('display_errors', true);\n?>\nRun Code Online (Sandbox Code Playgroud)\n位于页面顶部任何其他代码之前。
\n编辑:
\n来自OP评论:
\n\n\n愚蠢的问题,但您确定\n正在查看文件的最新\n更改结果,而不是页面的缓存\n副本或其他内容吗?将\n“hello world”更改为其他内容。\n(抱歉抓住了救命稻草,但这\n以前发生在我身上)\xe2\x80\x93 Zenshai
\n哈哈,进行更改的人\n没有更改\n正确的文件。现在正在运行 \xe2\x80\x93\nmarcgg
\n对等编程失败 ^^ \xe2\x80\x93 marcgg
\n那将是一个“或某事”,\n无法告诉你我已经\n做过多少次类似的事情。很高兴\n你最终能够弄清楚。\n\xe2\x80\x93 Zenshai
\n
通常,只有当这些错误开始违背我对语言或环境的了解时,我才会发现这些错误。
\n