在类方法中由wp_axax_调用的WordPress get_terms()返回“Invalid taxonomy”

时间:2017-08-31 13:22:02

标签: php ajax wordpress

WordPress get_terms()在类方法中由wp_axax_调用,返回“Invalid taxonomy” 代码示例:

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');
 }
}

1 个答案:

答案 0 :(得分:0)

出现“无效分类”消息,因为在进行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);

    }
}