Description
Replaces the default WordPress Author meta box (that has an author dropdown) with a meta box that allows you to select the post’s, or page’s, author via Autocomplete.
Can really come in handy if you have a lot of authors and are tired of scrolling through that long author dropdown.
Credits
Big shoutout to ereleases.com for commissioning this plugin and letting me share it with the community. Thanks, guys. You rock!
Lots of thanks to Andrew Kurtis from WebHostingHub Support for providing the Spanish translation.
Filters
Filters can really come in handy to nail down specific customizations on a site by site basis. I am what you would consider a power user so I’m a big fan of actions and filters and try to incorporate them into my plugins as much as possible. Here are some pretty helpful filters to get your authors autocomplete meta box working just the way you like.
authors_autocomplete_mb_allow_user_id
This filter allows you to block users from the autocomplete results according to user id. Return true to allow and false to deny.
It passes the user id, along with the post ID and post type. Don’t forget: when using a filter, you MUST return something. Here’s an example to help you get started:
<?php
// return *true* to allow the user and *false* to deny the user from autocomplete results
add_filter( 'authors_autocomplete_mb_allow_user_id', 'filter_authors_autocomplete_mb_allow_user_id', 1, 4 );
function filter_authors_autocomplete_mb_allow_user_id( $allow_user_id, $user_id, $post_id, $post_type ) {
if ( $user_id == 4 )
return false;
return $allow_user_id;
}
?>
authors_autocomplete_mb_allow_user_role
This filter allows you to block users from the autocomplete results according to user role. Return true to allow and false to deny.
It passes the user role, along with the post ID and post type. Don’t forget: when using a filter, you MUST return something. Here’s an example to help you get started:
<?php
// return *true* to allow the user and *false* to deny the user from autocomplete results
add_filter( 'authors_autocomplete_mb_allow_user_role', 'filter_authors_autocomplete_mb_allow_user_role', 1, 4 );
function filter_authors_autocomplete_mb_allow_user_role( $allow_user_role, $user_role, $post_id, $post_type ) {
if ( $user_role == 'administrator' )
return false;
return $allow_user_role;
}
?>
authors_autocomplete_mb_author_capability
When checking to see if a user has author privileges, and should therefore be included in the autocomplete results, the plugin checks the user’s capabilities. If the user is editing a page, then the user is added if they have the capability to edit_pages, otherwise the user is added if they have the capability to edit_posts.
If you would like to change the author privilege capability, then this filter is for you. It passes the default capability, along with the post ID and post type. Don’t forget: when using a filter, you MUST return something. Here’s an example to help you get started:
<?php
// changing the author capability according to post type
add_filter( 'authors_autocomplete_mb_author_capability', 'filter_authors_autocomplete_mb_author_capability', 1, 3 );
function filter_authors_autocomplete_mb_author_capability( $author_capability, $post_id, $post_type ) {
if ( $post_type == 'movies' )
return 'edit_movies';
return $author_capability;
}
?>
authors_autocomplete_mb_custom_user_search_user_ids
Want the autocomplete box to search information besides the default user_login, display_name and user_email? This is the filter for you.
Use this filter to run whatever search you like and simply return the user IDs from your results.
It passes a blank array to get you started, the search term, post ID and post type. Don’t forget: when using a filter, you MUST return something.
Here’s an example from me helping a user search their CIMY User Extra Fields:
<?php
// search CIMY User Extra Fields with search term and return user IDs
add_filter( 'authors_autocomplete_mb_custom_user_search_user_ids', 'authors_autocomplete_custom_user_search', 1, 4 );
function authors_autocomplete_custom_user_search( $user_ids, $search_term, $post_id, $post_type ) {
global $wpdb;
return $wpdb->get_col( "SELECT users.ID, cimy_uef_data.VALUE FROM $wpdb->users users LEFT JOIN {$wpdb->prefix}cimy_uef_data cimy_uef_data ON cimy_uef_data.USER_ID = users.ID WHERE ( cimy_uef_data.VALUE LIKE '%$search_term%' OR users.user_login LIKE '%$search_term%' OR users.display_name LIKE '%$search_term%' OR users.user_email LIKE '%$search_term%' ) ORDER BY users.ID ASC" );
}
?>
Screenshots
Installation
- Upload ‘authors-autocomplete-meta-box’ to the ‘/wp-content/plugins/’ directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
- Start finding and selecting a post or page’s author like a boss.
Reviews
Contributors & Developers
“Authors Autocomplete Meta Box” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Authors Autocomplete Meta Box” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2
- Added ability to run custom user search via filter.
- Added support for Internationalization.
- Added Spanish translation with help from Andrew Kurtis from WebHostingHub Support.
- Added support for custom post type author capability testing.
- Renamed the CSS and Javascript file.
1.1
- Updated author capability testing from user level to user capabilities.
- Added ability to change author capability via filter.
- Added ability to remove users from autocomplete results according to user id.
- Added ability to remove users from autocomplete results according to user role.
1.0
- Plugin launch!