Função como in_category para taxonomias customizadas

2

Estou tentando exibir um conteúdo diferente, dependendo da taxonomia que foi selecionada. Por exemplo, eu tenho uma taxonomia chamada Type. Dentro dessa taxonomia eu tenho vários filhos diferentes, um deles é "Fotografia". Eu gostaria que o single de "Fotografia" tivesse largura total em vez de ter uma barra lateral. Você pode fazer isso em Posts regulares usando "if in_category ('photography')", mas eu passei as últimas duas horas tentando manipular the_terms e afins para funcionar como tal.

Agradecemos antecipadamente pela ajuda.

-Pete

    
por pete_schuster 18.02.2011 / 16:15

2 respostas

3

Tente

function has_type( $type, $_post = null ) {
    if ( empty( $type) )
        return false;

    if ( $_post )
        $_post = get_post( $_post );
    else
        $_post =& $GLOBALS['post'];

    if ( !$_post )
        return false;

    $r = is_object_in_term( $_post->ID, 'type', $type);

    if ( is_wp_error( $r ) )
        return false;

    return $r;
}

Uso:

<?php if ( has_type( 'Photography' ) ) /* do your thing*/ ?>

Espero que isso ajude.

    
por Bainternet 18.02.2011 / 16:26
6

No WP 3.1, você tem a útil função has_term (), encontrada em wp-includes / category-template.php.

    
por scribu 18.02.2011 / 17:51