как возможно, что использование категории вставки wp приведет к фатальной ошибке?


Как возможно, что использование wp_insert_category приведет к фатальной ошибке?

Я использую его, как объяснено: http://codex.wordpress.org/Function_Reference/wp_insert_category без изменений, за исключением:

$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);

Я не знаю, уместно ли это, однако я выполняю это на add_action( 'init', array($this, 'registerCustoms') );

И я получаю следующую ошибку:

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

Есть идеи?

 2
Author: Neta Meta, 2014-01-29

4 answers

Действие init не в том месте. Это связано с тем, что init выполняется для всех запросов, административных или интерфейсных, но функция wp_insert_category предназначена только для администратора. Как правило, вы не вставляете категории из внешнего интерфейса.

Перейдите к более конкретному действию, которое будет выполняться на стороне администратора. Вероятно, со страниц администратора вашего плагина.

 4
Author: Otto, 2014-01-29 14:32:32

Если вы использовали wp_insert_category Спереди, вы должны добавить следующее:

require_once( ABSPATH . '/wp-admin/includes/taxonomy.php');
 4
Author: Oleh Levchenko, 2017-03-17 08:33:23

Вы должны использовать инициализацию администратора крючка

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

И это все

 3
Author: William Abarca, 2015-09-13 09:22:33

Я думаю, что здесь не требуется admin_init, потому что это также определяет taxonomy.php

Поэтому, пожалуйста, используйте на этом пути:

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
Author: Amit mishra, 2017-03-03 08:05:11