只在‘do_ajax’时初始化ajax函数是不是一个好主意?

时间:2014-08-21 作者:Xaver

我想知道添加(大量)ajax是否是一个好的解决方案add_action() 只有DOING_AJAX已定义。

通常我的设置如下:

add_action(\'init\', \'my_ajax_init\');

function my_ajax_init(){
    add_action(\'wp_ajax_mymail_method_1\', \'my_ajax_method_1\');
    add_action(\'wp_ajax_mymail_method_2\', \'my_ajax_method_2\');
    add_action(\'wp_ajax_mymail_method_3\', \'my_ajax_method_3\');
    add_action(\'wp_ajax_mymail_method_4\', \'my_ajax_method_4\');
    ....
}
我可以通过以下方法防止在“正常”页面视图上执行此操作:

if(defined(\'DOING_AJAX\') && DOING_AJAX){
  add_action(\'init\', \'my_ajax_init\');  
}
这对性能有帮助吗?

1 个回复
最合适的回答,由SO网友:Adam Erstelle 整理而成

了解的最好方法是测试自己。。。但您很可能会发现性能差异可以忽略不计。添加这些操作并不意味着将评估“my\\u ajax\\u method\\”。这只是建立一个参考。。。并且仅当AJAX调用进入时才执行引用。

结束

相关推荐

WP使用AJAX加载帖子并应用同位素

I ma使用Ajax Load More 为了得到我的帖子并在前端展示,我将同位素应用于这些项目。当我第一次展示一些项目和应用同位素时,它工作得很好。但当我第二次用ajax加载post并尝试应用同位素时,同位素不起作用,post被覆盖。有人能在这方面帮助我吗?