所以我有这个代码片段。
function get_box_ajax() {
global $box;
$box = get_box(); // creates box object
ob_start();
get_template( '/filepath/content.php' );
$output = ob_get_clean();
}
// in the content.php file
global $box;
<form action="<?php echo box_url( $box->url ); ?>" method="post"> // error on this line
...
</form>
因此,使用这段代码,我在调用$box->url时遇到了一个非对象错误。请注意,这是通过ajax完成的。
所以我想,在我的ajax函数中,我已经全球化了$box,这需要时间,但它似乎不起作用?有什么想法吗?
两件事:
什么时候调用get_box_ajax
函数?函数get_box
做什么?这两件事都是相关的。
我认为问题不在于box
是否是全局的(事实确实如此),而在于box
的url
变量是否正在定义,或者box
是否正在初始化。
在函数之前将box设置为null。在全球范围中没有参考
$box = null;
function get_box_ajax() {
global $box;
$box = get_box();
将开始更改为