Quando você cria uma nova postagem (tipo personalizado ou regular), o WordPress chama, get_default_post_to_edit
que define os valores padrão que uma nova postagem terá.
Essa função fornece alguns ganchos de filtro para alterar o título, o conteúdo e o trecho padrão, mas infelizmente nada mais ... porém cada filtro passa o $post
objeto completo para o retorno de chamada, essencialmente isso significa que é possível redefinir várias propriedades (ou apenas uma se nós gostamos)
Isso deve funcionar para você, basta adicionar os tipos de postagem aos quais o código deve ser aplicado como casos dentro do comutador. (Filme e página são exemplos).
function my_default_content( $post_content, $post ) {
if( $post->post_type )
switch( $post->post_type ) {
case 'page':
case 'movie':
$post->comment_status = 'closed';
break;
}
return $post_content;
}
add_filter( 'default_content', 'my_default_content', 10, 2 );
O código foi testado no WP 3.0.1 e tem o efeito desejado de desativar os comentários para os tipos de postagem especificamente, deixando outros herdarem o padrão status da default_comment_status
opção.
Espero que ajude.... :)