У меня есть публичная функция, которая позволяет привязывать таксономии к пользовательским типам сообщений. Я получаю этот код ошибки в Wordpress, когда для отладки установлено значение true:Wordpress add_action undefined offset 0 в строке plugin.php 925 и 943
Notice: Undefined offset: 0 in C:\xampp\htdocs\yanjep-dev\wp-includes\plugin.php on line 925
Notice: Undefined offset: 0 in C:\xampp\htdocs\yanjep-dev\wp-includes\plugin.php on line 943
Это повторяется 9 раз.
Я изолировали проблему с функцией add_action здесь:
add_action('init',
call_user_func_array('register_taxonomy', array($taxonomy_name, $post_type_name, $args))
);
Вся функция здесь:
public function add_taxonomy($name, $args = array(), $labels = array())
{
if(! empty($name))
{
// We need to know the post type name, so the new taxonomy can be attached to it.
$post_type_name = $this->post_type_name;
// Taxonomy properties
$taxonomy_name = strtolower(str_replace(' ', '_', $name));
$taxonomy_labels = $labels;
$taxonomy_args = $args;
if(! taxonomy_exists($taxonomy_name))
{
//Capitilize the words and make it plural
$name = ucwords(str_replace('_', ' ', $name));
$plural = $name . 's';
// Default labels, overwrite them with the given labels.
$labels = array_merge(
// Default
array(
'name' => _x($plural, 'taxonomy general name'),
'singular_name' => _x($name, 'taxonomy singular name'),
'search_items' => __('Search ' . $plural),
'all_items' => __('All ' . $plural),
'parent_item' => __('Parent ' . $name),
'parent_item_colon' => __('Parent ' . $name . ':'),
'edit_item' => __('Edit ' . $name),
'update_item' => __('Update ' . $name),
'add_new_item' => __('Add New ' . $name),
'new_item_name' => __('New ' . $name . ' Name'),
'menu_name' => __($name),
),
// Given labels
$taxonomy_labels
);
// Default arguments, overwitten with the given arguments
$args = array_merge(
// Default
array(
'label' => $plural,
'labels' => $labels,
'public' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'_builtin' => false,
),
// Given
$taxonomy_args
);
// Add the taxonomy to the post type
add_action('init',
call_user_func_array('register_taxonomy', array($taxonomy_name, $post_type_name, $args))
);
}
else
{
add_action('init', array($this, 'add_taxonomy_to_post_type'));
}
}
}
Я работаю на местном уровне с использованием Xampp. Если я прокомментирую действие, уведомления исчезнут. Я знаю, что это связано с количеством аргументов, но я не могу его решить.
Любая помощь приветствуется.