在一个有200名作者的大型多站点安装上,我需要新帖子的作者默认为无。
我取消设置post\\u author div并将其移动到publish box(无论如何应该在那里),并编写了一个新的post\\u author\\u meta\\u box函数,因为no way to change the wp_dropdown_users $args. <--火车票。
它可以工作并将作者设置为“无”,但当编辑帖子时,它会返回到“无”,而不是以前保存的作者。
//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>\';
}
最合适的回答,由SO网友:Chris_O 整理而成
我想出了一个解决方案,所以我把这个问题留给别人,因为它可能会对其他人有所帮助。
if ( \'auto-draft\' == $post->post_status ) :
$selected = false;
else :
$selected = $post->post_author;
endif;