Forum Replies Created

Viewing 15 posts - 586 through 600 (of 2,518 total)
  • Author
    Posts
  • Vladimir
    Keymaster

    Can you share with me the latest version of Learndash? If Yes, share it with support [at-sign] role-editor.com via Google Drive or DropBox.

    in reply to: Feature request to support WP Media Folder Plugin #6754
    Vladimir
    Keymaster

    Thanks.
    I downloaded plugin copy successfully and remove the link about to hide it from public.
    I will let you know when I will have a progress with the subject.

    Vladimir
    Keymaster

    Take into account how URE works with meta boxes. Meta box exists only at the page for which it was created. Post meta boxes exists only at the post editor page, etc. So URE remembers active meta boxes when user opens pages. So to see meta boxes list at the URE “Meta boxes” dialog you have to “show” those meta boxes to URE.

    When user deactivates plugin, which have created meta boxes, those meta boxes are still shown at the URE’s list. That’s why a ‘X’ icon to the right of every meta box row is presented – to remove from URE’s list a meta box, which does not exist at WordPress anymore. It works globally for all roles at once.

    1) URE does not restrict administrator role in any manner. All URE add-ons follows this rule – administrator as superuser can do and see all.
    If you need power user with less permissions than superuser, create a copy of administrator role and restrict it.

    2) If you suddenly delete some meta box from URE list, it’s easy to return it back – just open the page where this meta box is shown. URE will remember this meta box again.

    3) Possible has sense. But user will have to “teach” URE again after that – open pages with meta boxes, in order URE can catch and remember them.

    in reply to: Invert View Filter #6748
    Vladimir
    Keymaster

    Hi Mike,

    It’s not possible with UI at wp-admin. You may use any SQL tool, like phpMyAdmin or MySQL WorkBench, and execute this command:

    
    SELECT DISTINCT wp_users.ID, wp_users.user_login, wp_usermeta.meta_value 
    	FROM wp_usermeta 
    		JOIN wp_users on wp_users.ID=wp_usermeta.user_id
    	WHERE wp_usermeta.meta_key='wp_capabilities' AND
    		wp_usermeta.meta_value NOT LIKE '%subscriber%'
    	ORDER BY wp_users.ID;
    

    Just replace ‘wp_’ at the database tables names with your DB prefix from wp-config.php.
    Make the same replacement for the meta_key ‘wp_capabilities’ value.
    Command above will show the list of all users without subscriber role.

    Vladimir
    Keymaster

    It seems I fixed the issue. Make another test and share the result.

    The reason was at the filtering code from functions.php:

    
    $ag = get_field('analytics_group_name','user_' . $current_user->ID);
    if ( !isset( $ag ) ) {
         return '';
    }
    

    get_field() may return ”, and !isset() check was wrong in the such case. I replaced !isset() with empty():

    
    if ( empty( $ag ) ) {
        return '';
    }
    

    and ‘Pages’ started to open with the single page only.

    Vladimir
    Keymaster

    Hi Erik,

    I reproduced the described issue. I will try to find a reason.

    in reply to: WP-Admin Content Type Listing and filters issues #6742
    Vladimir
    Keymaster

    Yes, it’s a way to resolve the redirection issue caused by admin menu restrictions.

    Vladimir
    Keymaster

    1st, add new user as editor to the main site.
    2nd, go to “Network Admin->Users”, find just added user, click ‘Capabilities’ link under that user row.
    3rd, click “Update Network”. URE Pro will add the user with role granted to him to all sites of the multisite network.

    Documentation article on the subject:

    Multisite operations

    Vladimir
    Keymaster

    This version just adds additional condition:

    
    if ( in_array( 'scholarships', $user->roles ) ) {  // Role ID
          if ($post_type=='scholarship') {  // CPT ID
            $restrict_it = false;
          }
    } else if ( in_array( 'sdol-page-editor', $user->roles ) && in_array( 'applications_tools', $user->roles )) {  // user has both roles at the same time
          if ( $post_type==='app_tools' ) {
    	   $restrict_it = false;  // Do not restrict editing for Applications & Tools
          }
      }
    
    Vladimir
    Keymaster

    Use ‘sdol-page-editor’ for the role ID and ‘app_tools’ for the post_type. If you return false for ‘app_tools’, URE will fully exclude this custom post type from edit restrictions.

    Something like this:

    
    if ( in_array( 'sdol-page-editor', $user->roles ) && in_array( 'applications_tools', $user->roles )) {  // user has both roles at the same time
          if ( $post_type==='app_tools' ) {
    	   $restrict_it = false;  // Do not restrict editing for Applications & Tools
          }
      }
    
    Vladimir
    Keymaster

    1st issue was resolved. User icomm sees ‘Pages’ menu now. Problem was that his 1st role has “Admin menu” “Not Selected” blocking model, but the 2nd role – “Selected”. When URE builds general admin menu for 2 roles it take blocking model from the 1st role and if blocking model of the 2nd role is different then it’s ignored. As a result ‘Pages’ menu was blocked via “Admin menu” restrictions set for the 1st role.

    2nd part, it’s possible to allow user to see/edit the single page via its ID, but has edit access to the full list of another custom post type. Use custom filter ure_restrict_edit_post_type for this purpose.

    Let me know if you will need help with a code for this custom filter.

    Vladimir
    Keymaster

    Does such user see ‘Pages’ menu item or just doesn’t see any pages at the pages list?
    Anyway I don’t see a problem with user capabilities granted to the user via roles.
    Try to deactivate all plugins. Will it change something? If Yes, activate plugins back one by one to isolate a problem.

    Vladimir
    Keymaster

    Hi,

    1st, deactivate temporally URE’s edit restrictions add-on at the URE Settings page and be sure that your user with both roles really has unrestricted access to the custom post type and pages.
    2nd, turn ON URE’s edit restrictions add-on and try to tune restrictions for this user.
    When you put page ID to the list of allowed for editing, URE automatically prohibits all other ID (even from other post types). It’s possible to change this for the selected custom post type via ure_restrict_edit_post_type custom filter.

    Let me know the result and we will continue with access to the single page, if it will be needed.

    Vladimir
    Keymaster

    Did you add ‘edit_theme_options’ capability to ‘author’ role?

    Vladimir
    Keymaster

    Erik,

    I updated custom code at functions.php to this version:

    
    function fetch_analytics_posts(){
    	global $post; 
    
    	$current_user = wp_get_current_user();
    	$ag = get_field('analytics_group_name','user_' . $current_user->ID);
    	if ( !isset($ag) ) {
    		return '';
    	}
    	
    	$posts = get_posts(array(
            'suppress_filters'  => true,    
    	'numberposts'	=> -1,
    	'post_type'		=> 'page',
    	'meta_query'	=> array(
    		'relation'		=> 'OR',
    		array(
    			'key'	 	=> 'analytics_group_name',
    			'value'	  	=> $ag,
    			'compare' 	=> 'IN',
    			),		
    		),
    	));
    
    	foreach($posts as $post){
    		$list .= $post->ID.',';
    	}
    
    	$list = rtrim($list, ',');
    
    	wp_reset_postdata();
    
    	// echo 'allowed posts:'. $list;
    	return $list;
    }
    
    add_filter('ure_edit_posts_access_id_list', 'ure_edit_posts_access_set_id_list_cu', 10, 1);
    
    function ure_edit_posts_access_set_id_list_cu($list) {
    	
            remove_filter('ure_edit_posts_access_id_list', 'ure_edit_posts_access_set_id_list_cu', 10);
            $ag_posts_list = fetch_analytics_posts();
            add_filter('ure_edit_posts_access_id_list', 'ure_edit_posts_access_set_id_list_cu', 10, 1);
            
    	if ( empty( $ag_posts_list ) ) {
    		return $list;
    	}
    	
    	if ( empty( $list ) ) {
    		return $ag_posts_list;
    	}
    	
    	$list .= ', '. $ag_posts_list;
    	
    	return $list;
    }
    

    I tested with existing user with ‘Program Editor’ role. When I turn ON SBU002 analytics group for her, she sees 30 pages only. (Pay attention that some pages with empty analytics group field were returned by your get_posts() query).

Viewing 15 posts - 586 through 600 (of 2,518 total)