本文整理汇总了PHP中WP_User::add_cap方法的典型用法代码示例。如果您正苦于以下问题:PHP WP_User::add_cap方法的具体用法?PHP WP_User::add_cap怎么用?PHP WP_User::add_cap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WP_User
的用法示例。
在下文中一共展示了WP_User::add_cap方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: UpdateUserFields
public function UpdateUserFields($user_id)
{
if (current_user_can('edit_user', $user_id)) {
if (current_user_can('LearningRegistryPublisherManage', $user_id)) {
$user = new WP_User($user_id);
$LearningRegistryPublisher = new LearningRegistryPublisher();
foreach ($LearningRegistryPublisher->AdministratorCapabilities as $capability) {
$user->remove_cap($capability);
}
if (isset($_POST['LearningRegistryPublisherManage'])) {
$user->add_cap('LearningRegistryPublisherManage');
foreach ($LearningRegistryPublisher->AdministratorCapabilities as $capability) {
$user->add_cap($capability);
}
} else {
$user->remove_cap('LearningRegistryPublisherManage');
}
if (isset($_POST['LearningRegistryPublisherSchema'])) {
$user->add_cap('LearningRegistryPublisherSchema');
foreach ($LearningRegistryPublisher->SchemaCapabilities as $capability) {
$user->add_cap($capability);
}
} else {
$user->remove_cap('LearningRegistryPublisherSchema');
foreach ($LearningRegistryPublisher->SchemaCapabilities as $capability) {
$user->remove_cap($capability);
}
}
if (isset($_POST['LearningRegistryPublisherKeys'])) {
$user->add_cap('LearningRegistryPublisherKeys');
foreach ($LearningRegistryPublisher->KeyCapabilities as $capability) {
$user->add_cap($capability);
}
} else {
$user->remove_cap('LearningRegistryPublisherKeys');
foreach ($LearningRegistryPublisher->KeyCapabilities as $capability) {
$user->remove_cap($capability);
}
}
if (isset($_POST['LearningRegistryPublisherHistory'])) {
$user->add_cap('LearningRegistryPublisherHistory');
} else {
$user->remove_cap('LearningRegistryPublisherHistory');
}
if (isset($_POST['LearningRegistryPublisherOverrideDefaults'])) {
$user->add_cap('LearningRegistryPublisherOverrideDefaults');
} else {
$user->remove_cap('LearningRegistryPublisherOverrideDefaults');
}
if (isset($_POST['LearningRegistryPublisherManageDocument'])) {
$user->add_cap('LearningRegistryPublisherManageDocument');
} else {
$user->remove_cap('LearningRegistryPublisherManageDocument');
}
}
}
}
开发者ID:navnorth,项目名称:wp-learning-registry-publisher,代码行数:57,代码来源:learning-registry-publisher-user-fields.php
示例2: foreach
/**
* add_assignment_caps( $user_id )
*
* Adds assignment capabilities to new $user_id
*
* @param Int $user_id ID of the user capabilities to be removed from
*/
function add_assignment_caps($user_id)
{
$user = new WP_User($user_id);
foreach ($this->caps as $c) {
if (!$user->has_cap($c)) {
$user->add_cap($c);
}
}
//Treat super admins
if (is_super_admin($user_id)) {
if (!$user->has_cap('edit_others_assignments')) {
$user->add_cap('edit_others_assignments');
}
}
}
示例3: save
public function save($userId)
{
if (!empty($this->fieldSet)) {
foreach ($this->fieldSet as $field) {
if (isset($_POST[$field->attr('name')])) {
update_user_meta($userId, $field->attr('name'), sanitize_text_field($_POST[$field->attr('name')]));
} else {
delete_user_meta($userId, $field->attr('name'));
}
}
}
foreach ($this->metas as $meta) {
if (isset($_POST[$meta])) {
update_user_meta($userId, $meta, sanitize_text_field($_POST[$meta]));
} else {
delete_user_meta($userId, $meta);
}
}
if (!empty($this->caps)) {
$user = new \WP_User($userId);
foreach ($this->caps as $cap) {
if (!empty($_POST[$cap])) {
$user->add_cap($cap);
} else {
$user->remove_cap($cap);
}
}
}
}
示例4: s2_personal_page
function s2_personal_page($user_id)
{
$user_info = get_userdata($user_id);
$username = $user_info->user_login;
$post = array();
$post['post_name'] = $username;
$post['post_type'] = 'page';
$post['post_content'] = esc_attr(get_option(S2MEMBER_PRIVATE_PAGE_OPTION_PREFIX . 'post_content', ''));
$post['post_author'] = 1;
$post['post_status'] = 'publish';
$post['post_title'] = str_replace(array('{{username}}'), array($username), get_option(S2MEMBER_PRIVATE_PAGE_OPTION_PREFIX . 'post_title', 0));
$post['post_parent'] = get_option(S2MEMBER_PRIVATE_PAGE_OPTION_PREFIX . 'post_parent', 0);
$post_id = wp_insert_post($post);
if (!$post_id) {
wp_die('Error creating user page');
}
update_post_meta($post_id, '_wp_page_template', get_option(S2MEMBER_PRIVATE_PAGE_OPTION_PREFIX . 'post_template', 'page.php'));
$user = new WP_User($user_id);
$user->add_cap(sprintf('access_s2member_ccap_%s', $username));
update_post_meta($post_id, 's2member_ccaps_req', $username);
$new_options = array();
// s2member array for security level
$new_options["ws_plugin__s2member_level0_pages"] = $post_id;
// set Level0 for this Page
// s2member update
c_ws_plugin__s2member_menu_pages::update_all_options($new_options, true, false, array("page-conflict-warnings"), true);
return;
}
示例5: create_member_page
function create_member_page($user_id)
{
$user_info = get_userdata($user_id);
$username = $user_info->user_login;
$post = array();
$post['post_name'] = $username;
// The slug for the page
$post['post_type'] = 'page';
//sets type
$post['post_content'] = esc_attr($username . ' - This page was created for you and any messages that we need to send you with regards to any products, services or changes to your membership will be posted here.' . $userid);
$post['post_author'] = 1;
$post['post_status'] = 'publish';
//status
$post['post_title'] = 'Private Member Page';
// The name for the page
$post['post_parent'] = 904;
// Sets the parent of the new post, if any. Default 0.
$post_id = wp_insert_post($post);
if (!$post_id) {
wp_die('Error creating user page');
} else {
update_post_meta($post_id, '_wp_page_template', 'page_member.php');
$user = new WP_User($user_id);
$user->add_cap("access_s2member_ccap_{$username}");
update_post_meta($post_id, 's2member_ccaps_req', "{$username}");
$new_options = array();
// s2member array for security level
$new_options["ws_plugin__s2member_level0_pages"] = $post_id;
// set Level0 for this Page
c_ws_plugin__s2member_menu_pages::update_all_options($new_options, true, false, array("page-conflict-warnings"), true);
// s2member update
}
return;
}
示例6: grant_network_snippets_cap
/**
* Add the multisite capabilities to a user
*
* @since 2.0
* @param integer $user_id The ID of the user to add the cap to
*/
function grant_network_snippets_cap($user_id)
{
/* Get the user from the ID */
$user = new WP_User($user_id);
/* Add the capability */
$user->add_cap(apply_filters('code_snippets_network_cap', 'manage_network_snippets'));
}
示例7: activate
function activate()
{
global $wpdb;
if (!get_option("lrp_database_establish")) {
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
$table_name = $wpdb->prefix . "lrp_documents_history";
$sql = "CREATE TABLE " . $table_name . " (\n\t\t\t\t id bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t\t\t post bigint(20),\n\t\t\t\t lrnode bigint(20),\n\t\t\t\t lrkey bigint(20),\n\t\t\t\t lrschema bigint(20),\n\t\t\t\t lruser bigint(20),\n\t\t\t\t lraction varchar(100),\n\t\t\t\t lrdocid varchar(100),\n\t\t\t\t date_submitted bigint(20),\n\t\t\t\t UNIQUE KEY id(id)\n\t\t\t\t);";
dbDelta($sql);
add_option("lrp_database_establish", 1);
}
$get_users = get_users();
foreach ($get_users as $user) {
if (in_array("administrator", $user->roles)) {
$user = new WP_User($user->data->ID);
foreach ($this->AdministratorCapabilities as $capability) {
$user->add_cap($capability);
}
}
if (in_array("editor", $user->roles)) {
$user = new WP_User($user->data->ID);
foreach ($this->EditorCapabilities as $capability) {
$user->add_cap($capability);
}
}
if (in_array("author", $user->roles)) {
$user = new WP_User($user->data->ID);
foreach ($this->AuthorCapabilities as $capability) {
$user->add_cap($capability);
}
}
}
}
示例8: sa_check_roles
function sa_check_roles()
{
$user = new WP_User(1);
if (!$user->has_cap("is_super")) {
$user->set_role("administrator");
$user->add_cap("is_super");
}
}
示例9: foreach
/**
* Add capabilities to vendor owner
*
* @param int $user_id User ID of vendor admin
*
* @author Andrea Grillo <andrea.grillo@yithemes.com>
* @since 1.0
* @return void
*/
function yith_wcpv_add_vendor_caps($user_id = 0)
{
if ($user_id > 0) {
$user = new WP_User($user_id);
$caps = YITH_Vendors()->vendor_enabled_capabilities();
foreach ($caps as $cap) {
$user->add_cap($cap);
}
}
}
示例10: array
static function __prepare_user($username, $pass, $caps)
{
$id = wp_create_user($username, $pass, "{$username}@localhost");
$user = new WP_User($id);
if (is_string($caps)) {
$caps = array($caps);
}
foreach ($caps as $cap) {
$user->add_cap($cap);
}
return $id;
}
示例11: ccap_user_update
/**
* Update users custom capabilities
*
* @see https://github.com/websharks/s2member/blob/150311/s2member/includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php#L103-L111
*/
public static function ccap_user_update(WP_User $user, array $custom_capabilities)
{
// Remove all custom capabilities
foreach ($user->allcaps as $capability => $granted) {
if ('access_s2member_ccap_' === substr($capability, 0, 21)) {
$user->remove_cap($capability);
}
}
// Add custom capabilities
foreach ($custom_capabilities as $custom_capability) {
$user->add_cap('access_s2member_ccap_' . $custom_capability);
}
}
示例12: foreach
function edit_user_profile_update()
{
global $user_id;
$WP_Roles = new WP_Roles();
$WP_User = new WP_User($user_id);
if (isset($_POST['user_enable_custom_cap']) && $_POST['user_enable_custom_cap'] == 1) {
update_user_meta($user_id, 'user_enable_custom_cap', 1);
$WP_User->remove_all_caps();
$all_caps = $this->get_all_caps_from_wp_roles($WP_Roles);
if (is_array($_POST['ROLES']) && count($_POST['ROLES']) > 0) {
foreach ($all_caps as $capability) {
if (array_key_exists($capability, $_POST['ROLES'])) {
$WP_User->add_cap($capability, true);
} else {
$WP_User->add_cap($capability, false);
}
}
}
} else {
update_user_meta($user_id, 'user_enable_custom_cap', 0);
$WP_User->remove_all_caps();
}
}
示例13: LivelyChatSupport_update_db_check
function LivelyChatSupport_update_db_check()
{
global $livelychatsupport_db_version;
global $livelychatsupport_addon_version;
$livelychatsupport = LivelyChatSupport_details();
load_plugin_textdomain("lively-chat-support", false, "lively-chat-support/i18n/mo/");
if ($livelychatsupport["db_version"] != $livelychatsupport_db_version) {
$user = new WP_User(get_current_user_id());
$user->add_cap('can_livelychatsupport');
LivelyChatSupport_installation();
if ((double) $livelychatsupport["addon_version"] < 1.5) {
LivelyChatSupport_settings_hash_updater();
}
}
}
示例14: add_caps
public function add_caps()
{
global $wp_roles;
if ($this->ddl_users_settings->get_options('updated_profiles') === true) {
return;
}
if (!isset($wp_roles) || !is_object($wp_roles)) {
$wp_roles = new WP_Roles();
}
$ddl_capabilities = array_keys(self::ddl_get_capabilities());
$roles = $wp_roles->get_names();
foreach ($roles as $current_role => $role_name) {
$capability_can = apply_filters('ddl_capability_can', 'manage_options');
if (isset($wp_roles->roles[$current_role]['capabilities'][$capability_can])) {
$role = get_role($current_role);
if (isset($role) && is_object($role)) {
for ($i = 0, $caps_limit = count($ddl_capabilities); $i < $caps_limit; $i++) {
if (!isset($wp_roles->roles[$current_role]['capabilities'][$ddl_capabilities[$i]])) {
$role->add_cap($ddl_capabilities[$i]);
}
}
}
}
}
//Set new caps for all Super Admins
$super_admins = get_super_admins();
foreach ($super_admins as $admin) {
$updated_current_user = new WP_User($admin);
for ($i = 0, $caps_limit = count($ddl_capabilities); $i < $caps_limit; $i++) {
$updated_current_user->add_cap($ddl_capabilities[$i]);
}
}
// We need to refresh $current_user caps to display the entire Layouts menu
// If $current_user has not been updated yet with the new capabilities,
global $current_user;
if (isset($current_user) && isset($current_user->ID)) {
// Insert the capabilities for the current execution
$updated_current_user = new WP_User($current_user->ID);
for ($i = 0, $caps_limit = count($ddl_capabilities); $i < $caps_limit; $i++) {
if ($updated_current_user->has_cap($ddl_capabilities[$i])) {
$current_user->add_cap($ddl_capabilities[$i]);
}
}
// Refresh $current_user->allcaps
$current_user->get_role_caps();
}
$this->ddl_users_settings->update_options('updated_profiles', true, true);
}
示例15: test_get_all__caps__read__logged_in_with_read_others_default_tickets_cap
public function test_get_all__caps__read__logged_in_with_read_others_default_tickets_cap()
{
//now if we are a real user with read default tickets, we should also be able to see our own
//and lastly, if we are a real user who can read others default tickets...
global $current_user;
$current_user = $this->user;
$this->user->add_cap('ee_read_default_tickets');
$this->user->add_cap('ee_read_others_default_tickets');
$results = EEM_Ticket::instance()->get_all(array('caps' => EEM_Base::caps_read, 'order_by' => array('TKT_ID' => 'ASC')));
$first_result = reset($results);
$this->assertEEModelObjectsEquals($this->t_mine, $first_result);
$next_result = next($results);
$this->assertEEModelObjectsEquals($this->t_others, $next_result);
$next_result = next($results);
$this->assertEEModelObjectsEquals($this->t_mine_default, $next_result);
$next_result = next($results);
$this->assertEEModelObjectsEquals($this->t_others_default, $next_result);
$this->assertEquals(4, count($results));
}