Suporte » Desenvolvendo com WordPress » dar prioridades para pegar o nome da categoria com get_the_category ?

  • Resolvido ro.santos

    (@rosantos)


    <?php $category = get_the_category(); echo $category[0]->cat_name; ?>
    Com esse codigo ele me retorna o nome da primeira categoria por ordem alfabetica.
    O que quero é colocar uma prioridade.
    ex: NOMEPOST 1 com as categorias “exemplo, exemplo2, exemplo3, filmes”
    no caso ele me retornaria a primeira (exemplo)
    mas queria dar uma prioridade a categoria de filmes e depois jogos e caso o post nao tiver categorizado nem como filmes e nem como jogos, retornar qualquer uma.

    se alguem puder ajudar será extremamente util pra mim! vlw ;))

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Faça questão de deixar o slug como filmes em letra minúscula e cole a função no functions.php

    function isFilme($category) {
    	foreach($category as $slug) {
    		if ($slug->slug == 'filmes') {
    			return true;
    		} else {
    			return false;
    		}
    	}
            return false;
    }

    Usage

    $category = get_the_category();
    if (isFilme($category)) {
    
        //..ToDo
    
    }

    Criador do tópico ro.santos

    (@rosantos)

    Parece otimo! brevemente irei testar..
    Mas e no caso se quiser colocar mais um categoria depois de filmes?

    tipo assim:
    filmes
    se nao tiver mostra essa: exemplo2
    ae caso nao tiver nenhuma das duas, mostra alguma outra categoria do post

    functions.php

    function doActionByCategory($category, $choices) {
    	foreach($choices as $choice) {
    		foreach($category as $slug) {
    			if ($slug->slug == $choice['category']) {
    				return $choice['action'];
    			}
    		}
    	}
    }
    
    //Configure aqui conforme a sua necessidade
    
    $choices = array(
    	array(
    		'category' => 'filmes',
    		'action' => 'Filmes Brasileiros',
    	),
    	array(
    		'category' => 'jogos',
    		'action' => 'Jogos de Inverno',
    	),
    	array(
    		'category' => 'livros',
    		'action' => 'Leitura Exemplar',
    	),
    );

    Usando

    $category = get_the_category();
    echo doActionByCategory($category, $choices); //Muda aqui o echo, para executar o que vc precisa

    Funcionou?

    Amigo, tenho uma questão que acho que seja parecida.

    O meu sidebar esta configurado para aparecer as imagem por data de poste

    [fp_carousel width=”1000″ height=”200″ items=”5″ num=”-1″ speed=”200″ orderby=”date” post_type=”post”]

    , eu gostaria de diser que esse sidebar irá mostra somente os post que estiverem com uma categoria eventos, como fazer?

    No aguardo e Obrigado!

    Marcos, favor criar outro tópico, você também está utilizando um plugin que desconheço…

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘dar prioridades para pegar o nome da categoria com get_the_category ?’ está fechado para novas respostas.