Posted: April 5, 2014 at 9:50 pm
|
Hi, I would like the editor role to have access to some pages in Event Espresso. As per this post here I added the following to my theme’s functions.php file. <code>add_filter ('FHEE_management_capability', 'my_custom_menu_management_capability'); function my_custom_menu_management_capability() { return 'edit_pages'; } add_filter ('FHEE_espresso_events_capability', 'my_custom_espresso_events_capability'); function my_custom_espresso_events_capability($capability){ return 'edit_pages'; } add_filter ('FHEE_espresso_registrations_capability', 'my_custom_espresso_registrations_capability'); function my_custom_espresso_registrations_capability($capability){ return 'edit_pages'; }</code> So now the Events and Registrations pages show up in the backend admin menu for editors users. Great. But when I click on them, both menu links take me to the dashboard instead of their respective pages. How to fix this? I deactivated all plugins and the issue still persists. Thank you! |
|
Code doesn’t show very well. Let’s try again: <pre class=”brush: php; gutter: true; first-line: 1; highlight: []; html-script: false”>add_filter ('FHEE_management_capability', 'my_custom_menu_management_capability'); add_filter ('FHEE_espresso_events_capability', 'my_custom_espresso_events_capability'); add_filter ('FHEE_espresso_registrations_capability', 'my_custom_espresso_registrations_capability'); |
|
Hi, Sorry about the code brush, it’s not very good. Pastebin is a great alternative. OK, well Josh’s code will indeed load the pages on the Editors admin dashboard. However the problem is that there is a function that checks capability (_check_user_access() in EE_Admin_Page_Loader.core.php) that is not filterable or pluggable and it loosk solely for manage_options. This leaves you with two choices: 1) Edit the core file to look for edit_pages as well. Not really recommended as you will have to do it every time the plugin is updated. 2) Give the editors manage_options rights. Yes this does open up a lot of other menus, but what you could do is another function to remove those menus – https://codex.wordpress.org/Function_Reference/remove_menu_page function remove_menus(){ if(current_user_can( 'editor' ) ) { remove_menu_page( 'index.php' ); //Dashboard remove_menu_page( 'edit.php' ); //Posts remove_menu_page( 'upload.php' ); //Media remove_menu_page( 'edit.php?post_type=page' ); //Pages remove_menu_page( 'edit-comments.php' ); //Comments remove_menu_page( 'themes.php' ); //Appearance remove_menu_page( 'plugins.php' ); //Plugins remove_menu_page( 'users.php' ); //Users remove_menu_page( 'tools.php' ); //Tools remove_menu_page( 'options-general.php' ); //Settings } } add_action( 'admin_menu', 'remove_menus' ); I’ll add a feature request for a filter to be added, as this would obviously be the better option. |
|
Thanks, Dean that helps! I went with option 2. And since I am already using Adminimize (another wp plugin) I can just use that to hide menus for editors. The combination of Josh’s code and adding manage_options cap for editors is what worked. Thanks again! |
The support post ‘EE4 Editor WP User show admin menu or to manage Espresso Events’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.