我正在尝试使用post-> ID保存帖子元素,但$ post似乎为空并显示通知 - “注意:尝试获取非对象的属性”(访问$ post-> ID)
因此,add_filter似乎根本不起作用。
add_filter('add_to_cart_redirect', array($this, 'custom_add_to_cart_redirect')); // Goes in class constructor.
function custom_add_to_cart_redirect() {
global $post;
var_dump($post).die(); // this $post var is always null.
return $this->woocommerce_custom_add_to_cart_get_cartURL(); // The global $post declaration within this method doesn’t works too.
}
我还尝试在全局声明之前添加wp_post_resetdata()调用,但没有运气。
知道这里出了什么问题吗?
答案 0 :(得分:2)
今天我遇到了类似的情况,全球$post
在应该出现的时候是不可用的。经过仔细研究,我发现is_404()
的每个页面请求都返回true,而post 0的查询因此无法返回全局$post
对象的数据。
法拉盛永久链接为我做了伎俩(没什么特别的,我只是重新保存了它们。)
答案 1 :(得分:0)
您可以使用像
这样的woocommerce全局变量global $woocommerce;
var_dump($woocommerce).die();
答案 2 :(得分:0)
您是否在外部PHP脚本中加载上述代码?您可能需要包含wp_load.php