Answers:
您可以简单地使用CSS隐藏选项。这将为post.php和post-new.php页面上的杂项和次要发布操作添加display:none样式。由于所有帖子类型都使用这两个文件,因此也会检查特定的帖子类型。
function hide_publishing_actions(){
$my_post_type = 'POST_TYPE';
global $post;
if($post->post_type == $my_post_type){
echo '
<style type="text/css">
#misc-publishing-actions,
#minor-publishing-actions{
display:none;
}
</style>
';
}
}
add_action('admin_head-post.php', 'hide_publishing_actions');
add_action('admin_head-post-new.php', 'hide_publishing_actions');
if ( $post->post_type != $my_post_type ){ return; }
在开始时就可以删除代码的缩进级别。无需将整个代码包装在if
语句中。
在此示例中,您可以轻松设置要隐藏发布选项的帖子类型,该示例针对内置pots类型page
和自定义帖子类型隐藏它们cpt_portfolio
。
/**
* Hides with CSS the publishing options for the types page and cpt_portfolio
*/
function wpse_36118_hide_minor_publishing() {
$screen = get_current_screen();
if( in_array( $screen->id, array( 'page', 'cpt_portfolio' ) ) ) {
echo '<style>#minor-publishing { display: none; }</style>';
}
}
// Hook to admin_head for the CSS to be applied earlier
add_action( 'admin_head', 'wpse_36118_hide_minor_publishing' );
我还建议您将帖子状态强制为“已发布”,以避免将帖子另存为草稿:
/**
* Sets the post status to published
*/
function wpse_36118_force_published( $post ) {
if( 'trash' !== $post[ 'post_status' ] ) { /* We still want to use the trash */
if( in_array( $post[ 'post_type' ], array( 'page', 'cpt_portfolio' ) ) ) {
$post['post_status'] = 'publish';
}
return $post;
}
}
// Hook to wp_insert_post_data
add_filter( 'wp_insert_post_data', 'wpse_36118_force_published' );