web-dev-qa-db-fra.com

comment est-il possible que l'utilisation de wp_insert_category proposer une erreur fatale?

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?

1
Neta Meta

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.

4
Otto

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

3
William Abarca

Si vous avez utilisé wp_insert_category sur le devant, vous devez ajouter ceci:

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

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);
0
Amit mishra