由于您还没有发布,您使用AJAX到底在做什么,我们只能猜测一下。我想,您的做法是大错特错的——不需要在ajax中进行“挂钩/过滤”。
AJAX用于管理(?)
基本上,AJAX的东西就是管理的东西。这意味着你有
wp_ajax_
挂钩和a
wp_ajax_nopriv_
胡克,但是
is_admin()
对于所有请求,仍将返回true。这是遗留下来的东西,或者只是传统。
如果你想通过AJAX添加一些东西,而不仅仅是用javascript。
使用wp_localize_script()
要从PHP»javascript传输数据,请首先本地化元数据,使其在脚本中可用:
wp_enqueue_script( \'my-script-handle\', etc.... );
wp_localize_script(
\'my-script-handle\'
,\'my_localized_data\'
,array(
\'youtubevideo\' => $data[\'meta\']->start_page_content
)
);
简单jQuery可以完成所有操作,然后将其添加到容器中,或者添加到需要的任何位置:
// Depending on what exactly your "video" is (embed/link/etc.), you need to adjust the var.
var youtube_video = my_localized_data.youtubevideo;
jQuery( \'#content\' ).append( youtube_video );