У меня проблема с двумя пользовательскими таксономиями WordPress.
Я создал собственный тип записи под названием «kurs», и для этого пользовательского типа я также создал 2 пользовательских иерархических таксономии. Это работало нормально, пока я не хотел добавить пользовательские возможности для 2 таксономий.
Я добавил аргумент «способности» для 2 возможностей
первая таксономия:
'capabilities' => array(
'manage_terms' => 'manage_location',
'edit_terms' => 'edit_location',
'delete_terms' => 'delete_location',
'assign_terms' => 'assign_location',
)
вторая таксономия:
'capabilities' => array(
'manage_terms' => 'manage_typ',
'edit_terms' => 'edit_typ',
'delete_terms' => 'delete_typ',
'assign_terms' => 'assign_typ',
)
Затем я добавил все эти новые пользовательские возможности в роль администратора с помощью этой функции:
function kurse_role_caps() {
// gets the simple_role role object
$role = get_role('administrator');
// add a new capability
$role->add_cap( 'manage_location', 'edit_location', 'delete_location', 'assign_location', 'manage_typ', 'edit_typ', 'delete_typ', 'assign_typ', true);
}
add simple_role capabilities, priority must be after the initial role definition
add_action('init', 'kurse_role_caps', 11);
Но вторая пользовательская таксономия не отображается в меню администратора, хотя для аргумента 'show_in_menu' установлено значение true: Снимок экрана моего меню администратора
Если я удаляю пользовательские возможности из второй таксономии, это отображается в админке:
введите описание изображения здесь
После того как я искал эту проблему в интернете, ни у кого не было подобной проблемы. Вот мой смысл полного кода, который я использую для пользовательского типа записи и 2 пользовательских таксономий: https://gist.github.com/jeremygrlj/a9319591e3d1940e9ef465f024220e84