Como solicitar imagem destacada como obrigatória?

Muitos temas de WordPress, sobretudo páginas iniciais e de arquivos/categorias, são altamente dependentes de imagens destacadas para apresentarem uma interface atrativa. Se você tem um tema assim, ou desenvolveu para um cliente que é assim, então você não pode permitir que sua postagem ou a de seu cliente fiquem sem imagem destacada, ou com uma imagem dizendo ‘Sem imagem destacada’.

Tenho um site assim, o GugaAlves.net, um blog pessoal que tem tais características, e cansei de esquecer de colocar uma imagem destacada e só notar depois. Por este motivo, trago uma solução para tal problema 🙂

Passo 1 – Criando a função

Adicione o script abaixo em seu arquivo functions.php

add_action( 'pre_post_update', 'request_featured_post' );

function request_featured_post($post_ID) {
$post = get_post($post_ID);
$request_publish_test = isset($_REQUEST['publish']);
$request_under_status_test = isset($_REQUEST['_status']) && $_REQUEST['_status'] == 'publish';
if ( $post->post_type == 'post'
  &&( $request_publish_test || $request_under_status_test )
  && !has_post_thumbnail($post_ID) ) {
  wp_die( 'Você não pode publicar um post sem imagem destacada!' );
  }
}

add_action( 'admin_enqueue_scripts', 'rfi_admin_js' );
function rfi_admin_js($hook) {
if( $hook != 'post.php' && $hook != 'post-new.php' )
return;
wp_register_script( 'rfi-admin-js', get_template_directory_uri().'/js/publish_featured_post.js''), array('jquery'));
wp_enqueue_script( 'rfi-admin-js' );
}

Passo 2 – Criando o arquivo javascript

Crie um arquivo chamado publish_featured_post.js e salve na pasta js em seu tema, com o conteúdo abaixo (se não tiver tal pasta, pode criar sem problemas).

jQuery(document).ready(function($) {

    if ($('body').find("#nofeature-message").length===0) {
		$('h2').after('<div id="nofeature-message"></div>');
    }

	if ($('body').find("#categorydiv").length===1) {
		setInterval(detectWarnFeaturedImage, 5000);
		detectWarnFeaturedImage();
	}

    function detectWarnFeaturedImage() {
		if( $('#postimagediv').find('img').length===0 ) {
			$('#nofeature-message').addClass("error").html('<p><strong>Este post está sem nenhuma imagem destacada.</strong> Por favor, adicione uma para poder publicar seu post.</p>');
			$('#publish').attr('disabled','disabled');
		} else {
			$('#nofeature-message').remove();
			$('#publish').removeAttr('disabled');
		}
	}

});

Posts Similares

  • Como exibir o número total de comentários em seu blog WordPress?

    Se você tem um site e compartilha conteúdo relevante para pessoas de seu nicho, receber comentários é uma das melhores formas de medir a popularidade de seu site quanto a qualidade das matérias publicadas. Se o seu blog tem muitos comentários, pode ser dizer que o seu blogs é popular, pelo menos as pessoas gostam…

  • Otimizando seu blog WordPress para os buscadores

    Os buscadores atualmente dispõe de meios para encontrar e classificar quase tudo que há na rede, mas se você contar apenas com isso, vai aproveitar bem pouco desse enorme tráfego gerado a partir de buscas dos internautas. Mas o que se pode fazer para melhorar a colocação de seu blog nas buscas? Bem, há algumas…

  • Como colocar expiração automatica de artigos no seu blog

    Uma vez que o WordPress não inclui por defeito uma função que permita ao editor definir quanto tempo um determinado artigo deverá ficar online, muitos editores sentem dificuldades em automatizar o periodo de expiração de artigos, tendo geralmente de recorrer a métodos manuais. Eis no entanto uma forma muito eficiente e engraçada de colocar expiração…

  • Veja todas as novas funções do WordPress 3.7

    A cada nova versão do WordPress, novas funções interessantes vão surgindo. Vamos ver TODAS as novas funções do WordPress? A explicação de cada uma está em inglês, mas aos poucos vamos traduzindo para vocês 😉 find_core_auto_updates Gets the best available (and enabled) Auto-Update for WordPress Core. If there’s 1.2.3 and 1.3 on offer, it’ll choose…

  • O WordPress é seguro mesmo?

    O WordPress é seguro mesmo?

    Utilizando o WordPress desde 2007 e participando de muitos eventos, grupos em redes sociais, fóruns e afins, algumas perguntas acabam se tornando bem repetitivas para mim, e o assunto deste post é uma delas. Nada contra a pergunta, quem utiliza o WordPress a pouco tempo ou ainda não conhece o sistema sempre vai se fazer esta…

  • Taxonomias personalizadas no WordPress: Como utilizar?

    Em geral,  taxonomias (do grego tassein = “para classificar” ) são utilizadas para classificar e organizar coisas referentes a um mesmo grupo. Por padrão, taxonomias no WordPress são tags e categorias que o WordPress está usando para os posts. Além destes dois, o WordPress permite que desenvolvedores criem suas próprias taxonomias ao desenvolver um tema, utilizando funções para…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 Comentários

  1. Olá, muito obrigado pela sua dica. Funcionou perfeitamente no meu thema, sou iniciante em wordpress e estou aprendendo muito com auxilio do seu site.

    Grata, Loola.