Listar Categoria associadas ao post

167 views
Skip to first unread message

Eduardo

unread,
Jan 3, 2011, 8:27:13 AM1/3/11
to WordPress Brasil Lista
Galera Feliz 2011!!!!


Pessoal estou tentando utilizar a tag <?php
wp_get_post_categories( $post_id, $args ) ?> porém sem sucesso. A
página que estou inserindo a tag é a category.php dentro do looping de
posts.

Será que estou fazendo algo de errado, existe uma outra maneira de
obter os ids das categorias relacionadas ao post exibido. Obrigado.

wpmidia web

unread,
Jan 3, 2011, 8:54:15 AM1/3/11
to wordpres...@googlegroups.com
Poe o código que tu tá usando pra gerar essa lista...
Da uma olhadinha no Codex tb para ter alguma referencia:

Beijokas
Drika


--
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.

Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR

Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/



--
wpmidia
desenvolvimento web
http://wpmidia.com.br
twitter: @wpmidia



Leo Baiano

unread,
Jan 3, 2011, 10:05:47 AM1/3/11
to wordpres...@googlegroups.com
Parceiro, o wp_get_post_categories() retorna o ID das categorias, para exibir o nome da categoria você precisa usar o get_category() que vai retornar um array com os dados da categoria.

Tente fazer assim, dentro do loop.

$categorias = wp_get_post_categores($post_id);
foreach($categorias as $idCategoria){
$categoria = get_category($idCategoria);
echo $categoria->name;
}

O código acima vai imprimir na tela o nome das categorias do post. Se não funcionar, antes desse código dê um echo na variavel $post_id pra ver se o ID do post esta vindo, caso sim da um print_r($categorias), após a primeira linha do código, pra ver se o ID das categorias esta vindo.
Amplexos,

Leo Baiano
http://www.leobaiano.com
http://www.blog.ljunior.com
http://www.mcelebridades.com
http://www.twitter.com/leobaiano

Eduardo

unread,
Jan 3, 2011, 2:57:07 PM1/3/11
to WordPress Brasil Lista
Segue o código com o trecho que o Leo Baiano pediu para inserir na
parte que preciso exibir as categorias. Fiz os testes mas nem o
$post_id vem!

<?php get_header();?>
<link href="style.css" rel="stylesheet" type="text/css">
<body>
<div id="content">
<div id="header">
<?php include (TEMPLATEPATH . '/nav_header.php'); ?>
</div>
<!--fim header-->
<div id="conteudo">
<?php get_sidebar();?>
<div id="entry">
<div class="breadcrumb"><?php echo do_shortcode('[simple_crumbs
root="Home" /]') ?></div>
<?php if (cat_is_ancestor_of(41,$cat)) {?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if (is_sticky()) { ?>
<div id="show-categorias">
<ol id="lista_cat" class="lista_categoria li">
<li class="lista_cat clearfix " id="lista_cat">
<div class="cat">
<div class="categoria_img">
<?php the_post_thumbnail(array(128,128)); ?>
<?php
echo $post_id;
$categorias = wp_get_post_categories($post_id);
foreach($categorias as $idCategoria){
$categoria = get_category($idCategoria);
echo $categoria->name;
}
?>
</div>
<div class="categoria_texto">
<div class="categoria_titulo">
<h2><a href="<?php the_permalink(); ?>"><?php
the_title(); ?></a></h2>
</div>
<p>
<?php the_content(); ?>
</p>
<div class="meta">
<a href="<?php the_permalink()?>">Saiba mais</a></div>
</div>
</div>
</li>
</ol>
</div>
<?php } ?>
<?php endwhile; endif; ?>
<?php } else {?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if (is_sticky()) { ?>
<div id="show-categorias">
<ol id="lista_cat" class="lista_categoria li">
<li class="lista_cat clearfix " id="lista_cat">
<div class="cat">
<div class="categoria_img">
<?php the_post_thumbnail(array(128,128)); ?>
</div>
<div class="categoria_texto">
<div class="categoria_titulo">
<h2><?php the_title(); ?></h2>
</div>
<p>
<?php the_content(); ?>
</p>
<div class="meta">
<form name="form_adquirir" action="<?php
bloginfo('wpurl'); ?>/como-adquirir" method="post">
<input name="produto" type="hidden" value="<?php
the_title(); ?>">
<a href="javascript:document.form_adquirir.submit();">Como
Adquirir </a>
</form>
<?php
$query_original = $wp_query;
$downloads = query_posts(array('category__and' => array($cat,74)));
if ($downloads[0]->ID){?>
<form name="form_download" action="<?php
bloginfo('wpurl'); ?>/cadastro-downloads" method="post">
<input name="produto" type="hidden" value="<?php
the_title(); ?>">
<input name="redir" type="hidden" value="<?php echo
get_permalink($downloads[0]->ID); ?>">
&nbsp;|&nbsp;<a
href="javascript:document.form_download.submit();">Downloads</a>
</form>
<?php } $wp_query = $query_original; ?>
</p>
</div>
</div>
</div>
</li>
<?php } ?>
<?php endwhile; endif; ?>
<?php wp_reset_query()?>
<?php
//ORDENAR POST EM DESCRESCENTE
global $query_string;
query_posts($query_string . "&orderby=ID&order=ASC");
?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if (!is_sticky() && !in_category(74)) { ?>
<li class="lista_cat clearfix " id="lista_cat">
<div class="cat_det">
<div class="categoria_img">
<a href="<?php the_permalink(); ?>"> <?php
the_post_thumbnail(array(128,128)); ?></a>
</div>
<div class="categoria_texto">
<div class="categoria_titulo">
<h2><a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a></h2>
</div>
<p>
<?php the_excerpt(); ?>
<div class="meta"> <a href="<?php the_permalink(); ?
>">Mais detalhes</a> </p> </div>
</div>
</div>

</li>

<?php } ?>
<?php endwhile; endif; ?>

</ol>
</div>

<!--fim show-categorias-->


</div>
<?php } ?>
<!--fim entry-->
</div>
<!--fim conteudo-->
<?php get_footer();?>
</div>
<!--fim content-->
</body>
</html>

Valeu pela força

Eduardo Medeiros!

On Jan 3, 1:05 pm, Leo Baiano <ljunior2...@gmail.com> wrote:
> Parceiro, o wp_get_post_categories() retorna o ID das categorias, para
> exibir o nome da categoria você precisa usar o get_category() que vai
> retornar um array com os dados da categoria.
>
> Tente fazer assim, dentro do loop.
>
> $categorias = wp_get_post_categores($post_id);
> foreach($categorias as $idCategoria){
> $categoria = get_category($idCategoria);
> echo $categoria->name;
>
> }
>
> O código acima vai imprimir na tela o nome das categorias do post. Se não
> funcionar, antes desse código dê um echo na variavel $post_id pra ver se o
> ID do post esta vindo, caso sim da um print_r($categorias), após a primeira
> linha do código, pra ver se o ID das categorias esta vindo.
>
> Em 3 de janeiro de 2011 10:54, wpmidia web <wpmi...@gmail.com> escreveu:
>
>
>
>
>
>
>
>
>
> > Poe o código que tu tá usando pra gerar essa lista...
> > Da uma olhadinha no Codex tb para ter alguma referencia:
> >http://codex.wordpress.org/Function_Reference/wp_get_post_categories
>
> > <http://codex.wordpress.org/Function_Reference/wp_get_post_categories>
> > Beijokas
> > Drika
>
> > Em 3 de janeiro de 2011 11:27, Eduardo <edu...@gmail.com> escreveu:
>
> > Galera Feliz 2011!!!!
>
> >> Pessoal estou tentando utilizar a tag <?php
> >> wp_get_post_categories( $post_id, $args ) ?> porém sem sucesso. A
> >> página que estou inserindo a tag é a category.php dentro do looping de
> >> posts.
>
> >> Será que estou fazendo algo de errado, existe uma outra maneira de
> >> obter os ids das categorias relacionadas ao post exibido. Obrigado.
>
> >> --
> >> Você recebeu esta mensagem por estar inscrito na lista de debates
> >> "WordPress Brasil" através do sistema Google Groups.
>
> >> Para enviar uma mensagem: wordpres...@googlegroups.com
> >> Para cancelar sua inscrição:
> >> wordpress-bras...@googlegroups.com<wordpress-brasil%2Bunsubscrib e...@googlegroups.com>
> > wp*midia*
> > *desenvolvimento web*
> >http://wpmidia.com.br
> > twitter: @wpmidia
>
> >  --
> > Você recebeu esta mensagem por estar inscrito na lista de debates
> > "WordPress Brasil" através do sistema Google Groups.
>
> > Para enviar uma mensagem: wordpres...@googlegroups.com
> > Para cancelar sua inscrição: wordpress-bras...@googlegroups.com<wordpress-brasil%2Bunsubscrib e...@googlegroups.com>

Leo Baiano

unread,
Jan 3, 2011, 3:07:10 PM1/3/11
to wordpres...@googlegroups.com
Eu pensei que você já estava gravando o ID do post na variavel
$post_id... Onde tem o echo $post_id; apaga e coloca o código abaixo:

<?php $post_id = get_the_ID(); ?>

Deve funcionar.

--
Amplexos,

Leo Baiano

Eduardo

unread,
Jan 4, 2011, 8:40:13 AM1/4/11
to WordPress Brasil Lista
Leo Baiano,

era isso mesmo! Muito Obrigado! Problema resolvido!
> > Leo Baianohttp://www.leobaiano.comhttp://www.blog.ljunior.comhttp://www.mcelebr...
Reply all
Reply to author
Forward
0 new messages