Sur une installation multisite volumineuse avec 200 auteurs, il est nécessaire que l'auteur des nouvelles publications soit défini par défaut sur aucun.
Je désactive le div post_author et je le déplace dans la boîte de publication (où il devrait l'être de toute façon) et j'écris une nouvelle fonction post_author_meta_box car il n'y a aucun moyen de changer wp_dropdown_users $ args . <- billet de piste.
Cela fonctionne et définit l'auteur sur aucun, mais quand un article est édité, il revient à aucun au lieu de l'auteur précédemment enregistré.
//Replacement for post_author_meta_box
function better_author_meta_box($post) { ?>
<label class="screen-reader-text" for="post_author_override"><?php _e('Author'); ?></label> <?php
if ( empty($post->ID) ) : $selected = false; else : $selected = $post->post_author; endif;
wp_dropdown_users( array(
'who' => 'authors',
'name' => 'post_author_override',
'selected' => $selected,
//also tried: 'selected' => empty($post->ID) ? false : $post->post_author,
'include_selected' => true,
'show_option_none' => 'NONE'
) );
}
//Moves post_author_div to the publish box
add_action( 'post_submitbox_misc_actions', 'move_author_meta' );
function move_author_meta() {
global $post_ID;
$post = get_post( $post_ID );
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: ';
better_author_meta_box( $post );
echo '</div>';
}
J'ai trouvé une solution, alors je laisse la question posée car cela pourrait être utile à quelqu'un d'autre.
if ( 'auto-draft' == $post->post_status ) :
$selected = false;
else :
$selected = $post->post_author;
endif;