Introduce include_selected arg for wp_dropdown_users(). Add current author to dropdown in post_author_meta_box(). fixes #16045
git-svn-id: http://svn.automattic.com/wordpress/trunk@17198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
e32a14de12
commit
a6e8ff128f
|
@ -530,7 +530,8 @@ function post_author_meta_box($post) {
|
||||||
wp_dropdown_users( array(
|
wp_dropdown_users( array(
|
||||||
'who' => 'authors',
|
'who' => 'authors',
|
||||||
'name' => 'post_author_override',
|
'name' => 'post_author_override',
|
||||||
'selected' => empty($post->ID) ? $user_ID : $post->post_author
|
'selected' => empty($post->ID) ? $user_ID : $post->post_author,
|
||||||
|
'include_selected' => true
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -957,6 +957,7 @@ function setup_userdata($for_user_id = '') {
|
||||||
* <li>show - Default is 'display_name'. User table column to display. If the selected item is empty then the user_login will be displayed in parentheses</li>
|
* <li>show - Default is 'display_name'. User table column to display. If the selected item is empty then the user_login will be displayed in parentheses</li>
|
||||||
* <li>echo - Default is '1'. Whether to display or retrieve content.</li>
|
* <li>echo - Default is '1'. Whether to display or retrieve content.</li>
|
||||||
* <li>selected - Which User ID is selected.</li>
|
* <li>selected - Which User ID is selected.</li>
|
||||||
|
* <li>include_selected - Always include the selected user ID in the dropdown. Default is false.</li>
|
||||||
* <li>name - Default is 'user'. Name attribute of select element.</li>
|
* <li>name - Default is 'user'. Name attribute of select element.</li>
|
||||||
* <li>id - Default is the value of the 'name' parameter. ID attribute of select element.</li>
|
* <li>id - Default is the value of the 'name' parameter. ID attribute of select element.</li>
|
||||||
* <li>class - Class attribute of select element.</li>
|
* <li>class - Class attribute of select element.</li>
|
||||||
|
@ -977,7 +978,7 @@ function wp_dropdown_users( $args = '' ) {
|
||||||
'include' => '', 'exclude' => '', 'multi' => 0,
|
'include' => '', 'exclude' => '', 'multi' => 0,
|
||||||
'show' => 'display_name', 'echo' => 1,
|
'show' => 'display_name', 'echo' => 1,
|
||||||
'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '',
|
'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '',
|
||||||
'blog_id' => $GLOBALS['blog_id'], 'who' => ''
|
'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false
|
||||||
);
|
);
|
||||||
|
|
||||||
$defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0;
|
$defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0;
|
||||||
|
@ -1007,9 +1008,19 @@ function wp_dropdown_users( $args = '' ) {
|
||||||
$output .= "\t<option value='-1'$_selected>$show_option_none</option>\n";
|
$output .= "\t<option value='-1'$_selected>$show_option_none</option>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$found_selected = false;
|
||||||
foreach ( (array) $users as $user ) {
|
foreach ( (array) $users as $user ) {
|
||||||
$user->ID = (int) $user->ID;
|
$user->ID = (int) $user->ID;
|
||||||
$_selected = selected( $user->ID, $selected, false );
|
$_selected = selected( $user->ID, $selected, false );
|
||||||
|
if ( $_selected )
|
||||||
|
$found_selected = true;
|
||||||
|
$display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
|
||||||
|
$output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $include_selected && ! $found_selected && ( $selected > 0 ) ) {
|
||||||
|
$user = get_userdata( $selected );
|
||||||
|
$_selected = selected( $user->ID, $selected, false );
|
||||||
$display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
|
$display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
|
||||||
$output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";
|
$output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue