我在想......让我们考虑一下:
function get_current_post_id(){
global $wp_query;
return $wp_query->get_queried_object_id();
}
...后来
function test($post_id = null){
if(!$post_id) $post_id = get_current_post_id();
}
确定。但如果我只能这样写,那就太棒了:
function test($post_id = null){
if(!$post_id) get_current_post_id();
// ...and directly have $post_id populated and ready to use
do_something($post_id);
}
让我的$ post_id变量在当前上下文中自动填充(test()函数)。有办法吗?我的意思是,不使用全局。
答案 0 :(得分:0)
好的,我发现这是可能的,正如@arkascha所说,我可以通过引用传递:
function get_current_post_id(&$post_id = null){// &$post_id instead of $post_id
global $wp_query;
$post_id = $wp_query->get_queried_object_id();
return $post_id; // optional
}
问题是:我可以简单地通过引用传递变量。 然后:
function test($post_id = null){
if(!$post_id) get_current_post_id($post_id); // even if I know it's null
// ...then $post_id will be auto-populated
do_something($post_id);
}