Forum Replies Created
-
AuthorPosts
-
Vladimir
KeymasterErik,
I moved get_posts() out of filter function and saved its result inside global variable. So filter function looks now as:
function ure_edit_posts_access_set_id_list_cu($list) { global $ag_posts_list; if ( empty( $ag_posts_list ) ) { return $list; } if ( empty( $list ) ) { return $ag_posts_list; } $list .= ', '. $ag_posts_list; return $list;
I created successfully new page ‘Test 124’ under user with ‘Program Editor’.
Make your own test and let me know the result.24/03/2020 at 16:01 in reply to: User role rights are not refreshing when a user role is selected from drop down #6712Vladimir
KeymasterI suppose that your browser uses older version of ure.js file. Try to force browser page refresh after you open URE page. Will it start work as expected?
If page refresh will not help, open browser JavaScript console and look for JavaScript error messages. Show what do you see.Vladimir
KeymasterAnother suggestion –
You use get_posts() inside your filter function. URE’s uses ‘pre_get_posts’ hook to define the list of the allowed posts, thus calling get_posts() inside filter function may lead to the endless recursion and finally to the problem with available memory. So try to switch off this custom filter before to call get_posts(), then restore it back, like this:remove_filter('ure_edit_posts_access_id_list', 'ure_edit_posts_access_set_id_list_cu'); $posts = get_posts(array( 'numberposts' => -1, 'post_type' => 'page', 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'analytics_group_name', 'value' => $ag, 'compare' => 'IN', ), ), )); add_filter('ure_edit_posts_access_id_list', 'ure_edit_posts_access_set_id_list_cu');
If this will not help, let me know, we will try to switch off/restore directly URE’s global post edit access filter.
Vladimir
KeymasterYes, your function as filter should always return value. If there is nothing to change, then return unchanged value it got as input parameter.
500 is not a problem. There are installations with thousands posts and/or pages, which work fine.
Try to turn ON wordpress debug mode with writing to file. Add this lines to wp-config.php for that:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);
WordPress will write all error messages to wp-content/debug.log file in this case. Reproduce the error.
Look if ‘user-role-editor-pro’ is mentioned at the error messages.Another variant for investigation:
Strange, that out of memory error is raised at different times from different sources. Can you try to deactivate all plugins except URE and test again. In case error will go away, activate plugins back one by one until error will return. Just in case some other plugin eats to much memory.Vladimir
Keymaster1st of all, filter function should always return value.
Replaceif (!isset($ag)) { return; } else {
with
if (!isset($ag)) { return $list; } else {
Is it too much posts (approximate quantity) has analytics group name, for which you get out of memory error?
11/03/2020 at 13:52 in reply to: Migration of plugin and user roles on from a test to live site. #6697Vladimir
KeymasterHi Andrija,
In this case this is may be interesting for you too:
1) Base options saved by User Role Editor Pro:SELECT * FROM wp_options WHERE option_name LIKE 'user_role_editor';
2) Data saved by URE add-ons:
SELECT * FROM wp_options WHERE option_name LIKE 'ure_%';
Before importing ure_posts_edit_access_data record to the live database take into account if posts/pages ID are the same at the source and targets databases.
11/03/2020 at 01:54 in reply to: Migration of plugin and user roles on from a test to live site. #6695Vladimir
KeymasterIf you familiar with SQL and the tools like phpMyAdmin, it’s possible to export/import all user roles with less efforts. Suppose the database prefix is ‘wp_’.
1) Find the WordPress db record with user roles:SELECT * FROM wp_options WHERE option_name='wp_user_roles';
2) Update all user roles at once:
UPDATE wp_options SET option_value='changed value here' WHERE option_id=NN LIMIT 1;
This post explains in details how and where WordPress stores user roles data.
Do you use any URE Pro additional modules at the test site?
Vladimir
KeymasterCan I check the example at your site/stage/dev copy? If that’s applicable, send URL, admin credentials and example details (CPT, category, role) to support [at-sign] role-editor.com
Vladimir
KeymasterDoes post have a single category and/or user – single role? We have to take into account settings made for another categories and/or roles.
Vladimir
KeymasterIn order to exclude restricted post from the search results you have to select the action “Show HTTP 404 error”. This option excludes restricted post from all listings.
If ‘Show access error message’ is selected, post is shown at the search results, only its content is replaced with access error message.10/03/2020 at 12:23 in reply to: Migration of plugin and user roles on from a test to live site. #6688Vladimir
KeymasterHi Andrija,
If you have not too much user roles you can use ‘Export/Import’ buttons to make this role by role. ‘Export’ button write currently selected role to the local file. ‘Import’ button imports role data from the selected file (previously exported).
This will resolve your task if you don’t care about data set for/by URE additional modules.
Vladimir
KeymasterThanks for the good suggestion for further development. It’s impossible with current user interface though.
I added custom filter ure_show_front_end_menu_item as a quick workaround. You may check any condition inside custom code hooked to it and hide menu item via it. Mentioned filter was added to beta version 4.51.b2. It’s available from the download page.Vladimir
KeymasterHi,
Did you try “Admin menu blocking” add-on?
Vladimir
KeymasterHi,
It’s not possible within WordPress built-in page editing logic. Special plugin is needed for this purpose.
Vladimir
KeymasterBeta version 4.55.1.b1 is available after login at the ‘Download’ page.
Related updates:
New: Content view access add-on:
– ‘ure_content_view_access_data_for_role’ custom filter was added. It takes 2 parameters: 1st – array with content view access data defined for a role, $role_id – role ID, for which content view access data is filtered.
– ‘ure_content_view_access_data_for_user’ custom filter was added. It takes 2 parameters: 1st – array with content view access data defined for a user, $user_id – user ID, for which content view access data is filtered.Try to use new filters in your code.
-
AuthorPosts