作者pthuang (◢晓筱◤)
看板Web_Design
标题[问题] WordPress的wp_ajax与admin_init?
时间Wed Jan 2 11:15:49 2019
WordPress新手想请问各位大大们
在学习发动 AJAX 的时候发现大多会建议使用 wp_ajax 与 wp_ajax_nopriv
就我目前的理解 有 nopriv 的时候是给尚未登入的使用者
而没有 norpiv 的则是给已经登入的使用者
两个钩子以 if ( is_user_logged_in() ) 被区隔开来
这时候产生了一个我无法理解的问题
我翻了存在这两个 do_action 的 admin-ajax.php 这支档案
里面并没有提供「不管有没有登入都要执行」的 wp_ajax 相关挂钩
但是却又发现在更上方有在上述 if 之外的 do_action( 'admin_init' )
既然如此 为什麽大多都会建议用下面这种方式
add_action( 'wp_ajax_xxx', 'xxx' );
add_action( 'wp_ajax_nopriv_xxx', 'xxx' );
而不是采用
add_action( 'admin_init', 'xxx' );
一次解决就好?这中间是否有什麽我没搞清楚的原因或可以一次解决的用法?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.222.54.78
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1546398952.A.69D.html
※ 编辑: pthuang (61.222.54.78), 01/02/2019 11:19:03