Я использую WordPress с плагином для содержания темы в церкви, этот плагин регистрирует различные пользовательские типы сообщений и дополнительные таксономии, которые могут использовать специально написанные темы.Пользовательские возможности в пользовательском типе сообщений не работают
Чтобы помочь администратору сайта, я хотел бы изменить возможности одного из таксономий и типов сообщений и разрешить определенным пользователям ограниченные права на них. После копания здесь и других сайтов я сделал простой плагин, который изменил возможности и использовал плагин Members, чтобы изменить разрешения для пользователя, но поскольку обновление до 4.6 больше не работает, и они не отображаются в списке пользовательских возможностей в плагине членов или редакторе роли пользователя ....
Я понятия не имею, с чего начать искать решение, я пошел туда и обратно, пробую разные вещи и пытаясь найти приличную документацию о том, как это сделать все работает, но у меня голова в путанице, любая помощь здесь будет оценена по достоинству.
Текущий код, работал, теперь нет:
<?php
/*
Plugin Name: Church Theme Content - Custom Sermon Caps
Description: Allows fine grained control over Sermon Posts
Version: 1
Author: Tom Wild
Text Domain: ctcCustom-toolset
*/
// Prevent direct access to this file.
if (!defined('ABSPATH')){
header('HTTP/1.0 403 Forbidden');
echo 'This file should not be accessed directly!';
exit; // Exit if accessed directly
}
function ctc__modify_caps() {
// get the arguments of the already-registered taxonomy
$speaker_category_args = get_taxonomy('ctc_sermon_speaker'); // returns an object
// make changes to the args
$speaker_category_args->capabilities = array(
'manage_terms' => 'add_speakers',
'edit_terms' => 'edit_speakers',
'delete_terms' => 'delete_speakes',
'assign_terms' => 'assign_speakers'
);
$sermon_post_type = get_post_type_object('ctc_sermon');
$sermon_post_type->capability_type = 'sermon';
$sermon_post_type->map_meta_cap = true;
$sermon_post_type->capabilities = array(
// meta caps (don't assign these to roles)
'edit_post' => 'edit_sermon',
'read_post' => 'read_sermon',
'delete_post' => 'delete_sermon',
// primitive/meta caps
'create_posts' => 'create_sermons',
// primitive caps used outside of map_meta_cap()
'edit_posts' => 'edit_sermons',
'edit_others_posts' => 'edit_others_sermons',
'publish_posts' => 'publish_sermons',
'read_private_posts' => 'read',
// primitive caps used inside of map_meta_cap()
'read' => 'read',
'delete_posts' => 'delete_sermons',
'delete_private_posts' => 'delete_private_sermons',
'delete_published_posts' => 'delete_published_sermons',
'delete_others_posts' => 'delete_others_sermons',
'edit_private_posts' => 'edit_private_sermons',
'edit_published_posts' => 'edit_published_sermons'
);
// re-register the taxonomy
register_taxonomy('ctc_sermon_speaker', 'ctc_sermon', (array) $speaker_category_args);
register_post_type('ctc_sermon',(array) $sermon_post_type);
}
add_action('init', 'ctc__modify_caps', 11);
?>