Back-End

2 mai, 2011

10 truques e dicas para listar artigos no WordPress

Publicidade

Vamos continuar com a série de artigos com truques e dicas que facilitarão ainda mais o seu trabalho com o WordPress.

1. Mostrar artigos aleatórios

Com este truque, você poderá mostrar uma listagem de artigos aleatórios em seu site. É, sem dúvida, um truque essencial para que suas postagens mais antigas sejam esquecidas. Copie e cole o seguinte código no local onde deseja apresentar essas postagens aleatórias:

<ul><li><h2>Artigos Aleatórios</h2>
<ul>
<?php
$rand_posts = get_posts('numberposts=5&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;orderby=rand');
 
foreach( $rand_posts as $post ) :
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
</li></ul>

2. Mostar artigo mais popular de uma categoria

Talvez você tenha a necessidade de mostrar apenas as postagens mais populares de uma determinada categoria. Copie e cole o código onde bem desejar:

<?php
$args=array(
'cat' => 3,
'orderby' => 'comment_count',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 6,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
 
if( $my_query->have_posts() ) { ?>
<ul>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php  endwhile; ?>
</ul>
<?php } wp_reset_query(); ?>

Lembre-se de alterar esta categoria para o ID da categoria que deseja:

'cat' => 3,

E utilize esta linha para definir quantos artigos pretende mostrar:

'posts_per_page' => 6,

3. Lista de artigos a publicar

Pretende deixar os leitores curiosos sobre as postagens futuras? Com este truque, poderá mostrar os títulos das postagens que tem nos rascunhos do seu site. Copie e cole o código onde preferir:

<div id="zukunft">

<div id="zukunft_header"><p>Artigos Futuros</p></div>

<?php query_posts('showposts=10&amp;post_status=future'); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<div >

<p class><b><?php the_title(); ?></b><?php edit_post_link('e',' (',')'); ?><br />

<span><?php the_time('j. F Y'); ?></span></p>

</div>

<?php endwhile; else: ?><p>Nenhum artigo para o futuro.</p><?php endif; ?>

</div>

4. Mostrar artigos relacionados

Com este truque, poderá mostrar uma listagem de artigos relacionados sem necessitar de instalar um Plugin para realizar essa tarefa! Copie e cole o código onde bem desejar:

<?php

$tags = wp_get_post_tags($post->ID);

if ($tags) {

echo 'Related Posts';

$first_tag = $tags[0]->term_id;

$args=array(

'tag__in' => array($first_tag),

'post__not_in' => array($post->ID),

'showposts'=>1,

'caller_get_posts'=>1

);

$my_query = new WP_Query($args);

if( $my_query->have_posts() ) {

while ($my_query->have_posts()) : $my_query->the_post(); ?>

<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>

<?php

endwhile; wp_reset();

}

}

?>

5. Artigos populares por comentários

É muito interessante você conseguir listar os artigos mais populares do seu site, baseados no número de comentários que estes receberam. Para o fazer, copie e cole o seguinte código onde bem desejar:

<h2>Artigos Populares</h2>

<ul>

<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10");

foreach ($result as $post) {

setup_postdata($post);

$postid = $post->ID;

$title = $post->post_title;

$commentcount = $post->comment_count;

if ($commentcount != 0) { ?>

<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">

<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>

<?php } } ?>

</ul>

6. Mostrar últimos artigos

Mostre os seus últimos artigos publicados, facilmente, utilizando o seguinte truque. Copie e cole o código para onde preferir:

<?php query_posts('showposts=5'); ?>

<ul>

<?php while (have_posts()) : the_post(); ?>

<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>

<?php endwhile;?>

</ul>

7. Estiliação customizada de página

Os Page templates são extremamente interessantes para diferenciar diferentes tipos de páginas (Custom Page Templates). Para estilizar as suas páginas, utilize o seguinte código. Copie o código para dentro de um novo arquivoo PHP e carregue-o para o seu servidor de hospedagem. Você poderá utilizar esta estilização, indo no menu “criar nova página” e clicando do lado direito no menu dropdown de templates de página.

/* Template name: Custom Page Name */

/* Describe the custom page here! */

get_header();

# The loop n' all! #

the_sidebar();

get_footer();

8. Criar custom post types

Este é provavelmente o truque favorito dos utilizadores de WordPress. Se quiser saber mais sobre este truque, leia: Como criar Custom Post Types.

$args = array(

'label' => __('Products'),

'singular_label' => __('Product'),

'public' => true,

'show_ui' => true,

'capability_type' => 'page',

'hierarchical' => false,

'rewrite' => true,

'query_var' => 'products',

'supports' => array('title', 'thumbnail')

);

register_post_type( 'product' , $args );

9. RSS FEED diferente para cada custom post type

Este truque pode parecer bastante complicado de por em prática, mas na verdade é extremamente simples. A única coisa que necessita fazer é anexar o custom post type à URL:

http://www.seublog.com/feed/?post_type=livros

Se desejar, poderá ainda adicionar uma taxonomia customizada a ele:

http://www.seublog.com/feed/?post_type=livros&amp;genre=romance

10. Editor de estilos para custom post types

Pretende utilizar diferentes folhas de estilo para cada um dos seus custom post types? Basta utilizar o seguinte truque. Tenha a certeza de que insere os seus nomes de custom post type e também os nomes das suas folhas de estilo CSS.

function my_editor_style() {

global $current_screen;

switch ($current_screen->post_type) {

case 'post':

add_editor_style('editor-style-post.css');

break;

case 'page':

add_editor_style('editor-style-page.css');

break;

case 'portfolio':

add_editor_style('editor-style-portfolio.css');

break;

}

}

add_action( 'admin_head', 'my_editor_style' );

Até a próxima!