Suporte » Temas » Single.php diferentes

  • Resolvido vjuniorafonso

    (@vjuniorafonso)


    Olá pessoal!

    Como eu faço páginas de posts diferentes? Por exemplo.. posts de determinadas categorias eu quero singles.php personalizados etc..

    Obrigado e abraço!

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Acho que tens que usar conditional tags na sua single.php. Dependendo da categoria, vc carrega o código correspondente com includes (chama os arquivos para cada categoria – tipo “single-cinema.php”, “single-musica.php”, etc.).

    http://codex.wordpress.org/Conditional_Tags

    Tenho um tema aqui que possui o seguinte no category.php

    <?php
    if (in_category('blog')) {include (TEMPLATEPATH . '/category_blog.php');
    }
    else if (in_category('gallery')) {include (TEMPLATEPATH . '/category_image.php');
    }
    
    else if (in_category('media')) {include (TEMPLATEPATH . '/category_media.php');
    }
    
    else if (in_category('folio')) {include (TEMPLATEPATH . '/category_portfolio.php');
    }
    
    else if (in_category('archive')) {include (TEMPLATEPATH . '/category_list.php');
    }
    
    else { include (TEMPLATEPATH . '/category_standard.php');
    }
    ?>

    Deve dar uma luz..

    Seria mais ou menos assim mesmo, só que no single.php.

    Moderador Leo Baiano

    (@leobaiano)

    Single diferente de acordo com a categoria:

    <?php
    // Chamo a variavel global que me trás as informações do post acessado
    global $post;
    
    // Aqui eu pego o array com os dados da categoria do post
    $categoria_arr = get_the_category($post->ID);
    
    // Aqui eu pego o slug da primeira categoria do post
    $categoria = $categoria_arr[0]->slug;
    
    // inicio o swit que vai verificar a categoria e incluir o arquivo com leyout correspondente
    switch ($categoria) {
    	case 'x':
    		include_once TEMPLATEPATH . '/category-x.php';
    	break;
    	case 'y':
    		include_once TEMPLATEPATH . '/category-y.php';
    	break;
    	case 'z':
    		include_once TEMPLATEPATH . '/category-z.php';
    	break;
    
    	// Se naõ for nenhuma das categorias com layout pré definido chamo o layout padrão
    	default:
    		include_once TEMPLATEPATH . '/singl.php';
    }
    ?>
Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Single.php diferentes’ está fechado para novas respostas.