comment est-il possible que l'utilisation de wp_insert_category génère une erreur fatale?
Je l'utilise comme expliqué: http://codex.wordpress.org/Function_Reference/wp_insert_category sans changement, sauf:
$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);
je ne sais pas si c'est pertinent mais je l'exécute sur add_action( 'init', array($this, 'registerCustoms') );
Et j'obtiens l'erreur suivante:
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
Des idées?
L'action init
est au mauvais endroit. En effet, init
s'exécute sur toutes les demandes, admin ou front-end, mais la fonction wp_insert_category
est une fonction uniquement pour les administrateurs. En général, vous n'insérez pas de catégories à partir du début.
Passez à une action plus spécifique, qui sera exécutée du côté de l’administrateur. Probablement à partir des pages d'administration de votre plugin.
vous devez utiliser hook admin init
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');
Et c'est tout
Si vous avez utilisé wp_insert_category
sur le devant, vous devez ajouter ceci:
require_once( ABSPATH . '/wp-admin/includes/taxonomy.php');
Je pense que ici n'est pas nécessaire d'admin_init, parce que cela définit aussi taxonomy.php
Alors s'il vous plaît utilisez sur cette voie:
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);