Como complemento da resposta @birgire …
Resultados
register_post_type()
permite registrar um suporte de tipo de postagem, que também pode ser dado mais tarde usando add_post_type_support()
. E isso pode ser verificado até mesmo depois usando o todo poderoso post_type_supports( $cpt, $feat )
.
Um mini plugin geral que adiciona um novo recurso
Agora, o seguinte plugin (mu-) verifica um novo tipo de suporte de tipo de postagem que desabilita o recurso de bloqueio de postagem. Tem o nome disabled_post_lock
.
<?php
defined( 'ABSPATH' );
/** Plugin Name: (#120179) Maybe Disable Post Type Support */
add_action( 'load-edit.php', 'wpse120179MaybeDisablePostLock' );
function wpse120179MaybeDisablePostLock()
{
if ( post_type_supports( get_current_screen()->post_type, 'disabled_post_lock' ) )
add_filter( 'wp_check_post_lock_window', '__return_false' );
}
Um plugin por CPT
Em seguida, podemos adicionar facilmente mini-plug-ins para desativar o suporte de tipo de postagem para nossos plug-ins próprios ou de terceiros (economizando um pouco de largura de banda e tamanho de banco de dados na tabela meta do usuário):
<?php
defined( 'ABSPATH' );
/** Plugin Name: (#120179) Disable Post Type Support for "Beer" Posts */
add_action( 'init', function()
{
add_post_type_support( 'beer', 'disabled_post_lock' );
} );
Assim que o segundo plug-in é ativado, o tipo de postagem cerveja não tem mais bloqueio de postagem. Isso deve funcionar bem e é facilmente revertível através da tela de administração de plugins.
Desativando a API de pulsação
Estendendo o plug-in para desativar também a API hearbeat:
<?php
defined( 'ABSPATH' );
/** Plugin Name: (#120179) Maybe Disable Post Type Support */
add_action( 'load-edit.php', 'wpse120179MaybeDisablePostLock' );
function wpse120179MaybeDisablePostLock()
{
if ( post_type_supports( get_current_screen()->post_type, 'disabled_post_lock' ) )
{
add_filter( 'wp_check_post_lock_window', '__return_false' );
add_filter( 'heartbeat_settings', function( $settings )
{
return wp_parse_args( [ 'autostart' => false ], $settings );
} );
}
}