Você está procurando uma maneira de exigir uma imagem destacada antes de poder publicar uma postagem? Este trecho exigirá que você tenha adicionado uma imagem destacada antes que sua postagem possa ser publicada. Se você tentar publicar uma postagem sem uma imagem destacada após adicionar este trecho, você receberá esta mensagem: “Você deve selecionar Imagem Destacada. Sua Postagem é salva, mas não pode ser publicada.”
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou em um plugin específico do site:
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail($post_id) {
// change to any custom post type
if(get_post_type($post_id) != 'post')
return;
if ( !has_post_thumbnail( $post_id ) ) {
// set a transient to show the users an admin message
set_transient( "has_post_thumbnail", "no" );
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'wpds_check_thumbnail');
// update the post set it to draft
wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
add_action('save_post', 'wpds_check_thumbnail');
} else {
delete_transient( "has_post_thumbnail" );
}
}
function wpds_thumbnail_error()
{
// check if the transient is set, and display the error message
if ( get_transient( "has_post_thumbnail" ) == "no" ) {
echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
delete_transient( "has_post_thumbnail" );
}
}
Observação: Se esta é a primeira vez que você adiciona snippets de código no WordPress, consulte nosso guia sobre como copiar / colar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site como: 7 Melhores Plugins de Galeria WordPress Comparados.
Oi! Funciona para a imagem destacada do Woocommerce?
podemos fazer também para o título da postagem
Você pode verificar se o título foi adicionado usando a função get_the_title().
Isso está criando muitos rascunhos automáticos indesejados no sistema
Oi Visal,
Por que está criando rascunhos automáticos?
Você resolveu este problema?
Atenciosamente
Obrigado
Olá Kevin. Estou criando um plugin de funções personalizadas onde adicionei este trecho e parece funcionar bem até que eu vá excluir um rascunho/postagem. Não consigo excluir, pois ele apenas me dá a mensagem “Você deve selecionar uma Imagem Destacada. Sua Postagem é salva, mas não pode ser publicada.” Tenho que remover o código para conseguir excluir uma postagem.
Coloquei o código da função (wpds_check_thumbnail) dentro de:
if ( ‘trash’ != get_post_status( $post_id ) ) { //Código aqui }
Ótimo! Isso é bastante útil para mim no momento. Isso é ajustável para funcionar apenas em um determinado tipo de postagem ou categoria?