Verificando se existem posts em uma Taxonomia Personalizada
Hoje não existe uma função nativa do WordPress que verifique um post em uma determinada taxonomia personalizada. Mas achei um código que adaptei à minha atual necessidade.
Durante a construção de um projeto, esbarramos em diversos problemas e possibilidades. Hoje não existe uma função nativa do WordPress que verifique um post em uma determinada taxonomia personalizada. Pesquisando um pouco, achei um código que adaptei a minha atual necessidade. E essa compartilho com vocês.
No seu arquivo functions.php insira o código abaixo.
[php]
function WP_custom_in_taxonomy($tax, $term, $_post = NULL) {
if ( !$tax || !$term ) { return FALSE; }
if ( $_post ) {
$_post = get_post( $_post );
} else {
$_post =& $GLOBALS[‘post’];
}
if ( !$_post ) { return FALSE; }
$return = is_object_in_term( $_post->ID, $tax, $term );
if ( is_wp_error( $return ) ) { return FALSE; }
return $return;
}
[/php]
Para usar, basta colocar o código abaixo, colocando o nome do seu Custom Post Types e da sua taxonomia.
Exemplo: Vamos supor que temos um Custom Post Types chamado Locais e uma Taxonomia com nome de Bares. Nesse caso usaríamos o código abaixo.
[php] if (WP_custom_in_taxonomy(‘locais’, ‘bares’)) {
echo "Sim, temos bares cadastrados";
} else {
echo "Desculpe, não temos bares cadastrados";
} [/php]
Lembrando que caso queira várias taxonomias, basta passar um array.
Exemplo: Bares, Restaurantes, Hotéis
[php]
if (WP_custom_in_taxonomy(‘locais’, array(‘bares’, ‘restaurantes’, ‘hoteis’))) {} [/php]
ou
[php] if (WP_custom_in_taxonomy(‘locais’, array(1, 2, 3)) {} [/php]
Dessa forma basta personalizar a seu gosto
Espero que tenha ajudado.
Salaam Aleikum







