AJAX环境中的Get_Body_Class()

时间:2018-04-30 作者:somebodysomewhere

我需要使用该功能get_body_class() 此处:

add_action(\'wp_ajax_nopriv_load_vue_template\', \'load_vue_template\');
function load_vue_template()
{
    print_r(get_body_class()); // []
}
该函数不接受任何有用的参数。有人知道我怎样才能做到这一点吗?我有要使用的页面ID。

1 个回复
SO网友:Mark Kaplun

你可能想做些错事。模板函数需要正确设置全局查询和post变量的上下文,即使这样,您也可能会错过所有类型的过滤器,因为ajax请求没有在模板评估的上下文中运行,这意味着template_redirect, wp_head 还有一些没有被“运行”,这反过来可能会影响哪些过滤器正在应用于身体和后课堂生成。

如果不需要与插件兼容,可以只设置全局环境,但我有一种感觉,在这样一个受限的环境中,您可能知道JS端的类,而无需为此发送AJAX请求。

结束

相关推荐

前端AJAX的问题,在访问wp-admin/admin-ajax.php时获得302重定向

我想对前端登录用户使用wp-ajax,但显示发现的302错误并调用主页。它对于管理员用户和未登录用户都可以正常工作。以下是网络日志截图:我使用了以下两种ajax功能:add_action(\'wp_ajax_add_sale\', \'add_sale\'); add_action(\'wp_ajax_nopriv_add_sale\', \'add_sale\'); add_sale() 以下内容:<?php function add_sale() { di