这取决于调用这些函数的位置。这就是将var输入函数的点。
首先,移除global $post
从您的功能。php!在那里没有任何意义!在函数中。php您声明函数,而不是调用它们!
我假设您在某个模板中调用函数。因此,功能。php应如下所示:
function myfunction($post) {
// $post is now a copy of the $post object, it needs to be passed in the call. See below!
do_something($post->ID);
}
也可以使用global关键字,使$post变量在函数中可用:
function myFunction() {
global $post;
// now you can use $post from the global scope
do_something($post->ID);
}
因此,您可以在全球范围内使用$post
global
关键字
inside 函数(第二个示例),或者您可以将$post变量作为函数参数传递(第一个示例)。两者都有各自的优点和缺点,例如,如果将其作为参数传递,PHP将复制$post对象以供在函数中使用,而使用global则使用原始对象。我建议阅读PHP范围。:)
现在您已经有了正确的函数声明-您已经准备好调用它了!在模板中,或无论您身在何处,请执行以下操作:
<?php myFunction($post); ?>
或
<?php myFunction(); ?>
取决于您决定的版本。无论如何,您可能需要在\\u循环中执行此操作!