Excluir posts na função query_posts do WordPress


Postado em 23 de janeiro de 2012 por | Categorias: Posts | Tags: | Sem comentários » | Comentar


Para excluir o post aberto da página atual de uma lista na mesma tela, use o comando abaixo:

<?php $id_post = get_the_ID(); ?>
<?php query_posts( array( 'post_type' => 'procedimento',  'orderby' => 'date', 'order' => 'DESC', 'showposts' => 3, 'post__not_in' => array($id_post)) );?>

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

O comando ‘post__not_in’ => array($id_post) pode ser usado com um array de posts para serem excluídos da página.


Pegar somente a imagem em destaque de um post


Postado em 22 de outubro de 2010 por | Categorias: Posts | Sem comentários » | Comentar


Para montar uma sequência de banners que aparecem aleatóriamente na página:

<?
$args = array(
'numberposts' =>1,
'category'=>12,
'orderby'=>'rand'
);

$posts_blog = get_posts($args);
foreach($posts_blog as $blogp)
{
   echo get_the_post_thumbnail($blogp->ID, 'imagem_banner_capa');
}
?>

Outra forma de montar uma sequência de banners usando o Loop do WordPress:

<?php query_posts("cat=12&howposts=1&orderby=rand"); ?>
<?php if (have_posts()) : the_post(); ?>

<?php if ( has_post_thumbnail() ) { ?>
<!--IMAGEM DO BANNER ROTATIVO-->
<div id="banner_imagem"><a href="#"><? the_post_thumbnail( 'imagem_banner_capa' ); ?></a></div>
<?php } ?>

<?php endif; ?>

Função get_posts
http://codex.wordpress.org/Template_Tags/get_posts

Função get_the_post_thumbnail
http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail


Botão próximo e anterior no WordPress


Postado em 15 de outubro de 2010 por | Categorias: Posts | Tags: , | 1 Comentário » | Comentar


Para adicionar um botão exibindo o título do post próximo e anterior use o exemplo dentro do loop de posts no WordPress, usando dentro do arquivo single.php:

<div>
 <div><?php previous_post('%', 'Anterior: ', 'yes', 'yes'); ?></div>
 <div><?php next_post('%', 'Próximo: ', 'yes', 'yes'); ?></div>
</div>

Para adicionar um botão próximo e anterior de navegação nas páginas.  Use dentro do arquivo archive.php:

<div>
 <div><?php next_posts_link('&laquo; Projetos mais antigos') ?></div>
 <div><?php previous_posts_link('Projetos mais novos &raquo;') ?></div>
</div>

Referências:

next_post():
http://codex.wordpress.org/Function_Reference/next_post

pst_nav_links():
http://codex.wordpress.org/Next_and_Previous_Links

get_next_post():
http://codex.wordpress.org/Function_Reference/get_next_post


Montar duas listas de post em uma página


Postado em 14 de outubro de 2010 por | Categorias: Loop no Wordpress, Posts | Sem comentários » | Comentar


Uma situação que pode acontecer é precisar montar dois loops em um certo arquivo, por exemplo na página principal de um tema.  Sendo que o primeiro loop vai listar o titúlo e o resumo do último post do Blog de uma certa categoria, já o segundo loop vai listar os títulos dos 5 últimos posts de todas as categorias excluindo o post que já foi listado no primeiro loop.

No primeiro loop vamos armazenar o ID do post. No segundo loop vamos verificar se o ID dos posts listados são diferentes do ID do post do primeiro loop.

1º Loop:

<?php query_posts("category_name=Projetos&showposts=1&orderby=date"); ?>

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

// Pega o ID do post
$postid = get_the_ID(); ?>

<h4><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title() ?></a></h4>

 <?php the_excerpt(); ?>

 <a href="<?php the_permalink() ?>">Veja mais</a>

<?php endwhile; endif; ?>

2º Loop – lista últimos 5 posts ordenados por data de duas categorias, 3 e 5. Excluindo o post exibido no primeiro loop:

<ul>
 <?
$args = array(
 'numberposts' => 5,
 // Pega o ID das categorias Novidades e Projetos
 'cat'=>'3,5',
 'orderby'=>'date'
 );

 $posts_blog = get_posts($args);
 foreach($posts_blog as $blogp){

// verifica se o ID do post corrente é diferente do ID do post do primeiro loop
if ($postid != $blogp->ID){
 ?>
 <li id="lista_home"><h5><a href="<?php echo get_settings('home'); ?>/<?=$blogp->post_name;?>"><?=$blogp->post_title;?></a></h5>
 <a href="<?php echo get_settings('home'); ?>/<?=$blogp->post_name;?>" style="font-size:9px;">Veja mais</a>
 </li>
 <?
 }
 }
 ?>
 </ul>

Função que gera uma lista de últimos posts


Postado em 14 de outubro de 2010 por | Categorias: Loop no Wordpress, Posts | Tags: | Sem comentários » | Comentar


Função é útil para exibir o conteúdo, resumo, campos personalizados. Coloque a seguinte função em functions.php do seu tema do WordPress:

function recent_posts($no_posts = 10, $excerpts = true) {

 global $wpdb;

 $request = "SELECT ID, post_title, post_excerpt FROM $wpdb->posts WHERE post_status = 'publish' AND post_type='post' ORDER BY post_date DESC LIMIT $no_posts";

 $posts = $wpdb->get_results($request);

 if($posts) {

 foreach ($posts as $posts) {
 $post_title = stripslashes($posts->post_title);
 $permalink = get_permalink($posts->ID);

 $output .= '<li><h2><a href="' . $permalink . '" rel="bookmark" title="Permanent Link: ' . htmlspecialchars($post_title, ENT_COMPAT) . '">' . htmlspecialchars($post_title) . '</a></h2>';

 if($excerpts) {
 $output.= '<br />' . stripslashes($posts->post_excerpt);
 }

 $output .= '</li>';
 }

 } else {
 $output .= '<li>No posts found</li>';
 }

 echo $output;
}

Para chamar a função insira o código abaixo em algum arquivo do tema:

<?php  recent_posts(); ?>

Ativar plug-in AddToAny: Share/Bookmark/Email Button


Postado em 6 de outubro de 2010 por | Categorias: Posts | Tags: , , | Sem comentários » | Comentar


Veja como chamar dentro da programação do post o plug-in de compartilhamento de informações AddToAny: Share/Bookmark/Email Button. Insira o código abaixo no local onde deseja que apareça o botão de compartilhar:

<!--SHARE BOOKMARK-->
 <?php  if( function_exists('ADDTOANY_SHARE_SAVE_KIT') ) { ADDTOANY_SHARE_SAVE_KIT(); } ?>

Campos personalizados no wordpress (custom fields)


Postado em 30 de setembro de 2010 por | Categorias: Posts | Tags: , , | 2 Comentários » | Comentar


Os campos personalizados funcionam através dos campos nome e valor, encontrados logo abaixo do campo resumo dentro da tela de publicação de post do WordPress. Você pode adicionar varios campos personalizados dentro de um post, servem para guardar url de imagens, textos adicionais, etc… Para esses campos funcionarem você tem que chamar todos no loop do seu código.

Para chamar os campos personalizados na página do psot, usamos: get_post_meta($post_id, $key, $single);

Os parâmetros desta entrada são os seguintes:

$post_id
Este é o ID do artigo que guarda a informação contida na meta-data.
A maioria das vezes é chamado pela função $post->ID.

$key
A Key é a chave que contem o nome do campo meta value.

$single
Este campo pode tanto ser falso como verdadeiro (true/false).
Se for verdadeiro, irá resultar na chamada de um único resultado em forma de string.
Se for falso ou não for específicado, a função irá retornar uma array do campo personalizado. Este passo é importante se fizer uso de diferentes $keys com o mesmo nome.

Imaginemos a situação em que temos um campo chave com o título “Imagem” e onde o valor é o endereço dessa mesma imagem. Para apresentarmos essa mesma imagem, utilizariamos o seguinte código:

<?php $imagem = get_post_meta($post->ID, ‘Imagem’, true); ?>
<img src=”<?php echo $imagem; ?>” alt=”" />

Código para testar se existe o campo personalizado image:

<!-- DISPLAYS THE IMAGE URL SPECIFIED IN THE CUSTOM FIELD -->
 <?php if ( get_post_meta($post->ID,'image', true) ) { ?>

 <img src="<?php echo get_post_meta($post->ID, "image", $image = true); ?>" alt="<?php the_title(); ?>" style="top: <?php echo get_post_meta($post->ID, "top", $image = true); ?>px !important; left: <?php echo get_post_meta($post->ID, "left", $image = true); ?>px !important; margin-bottom:10px; margin-top:10px;" />

 <?php } ?>
 <!-- END DISPLAYS THE IMAGE URL SPECIFIED IN THE CUSTOM FIELD -->

Exibir nome e sobrenome do autor no post


Postado em 8 de setembro de 2010 por | Categorias: Exibir Informações, Posts | Tags: , , | 1 Comentário » | Comentar


No WordPress usamos o exemplo abaixo para exibir o nicknema do autor do post:

<p>Postado em <?php the_time('j \d\e F \d\e Y') ?>, por <?php the_author_nickname(); ?>.</p>

Para exibir o nome e o sobrenome do autor use:

<p>Postado em <?php the_time('j \d\e F \d\e Y') ?>, por <?php the_author_firstname(); ?>&nbsp;<?php the_author_lastname(); ?></p>

Aprenda a criar uma página com informações do Autor em: http://www.tudoparawordpress.com.br/dicas-wordpress/como-mostrar-o-perfil-do-autor-no-post-e-configurar-o-arquivo-author-php/


Condicional is_single(), saber se é um post no WordPress


Postado em 7 de setembro de 2010 por | Categorias: Posts | Tags: | Sem comentários » | Comentar


O comando is_single() verifica se estou lendo o arquivo single.php e exibindo um post. O comando retorna true ou false. Exemplos abaixo. Verifica se o comando retorna verdadeiro:

<php if (is_single()) { echo "Este é um post single"; } ?>



Verifica se o cmomando retorna falso:

<?php if(!(is_single())) { echo "Não é um post single"; } ?>

Verificar se é página ou post no WordPress


Postado em 31 de agosto de 2010 por | Categorias: Páginas, Posts | Tags: , | Sem comentários » | Comentar


Para verificar se estou em uma página ou em um post use os comandos:  is_page() e is_single(). O eExemplo abaixo verifica se estamos exibindo um post ou uma página:

<? if (is_single() || is_page()) { ?>
<a href="<?=get_option('home'); ?>/categoria/depoimentos"><h3>Depoimentos</h3></a>
<? } ?>

Saiba mais sobre tags codicionais do WordPress


Montar uma lista de tags no WordPress


Postado em 27 de agosto de 2010 por | Categorias: Posts, Tags | Tags: , | Sem comentários » | Comentar


Para montar lista de Tags no WordPress, use:

$tags = get_tags();
$html = '<div>';
foreach (get_tags() as $tag){
	$tag_link = get_tag_link($tag->term_id);

	$html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
	$html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;

Veja mais no site:  http://codex.wordpress.org/Function_Reference/get_tags

Exibir nuvens de tags:

<?php wp_tag_cloud(); ?>

Veja mais:  http://codex.wordpress.org/Template_Tags/wp_tag_cloud


Lista de posts com resumo com limite de caracteres no WordPress


Postado em 6 de agosto de 2010 por | Categorias: Posts | Tags: , , | 1 Comentário » | Comentar


A função the_excerpt() do WordPress retorna o conteúdo do campo Resumo do post ou se o campo resumo estiver vazio retorna um certo número de caracteres do corpo do texto.

Abaixo segue uma função que facilitará que você controle vários limites de caracteres no seu template.

Insira o código abaixo no arquivo functions.php do seu tema:

function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'(...)';

} else {

$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}
?>

Agora para usar a função no seu tema insira o código abaixo onde você quiser limitar com um número específico de caracteres o resumo do post.

<?php echo excerpt(50); ?>

Créditos Mateus Neves

Abaixo um exemplo prático que pega os 3 últimos posts da categoria novidades colocando o resumo com 30 caracteres:

<?php query_posts('category_name=Novidades&howposts=3&orderby=date'); ?>

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

<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<div id="box_direita_destaques"> <? echo excerpt(30); ?> </div>
<br /><a href="<?php the_permalink(); ?>Leia mais</a><br />

<br /><br /><br /><?php endwhile; endif; ?>

Para limitar a quantidade de caracteres do post que será mostrado na tela use o comando the_content_limit() dentro do loop do WordPress. O número será a quantidade de caracteres do post que será mostrado na tela :

<?php the_content_limit(190); ?>

Limitar quantidade de caracteres no título do post:

<?php
$limit = 45;
$summary = get_the_title();</pre>
if (strlen($summary) > $limit)
$summary = substr($summary, 0, strrpos(substr($summary, 0, $limit), ' ')) . '...';
?>

Exibindo informações dentro do loop


Postado em 4 de agosto de 2010 por | Categorias: Posts | Tags: , , | Sem comentários » | Comentar


Para criar um link dentro do loop do WordPress ( f (have_posts()) : while (have_posts()) : the_post(); ) use a variável $post seguida do parametro, abaixo um exemplo de como montar um link com o nome do post:

<h6><a href=/<? echo $post->post_name; ?>”><?php the_title(); ?></a></h6>


Exibir vários atributos do post


Postado em 4 de agosto de 2010 por | Categorias: Posts | Tags: , | Sem comentários » | Comentar


Usando o metodo var_dump() para saber vários atributos do post:

<?
global $post;
var_dump($post);
?>


Exibir Hora de publicação do Post


Postado em 2 de agosto de 2010 por | Categorias: Posts | Tags: , , | 1 Comentário » | Comentar


Para exibir a hora de publicação é usado o mesmo comando de data the_time().

<?php the_time(‘g:i a’) ?>

Legenda para exibir as Horas:

a – Mostra am/pm em letras minúsculas
A – Mostra AM/PM em letras maiúsculas
g – Formato 12 horas sem zeros
G – Formato 24 horas sem zeros
h – Formato 12 horas com zeros
H – Formato 24 horas com zeros
i – Minutos com zeros
s – Segundos com zeros

Alguns exemplos de hora:

g:i a – resulta em: 8:30 am
h:i a – resulta em: 08:30 am
g-i A –  resulta em: 8-30 AM


Categorias

Links

Tags

Autor do post bloginfo() Caminho do tema Campos Personalizados Categorias Codificação UTF8 Contac form 7 CSS Custom fields Custom Post Types data Dividir string explode() Formatação de datas Formatação de Hora get_ get_option() get_page_template() get_the_terms get_the_title() Hora IMG is_single() Janelas Links Lista de Categorias Lista de Posts Lista de ùltimos posts location.href Paginação Post_name Query_posts register_sidebar Sidebar the_author_nickname() the_category() the_tags() the_time() Titulo da página UFT8_encode UTF8 UTF8_decode Widgets wp_list_categories() âncoras

Copyright © 2017  |   W-Pedia – Wikipedia Wordpress BR  |  produzido por Henderson C. Torres