如何将函数存储在...函数.php?

时间:2012-04-23 作者:Wordpressor

我想根据页面/帖子ID、设置API等在我的页面上做一些(有时非常复杂)的事情。

现在,我已经在page中直接编写了所有函数。php文件,但我不希望它以这种方式离开它-它真的很凌乱,很难控制一切。我希望每个函数都有单独的文件,并从那里加载它们。但有一个巨大的问题:

功能。php

function test() {
   return $post->ID; //or echo $post->ID;
}
第页。php

<?php
   test();
?>
当然test()不返回任何内容。

有没有办法克服这个问题,或者我的方法又一次愚蠢了?如果是-我应该如何在核心主题文件之外存储我的函数?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

全局变量不会传递到函数中。你必须申报。

更改此项:

function test() {
   return $post->ID; //or echo $post->ID;
}
。。。为此:

function test() {
   global $post;
   return $post->ID; //or echo $post->ID;
}

SO网友:Gregory

一些事情。

首先,正如Chip所述,globals需要用函数的私有范围声明。

第二,我怀疑你的页面。php代码不会“打印”任何内容,因为函数返回一个值,但不会回显它。

第三,在设计页面和函数时,您需要记住哪些变量将根据环境而变化。始终依赖WP的全局变量可能不太现实。相反,将变量作为参数传递到函数中。如果仔细规划,它将更加可靠,并允许您使用相同的功能执行更多操作。

干杯,格雷戈里

结束

相关推荐

Functions.php错误-尝试更改主题时

在尝试替换wordpress主题后,它表示功能。主题目录中的php文件(最后一行)不正常分析错误:语法错误,意外的$end in/主题/主题名/功能。php在线1500第1500行实际上是唯一的符号?>EDIT好的,这是函数的pastebin链接。有错误的php文件http://pastebin.com/by5TtZq6p、 我想知道——既然它应该是一个现成的模板——那么它怎么可能是错误的——它应该是有效的p、 可能是因为改变wordpress的设置或使用了一些不好的插件而导致的混乱?(如perma