← WordPress

Apresentar artigos de uma certa categoria no wordpress

Lida 2376 vezes

Offline

HilarYo 
Membro
Mensagens 188 Gostos 2
Troféus totais: 20
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Boas tardes
é possivel apresentar apenas artigos das categorias que desejarmos?

tenho o seguinte código:
Código: (php) [Seleccione]
<?php
/*
Template Name: Artistas Style
*/
?>


<?php
get_header
();
?>



<div id="content">

<div class="title-head"><h1>
<?php
$prefix 
false;
if (
function_exists('is_tag') && is_tag()) {
    
$prefix true;
} elseif (
is_archive()) {
    
wp_title(' ');
} elseif (
is_page()) {
    
the_title();
}
?>

</h1></div>

<?php
$page_layout 
sidebar_layout();
switch (
$page_layout) {
    case 
"layout-sidebar-left":
        echo 
'
<div class="sidebar-left">'
;
        
wz_setSection('zone-sidebar');
        if (!
function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-page'));
        echo 
'
</div><!-- end .sidebar-left -->'
;
        break;
    case 
"layout-sidebar-right":
        echo 
'
<div class="sidebar-right">'
;
        
wz_setSection('zone-sidebar');
        if (!
function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-page'));
        echo 
'
</div><!-- end .sidebar-right -->'
;
        break;
    case 
"layout-full":
        echo 
'
<div class="sidebar-right">'
;
        
wz_setSection('zone-sidebar');
        if (!
function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-page'));
        echo 
'
</div><!-- end .sidebar-right -->'
;
        break;
}
?>


<div class="fixed"> 
  <div class="col-blog-archive">
<?php
$query    
= array(
    
'post_type' => 'post',
    
'paged' => $paged
);
$wp_query = new WP_Query($query);
if (
have_posts())
    while (
$wp_query->have_posts()):
        
the_post();
        
$image_id get_post_thumbnail_id($post->ID);
        
$cover_blog  wp_get_attachment_image_src($image_id'blog-home');
        echo 
'
    <div class="blog-archive">'
;
        if (
$image_id) {
        echo 
'
        <div class="blog-home-cover">
          <a href="' 
get_permalink() . '">
            <img src="' 
$cover_blog[0] . '" alt="' get_the_title() . '" />
          </a>
        </div><!-- end .blog-home-cover --> '
;
        }
        echo 
'
        <h2 class="event-arc-title"><a href="' 
get_permalink() . '">' get_the_title() . '</a></h2>
        <div class="blog-home-info">
          <p class="blog-user">' 
get_the_author() . '</p> 
          <p class="blog-date">' 
get_the_time('F jS, Y') . '</p> 
          <p class="blog-comment"><a href="' 
get_comments_link() . '">' get_comments_number() . ' ' __('Comments''clubber') . '</a></p> 
        </div><!-- end .blog-home-info -->
        <p>' 
the_excerpt_max(200) . '...</p>
        <div class="blog-arc-more2"><a href="' 
get_permalink() . '" rel="bookmark">Read more</a></div>';
        echo 
'
    </div><!-- end .blog-archive -->'
;
    endwhile;
?>


    <div class="pagination-pos">
            <?php
if (function_exists("pagination")) {
    
pagination();
}
?>

    </div><!-- end .pagination-pos -->
  </div><!-- end .col-blog-archive -->   
</div><!-- end .fixed -->
</div><!-- end #content -->

<?php
get_footer
();
?>

Como posso por exemplo apresentar apenas os artigos da categoria 20?

Obrigado,
Cumps
Offline

myStoned 
Membro
Mensagens 663 Gostos 8
Feedback +2

Troféus totais: 29
Trófeus: (Ver todos)
Level 5 Tenth year Anniversary Nineth year Anniversary Mobile User Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter

Na homepage do blog? ou simplesmente enviar o link de apenas a categoria X a alguém?

Cumprimentos.
Offline

tartofs 
Membro
Mensagens 205 Gostos 0
Troféus totais: 26
Trófeus: (Ver todos)
Windows User Linux User Mobile User Level 5 Super Combination Combination Topic Starter Level 4 Level 3 Level 2

Como colocar só uma não sei.

Mas podes utilizar este código no functions.php para remover as que queres:

Código: [Seleccione]
function exclude_category($query) {
if ( $query->is_home ) {
$query->set('cat', '-XX');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

Onde está -XX, acrescentas as categorias que quiseres remover.
Offline

HilarYo 
Membro
Mensagens 188 Gostos 2
Troféus totais: 20
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

é o seguinte criei um modelo de página para apresentar todos os artigos de uma categoria x, é possivél? o código da estrutura da página é o que está em cima, o template que estou a utilizar é: http://themeforest.net/item/clubber-events-music-wordpress-theme/3427687
Offline

Rogério Moreira 
Editor
Mensagens 1313 Gostos 11
Feedback +15

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Nineth year Anniversary Eighth year Anniversary Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter

Usa estes dois plugins:

Page Posts
Ultimate Category Excluder

E resolves isso.
Offline

HilarYo 
Membro
Mensagens 188 Gostos 2
Troféus totais: 20
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Não consigo, só consigo a parte de exclusão na pagina principal... Não ha forma de por no código que referi acima?

Offline

cgoncalves 
Membro
Mensagens 789 Gostos 0
Feedback +12

Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Não consigo, só consigo a parte de exclusão na pagina principal... Não ha forma de por no código que referi acima?

Claro que sim.
Na linha 61 adiciona à frente: 'cat' => ID da categoria, exemplo adicionar: 'cat' => 4,
Offline

HilarYo 
Membro
Mensagens 188 Gostos 2
Troféus totais: 20
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Funcionou na perfeição muito obrigado :D