簡體   English   中英

wp_axax_在類方法中調用的WordPress get_terms(),返回“無效分類法”

[英]WordPress get_terms() called by wp_axax_ inside a class method, returns “Invalid taxonomy”

wp_axax_在類方法中調用的WordPress get_terms(),返回“無效分類法”代碼示例:

class MyClass{
public function __construct(){
 add_action('wp_ajax_get-terms-action',array($this,'get_terms_method'));
 add_action('wp_ajax_nopriv_get-terms-action',array($this,'get_terms_method'));
}

 public function get_terms_method(){
  $result = get_terms('taxonomy_name');
 }
}

之所以會出現“無效分類法”消息,是因為進行ajax調用時,由於尚未初始化所有插件,因此並未注冊所有分類法。

解決方案是在初始化后啟動ajax,這樣就可以了

例如

class MyClass {

    public function __construct() {

        add_action( 'init', function() {

            //add the ajax hook only when all the taxonomies have been registered
            add_action('wp_ajax_get-terms-action',  function() {

                $result = get_terms( 'taxonomy_name' );
            }

        }, 99);

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM