[問題] WordPress的wp_ajax與admin_init?
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://www.ptt.cc/bbs/Web_Design/M.1546398952.A.69D.html
※ 編輯: pthuang (61.222.54.78), 01/02/2019 11:19:03
Web_Design 近期熱門文章
PTT數位生活區 即時熱門文章