Wie ist es möglich, dass die Verwendung von wp_insert_category einen schwerwiegenden Fehler verursacht?

Wie ist es möglich, dass die Verwendung von wp_insert_category einen schwerwiegenden Fehler verursacht?

Ich benutze es wie erklärt: http://codex.wordpress.org/Function_Reference/wp_insert_category mit keiner Änderung außer:

$cat_defaults = array( 'cat_name' => 'some_name', 'category_description' => 'as asdfasdf sdf adfa fas f', 'category_nicename' => '', 'category_parent' => '', 'taxonomy' => 'category' ); $someSome = wp_insert_category($cat_defaults); 

Ich weiß nicht, ob es relevant ist, aber ich add_action( 'init', array($this, 'registerCustoms') ); es auf add_action( 'init', array($this, 'registerCustoms') );

Und ich bekomme den folgenden Fehler:

Fatal error: Call to undefined function wp_insert_category() in /home1/stodeckc/public_html/podio-wp-sync/wp-content/plugins/podio_management/libs/appSync/appSync_custom.php on line 61

Irgendwelche Ideen?

Solutions Collecting From Web of "Wie ist es möglich, dass die Verwendung von wp_insert_category einen schwerwiegenden Fehler verursacht?"

Die init Aktion ist der falsche Ort. Dies liegt daran, dass init für alle Anfragen, Admin oder Front-End, ausgeführt wird, aber die wp_insert_category function nur eine admin-side-function ist. Sie fügen im Allgemeinen keine Kategorien aus dem Frontend ein.

Zu einer spezifischeren Aktion wechseln, die auf der Admin-Seite ausgeführt wird. Wahrscheinlich von den Admin-Seiten Ihres Plugins.

Sie müssen hook admin init verwenden

 function _CreateCategory(){ $my_cat = array('cat_name' => 'Newcategory', 'category_description' => 'Descrip', 'category_nicename' => 'cat-slug', 'category_parent' => ''); // Create the category wp_insert_category($my_cat); } add_action('admin_init','_CreateCategory'); 

Und das ist es

Wenn Sie wp_insert_category für Front verwendet haben, müssen Sie wp_insert_category hinzufügen:

 require_once( ABSPATH . '/wp-admin/includes/taxonomy.php'); 

Ich denke hier ist nicht erforderlich, um admin_init, da dies auch auf taxonomy.php definieren

Also bitte auf diesem Weg:

 require_once('wp-load.php' ); require_once(ABSPATH . 'wp-admin/includes/taxonomy.php'); $cat_defaults = array( 'cat_name' => 'some_name', 'category_description' => 'as asdfasdf sdf adfa fas f', 'category_nicename' => '', 'category_parent' => '', 'taxonomy' => 'category' ); $someSome = wp_insert_category($cat_defaults);