Suporte » Desenvolvendo com WordPress » Usando $posttags no Post Types

  • Resolvido Pett4r

    (@pett4r)


    Olá!
    Eu criei um post types para criar uma galeria de vídeos em meu site de notícias. Até então, deu tudo certo. O único problema é que, agora que preciso usar certas funções, não consigo.

    Por exemplo, preciso pegar o slug da tag do post ou o número de posts de uma certa tag ou usar plural e/ou singular em uma frase pela quantidade de posts. Eu sei as funções para tudo que preciso (usando $posttags), mas não funciona. Alguém poderia me ajudar?

    O nome do meu post types é “video”.

    Segue abaixo alguma das funções que citei e que precisaria usar.

    <?php
    $posttags = get_the_tags();
    if ($posttags) {
      foreach($posttags as $tag) {
        echo $tag->slug . '';
      }
    }
    ?>
    <?php
    $posttags = get_the_tags();
    if ($posttags) {
      foreach($posttags as $tag) {
    $total = $tag->count . '' - 1;    echo $total;
      }
    }
    if ( $total == "1" ) {
    	$videoss = " v&iacute;deo";
    } else {
    	$videoss = " v&iacute;deos";
    }
    echo $videoss; ?>

    Desde já, muito obrigado 🙂

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Acho que o problema pode ser na criação do seu post type

    você usou o parâmetro?

    'taxonomies' => array( 'post_tag' ),

    Para usar tags em um post type é necessário adicionar isso no register_post_type

    Criador do tópico Pett4r

    (@pett4r)

    Tinha sim! Tá tudo certo com as tags. Eu cheguei novamente e adicionei o parâmetro novamente e ainda não está dando certo :/

    Criador do tópico Pett4r

    (@pett4r)

    register_taxonomy( 'video_post_tag', array( 'video' ), array(
            'label' => __( 'Artista' ),
            'labels' => array( // Labels customizadas
    	    'name' => _x( 'Artistas', 'taxonomy general name' ),
    	    'singular_name' => _x( 'Artista', 'taxonomy singular name' ),
    	    'search_items' =>  __( 'Procurar Artista' ),
    	    'all_items' => __( 'Todas os Artistas' ),
    	    'edit_item' => __( 'Editar Artista' ),
    	    'update_item' => __( 'Atualizar Artista' ),
    	    'add_new_item' => __( 'Adicionar Novo Artista' ),
    	    'new_item_name' => __( 'Novo nome de Artista' ),
    	    'menu_name' => __( 'Artistas' ),
            'add_or_remove_items' => __( 'Adicionar ou remover Artistas' ),
            'choose_from_most_used' => __( 'Escolha da lista de mais usados' ),
            'taxonomies' => array( 'post_tag' ),
    	),
            'show_ui' => true,
            'show_in_tag_cloud' => true,
            'query_var' => true,
            'rewrite' => array(
                'slug' => 'videos/artistas',
                'with_front' => false,
            ),
            )
        );

    Eu usei isso para registar e nominar as Tags.

    É realmente está correto seu registro, então suponho que você esteja usando seu código fora de um loop.

    get_the_tags() deve ser usado dentro do loop se usar fora não retornará nada.
    http://codex.wordpress.org/Function_Reference/get_the_tags

    Criador do tópico Pett4r

    (@pett4r)

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
    <?php query_posts(array('orderby' => 'title', 'order' => 'ASC', 'post_type' => 'video', 'numberposts' => '21', 'paged' => $paged)); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    
            <?php endwhile; ?>
    
                 <?php endif; ?>

    Eu estou usando dentro do loop. Veja. Mesmo assim, não funciona!

    Dê um var_dump( $tag ) dentro do foreach para ver o que está sendo retornado e veja se count está setado

    Você também pode tentar usar get_the_terms() para ver se funciona.
    http://codex.wordpress.org/Function_Reference/get_the_terms

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Usando $posttags no Post Types’ está fechado para novas respostas.