यह एक कोड है जो एक टिप्पणी (समाधान) में अपने स्वयं के प्रश्न से जुड़ा है, मैंने अभी थोड़ा सा रूपांतर किया है और WP 3.3.2 (फ़ंक्शन wpse39084) में परीक्षण किया है। यह सब्सक्राइबर्स को एडिट और क्विक एडिट में पोस्ट दिखाएगा।
आसान प्रबंधन के लिए प्रकाशित क्रियाएँ मेटा बॉक्स के अंदर लेखक मेटा बॉक्स को स्थानांतरित करने के लिए कुछ क्रियाओं (फ़ंक्शन wpse50827) को जोड़ा।
सब कुछ पोस्ट से संबंधित है, न पेज और न ही सीपीटी ...
foreach( array( 'edit.php', 'post.php' ) as $hook )
add_action( "load-$hook", 'wpse39084_replace_post_meta_author' );
/* Show Subscribers in post author dropdowns - edit and quickEdit */
function wpse39084_replace_post_meta_author()
{
global $typenow;
if( 'post' != $typenow )
return;
add_action( 'admin_menu', 'wpse50827_author_metabox_remove' );
add_action( 'post_submitbox_misc_actions', 'wpse50827_author_metabox_move' );
add_filter( 'wp_dropdown_users', 'wpse39084_showme_dropdown_users' );
}
/* Modify authors dropdown */
function wpse39084_showme_dropdown_users( $args = '' )
{
$post = get_post();
$selected = $post->post_author;
$siteusers = get_users( 'orderby=nicename&order=ASC' ); // you can pass filters and option
$re = '';
if( count( $siteusers ) > 0 )
{
$re = '<select name="post_author_override" id="post_author_override">';
foreach( $siteusers as $user )
{
$re .= '<option value="' . $user->ID . '">' . $user->user_nicename . '</option>';
}
$re .= '</select>';
$re = str_replace( 'value="' . $selected . '"', 'value="' . $selected . '" selected="selected"', $re );
}
echo $re;
}
/* Remove Author meta box from post editing */
function wpse50827_author_metabox_remove()
{
remove_meta_box( 'authordiv', 'post', 'normal' );
}
/* Move Author meta box inside Publish Actions meta box */
function wpse50827_author_metabox_move()
{
global $post;
echo '<div id="author" class="misc-pub-section" style="border-top-style:solid; border-top-width:1px; border-top-color:#EEEEEE; border-bottom-width:0px;">Author: ';
post_author_meta_box( $post );
echo '</div>';
}