Postado em 28 de junho de 2011 por Henderson | Categorias: CSS | Tags: vertical-align | Sem comentários » | Comentar
Usando a propriedade vertical-align. Use display: table-cell para transformar a DIV em uma celula de tabela. Não use a propriedade float em conjunto com vertical-align.
.area_sidebar {
color: #7F7F7F;
display: table-cell;
vertical-align: middle;
font-family: Arial,Helvetica,sans-serif;
font-weight: bold;
height: 78px;
line-height: 17px;
text-transform: uppercase;
width: 210px;
}
Valores da propriedade vertical-align:
baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit |
Veja mais em: http://www.maujor.com/blog/2006/07/17/propriedade-vertical-align/
Postado em 27 de junho de 2011 por Henderson | Categorias: PHP | Tags: Manipulando strings | Sem comentários » | Comentar
Colocar todo texto de uma string em Maiúscula:
<?php
$stringComMaiusculas = "Uma String Contendo Letras Maiúsculas";
echo(strtoupper($stringComMaiusculas));
?>
Converter todo texto da string em minúscula:
<?php
$stringComMaiusculas = "Uma String Contendo Letras MINÚSCULAS";
echo(strtolower($stringComMaiusculas)."<br>\n");
?>
Para extrair um pedaço de uma string use o substr:
<?php
$stringLonga = "Esta é uma string da qual queremos tirar um pedaço.";
echo(substr($stringLonga, 0, 4));
?>
Dividir uma string em várias partes (explodir):
No código acima o zero significa em qual posição vamos começar a tirar o código e o número quatro a quantidade de caracteres vai ser extraida da string. No código acima a função vai retornar o valor: Esta.
Função para substituir caracteres dentro de uma string str_replace():
<?php
$cep = "31080-310";
echo str_replace("-", "", $cep);
?>
O código acima imprime na tela o número do CEP sem o caractere (-). A função str_replace() localiza o caractere e substitui por um espaço vazio. Já no exemplo abaixo a função substitui o caractere (-) por um ponto.
<?php
$cep = "31080-310";
echo str_replace("-", ".", $cep);
?>
Dividir uma string em várias partes:
<?php
$Url = "http://www.meusite.com.br/dir/NomeDoArquivo.txt";
$cacosDaUrl = explode("/", $Url);
$arrayReverso = array_reverse($cacosDaUrl);
echo($arrayReverso[0]);
?>
O código acima retorna apenas: NomeDoArquivo.txt
A função explode() divide a string em vários pedaços conforme a ocorrência do caractere escolhido. No caso do exemplo acima usamos a barra (/). Veja como a funcção retorna um array com todos os pedaços da string:
$cacosDaUrl[0] = "http:"
$cacosDaUrl[1] = "www.NomeDoHost.com.br"
$cacosDaUrl[2] = "dir"
$cacosDaUrl[3] = "NomeDoArquivo.ext"
Contar caractres de uma string com a função srtlen():
<?php // Padroniza numero do contador com 5 casas
if (strlen($cont)==1) { $cont="0000".$cont; }
if (strlen($cont)==2) { $cont="000".$cont; }
if (strlen($cont)==3) { $cont="00".$cont; }
if (strlen($cont)==1) { $cont="0".$cont; }
?>
Leia mais em http://www.htmlstaff.org/ver.php?id=4422
Postado em 6 de junho de 2011 por Henderson | Categorias: Categorias, Custom Post Types | Tags: get_the_terms | Sem comentários » | Comentar
O código abaixo usa a função get_the_terms() para exibir o nome e o ID da taxonomia (taxonomy) corrente. Observe que neste caso a taxonomia foi definida no arquivo functions.php com o nome tipo. Basta trocar o nome da taxonomia para o nome que você declarou no arquivo functions do seu tema.
<!-- Pega o nome da Taxonomy corrente -->
<?php
/** Função que busca o id da taxonomia (de nome tipo)**/
$terms = get_the_terms( $post->ID , 'tipo');
if($terms) {
foreach( $terms as $term ) {
$id_tax = $term->term_id;
$nome_tax = $term->name;
}
}
echo $nome_tax . " - " . $id_tax;
?>
Postado em 27 de maio de 2011 por Henderson | Categorias: Java Script | Sem comentários » | Comentar
<script language="JavaScript" type="text/JavaScript">
<!--
function NovaJanela(pagina,nome,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable,menubar=yes'
win = window.open(pagina,nome,settings);
}
//-->
</script>
Para abrir a janela em um link use:
<a href="Javascript:NovaJanela('pagina.php','JANELA','788','540','yes');">Abrir página</a>
Postado em 27 de maio de 2011 por Henderson | Categorias: PHP | Tags: XML | Sem comentários » | Comentar
A rotina abaixo gera uma lista de arquivos XML gerados a partir de dados de duas tabelas no banco de dados. No primeiro loop pega o nome do arquivo XML que vai ser gerado, no segundo preenche o arquivo XML com os dados. O comando PHP_EOL é usado para dar uma quebra de linha no arquivo XML.
<ul>
<?php
/*Executa o Loop para pegar os dados no banco de dados*/
$sql = "SELECT * FROM catalogo_categoria ORDER BY nome ASC";
$resposta1 = executa_sql($sql,$conexao);
while(($registro1 = mysql_fetch_array($resposta1))){
$categoria_arquivo = $registro1["arquivo"];
$categoria_nome = $registro1["nome"];
/*Abre um arquivo xml já gerado, como estou tentando abrir com o w+, se o arquivo não existir haverá a tentativa de criar o arquivo*/
$vai_xml = fopen("xml/".$categoria_arquivo,"w+");
/*Gravamos os dados iniciais do xml*/
fwrite($vai_xml,'<?xml version="1.0" encoding="iso-8859-1"?>' . PHP_EOL .'<content>' . PHP_EOL);
/*Looping para pegar os dados no banco de dados*/
$sql = "SELECT * FROM catalogo_item WHERE categoria=".$categoria_selecionada." ORDER BY id ASC";
$resposta = executa_sql($sql,$conexao);
while(($registro = mysql_fetch_array($resposta))){
$conteudo = '<image>' . PHP_EOL;
$conteudo .= '<path><![CDATA[imagens/'.$registro["imagem"].']]></path>' . PHP_EOL;
$conteudo .= '<description><![CDATA['.$registro["titulo"].']]></description>' . PHP_EOL;
$conteudo .= '<thumbnail><![CDATA[imagens/'.$registro["desenho"].']]></thumbnail>' . PHP_EOL;
$conteudo .= '<link><![CDATA[desenhos/'.$registro["desenho"].']]></link>' . PHP_EOL;
$conteudo .= "</image>" . PHP_EOL;
fwrite($vai_xml,$conteudo);
}
mysql_free_result($resposta);
/*Fecha estrutura do xml*/
fwrite($vai_xml,"</content>");
/*Fecha o arquivo aberto*/
fclose($vai_xml);
?>
<li><a href="Javascript:NovaJanela('<?php echo "xml/".$categoria_arquivo; ?>','XML','788','540','yes');">Abrir arquivo XML para <?php echo $categoria_nome; ?></a></li>
<?php
}
mysql_free_result($resposta1);
?>
</ul>
Postado em 19 de maio de 2011 por Henderson | Categorias: Shortcodes | Sem comentários » | Comentar
Coloque o código abaixo no arquivo functions.php do seu tema:
// SHORTCODE PARA BOTÃO COM LINK
function botao_padrao( $atts ) {
extract( shortcode_atts( array(
'texto' => 'Texto do Link',
'link' => 'url do link'
),
$atts ) );
return '
<div class="botao-dinamico">
<a href="' . $link . '" rel="bookmark" title="' . $texto . '">
<div class="botoa-lado-esc"></div>
<div class="botao-meio">' . $texto . '</div>
<div class="botoa-lado-dir"></div>
</a>
</div>';
}
add_shortcode('botao', 'botao_padrao');
Coloque os códigos no arquivo de CSS principal do tema:
/*BOTAO DINÂMICO*/
.botao-dinamico{
height:26px;
padding: 0;
margin: 0;
float: left;
display: inline;
margin-right: 15px;
}
.botao-dinamico a{
text-decoration:none;
font-weight:bold;
color:#FFF;
font-size: 14px;
}
.botoa-lado-esc{
float: left;
display: inline;
background-image:url(images/botao-lado-esq.png);
background-repeat:no-repeat;
height: 26px;
width: 7px;
}
.botoa-lado-dir{
float: left;
display: inline;
background-image:url(images/botao-lado-dir.png);
background-repeat:no-repeat;
height: 26px;
width: 7px;
}
.botao-meio{
float: left;
display: inline;
text-align: center;
height: 24px;
background:url(images/botao-meio.png) repeat;
text-decoration: none;
font-variant:small-caps;
min-width: 88px;
padding-top: 2px;
}
Para chamar o botão dentro de um post ou página do WordPress use o shortcode:
[botao link="http://caminho-do-link" texto="texto do botão"]
O botão é compsoto das 3 imagens abaixo:

Referências:
http://rozanchetta.com/blog/shortcodes-no-wordpress-como-usar/
http://rozanchetta.com/blog/wordpress-shortcodes-self-enclosing/
http://codex.wordpress.org/Shortcode_API
Postado em 16 de maio de 2011 por Henderson | Categorias: PHP | Sem comentários » | Comentar
Abaixo temos um código para gerar um número aleatório único. A rotina usa data e hora para gerar o número, em tese o número não se repetirá como uma data que nunca vai se repetir.
<?php
function make_seed()
{
list($usec, $sec) = explode(‘ ‘, microtime());
return (float) $sec + ((float) $usec * 10000); //este número define o tamanho do código em caracteres
}
mt_srand(make_seed());
$randval = mt_rand(111,999);
$randval2 = mt_rand(999,111);
$hr = date(‘s’);
$cod = “$randval”.”$randval2″.”$hr”;
//Imprime número aleatório na tela
echo make_seed();
?>
Postado em 13 de maio de 2011 por Henderson | Categorias: Categorias | Tags: get_categories() | 1 Comentário » | Comentar
Para montar uma lista de categorias exibindo o resumo do último post de cada categoria use o código abaixo.
<?php
$categories= get_categories();
$ic=1;
foreach ($categories as $category) {
$category = $category->cat_ID;
query_posts("showposts=1&cat=$category"); ?>
<?php while (have_posts()): the_post(); ?>
<div style="margin-right: 12px;">
<h4><a href="<?php echo get_category_link($category);?>"><?php single_cat_title(); ?> »</a></h4>
<div></div>
<?php get_the_image( array( 'custom_key' => array( 'thumbnail' ), 'default_size' => 'thumbnail', 'width' => '140', 'height' => '140' ) ); ?>
<h6><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title() ?></a></h6>
<p style="color:#838383;"><?php the_time('d M, Y') ?></p>
<p><?php echo substr(get_the_excerpt(),0,100)."(...)"; ?></p>
</div>
<?php //echo $ic; ?>
<?php $ic=$ic+1; endwhile; ?>
<?php } ?>
Referência do comando get_categories(): http://codex.wordpress.org/Function_Reference/get_categories
Postado em 12 de maio de 2011 por Henderson | Categorias: Loop no Wordpress, Paginação | Tags: Paginação | Sem comentários » | Comentar
Para colocar páginação no WordPress use a query abaixo, onde o parametro posts_per_page é igual a quantidade de posts por página:
<?php query_posts( 'posts_per_page=5&paged=' . get_query_var( 'paged' ) ); ?>
Para colocar os botões de navegação use o código abaixo entre o endwhile e o endif do loop:
<div class="btn-arr fl"><?php next_posts_link('« Página Anterior') ?></div>
<div class="btn-arr fr"><?php previous_posts_link('Próxima página »') ?></div>
Modelo de CSS:
/*BOTOES NAVEGACAO*/
.btn-arr {
margin-top: -10px;
margin-bottom: 10px;
}
.btn-arr a{
font-weight: 600;
color:#DE7047;
}
.fl {
float: left;
}
.fr {
float: right;
margin-right: 25px;
}
Exemplo:
<?php query_posts( 'posts_per_page=5&paged=' . get_query_var( 'paged' ) ); ?>
<?php //query_posts('showposts=3'); ?>
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post() ?>
<div id="post-<?php the_ID(); ?>" style="margin-bottom: 20px; border-bottom: 1px solid #4A4A4A; padding-bottom: 20px;">
<h2><?php the_title(); ?></h2>
<div>
<?php the_content(); ?>
</div>
<div><?php comments_popup_link('Comente!', '(1) Comentário', '(%) Comentários'); ?></div>
<div><?php if( function_exists('ADDTOANY_SHARE_SAVE_KIT') ) { ADDTOANY_SHARE_SAVE_KIT(); } ?></div>
</div>
<!--/post-->
<?php endwhile;?>
<div><?php next_posts_link('« Página Anterior') ?></div>
<div><?php previous_posts_link('Próxima página »') ?></div>
<br />
<?php endif; ?>
Outro modelo de Query:
<?php $featured_query = new WP_Query("orderby=date&order=desc&posts_per_page=6&paged=" . get_query_var( 'paged' )); $contador_posts = 1; ?>
<?php while ($featured_query->have_posts()) : $featured_query->the_post(); ?>
Postado em 4 de maio de 2011 por Henderson | Categorias: Campos Personalizados, Custom Post Types, Loop no Wordpress | Tags: campo personalizado, Custom Field, Custom fields | Sem comentários » | Comentar
Basta mudar criar uma query usando o comando meta_key que vai receber o nome do campo personalizado (Custom Field) e o comando meta_value que vai receber o valor do campo personalizado. No exemplo abaixo coloque a query antes do loop do WordPress para que seja lsitado somente posts que tiver o valor “sim” determinado para o custom post “destaque”:
<?php query_posts('meta_key=destaque&meta_value=sim'); ?>
Abaixo um exemplo de como fazer um loop do WordPress exibir os posts de um custom post type de nome imprensa que tenham um campo personalizado (Custom Field) chamdo pagina_inicial com o valor igual a sim:
<ul>
<?php
$sql="SELECT * FROM wp_posts
INNER JOIN wp_postmeta
ON wp_posts.id = wp_postmeta.post_id
WHERE post_type ='imprensa' AND post_status = 'publish'
AND wp_postmeta.meta_key = 'pagina_inicial' AND wp_postmeta.meta_value = 'sim'
ORDER BY wp_posts.post_date DESC";
$results = $wpdb->get_results($sql);
foreach ($results as $r) {
$cont1++;
if($cont1<4){
echo '<li><a href="' . $r->guid . '" title="' . $r->post_title . '"> ' . $r->post_title .'</a></li>';
}
}
?>
</ul>
Postado em 20 de abril de 2011 por Henderson | Categorias: Loop no Wordpress | Tags: Query_posts | Sem comentários » | Comentar
Categorias
query_posts('cat=4'); //Unicamente os posts da categoria com ID (4)
query_posts('cat=-4'); //Todos exceto os da categoría com ID (4)
query_posts('category_name=Categoria'); //Só os da categoria (Categoria)
query_posts('cat=1,2,4,5,7'); //Unicamente os posts das categorias indicadas.<code>
Tags
query_posts('tag=cooking'); // Todos os posts com a tag (cooking)
query_posts('tag=bread,baking'); //Todos os posts que contenham (bread) ou (baking)
query_posts('tag=bread+baking+recipe'); //Todos los posts que contenham as 3 tags<code>
Autor
query_posts('author_name=Pedro'); //Todos os posts onde o Autor seja (Pedro)
query_posts('author=2'); //Todos os posts do autor (2)
query_posts('author=-4'); //Todos os posts menos do autor (4)
Posts e Página
query_posts('p=1'); //Unicamente o post (1)
query_posts('name=first-post'); //Unicamente o post com nome (first-post)
query_posts('page_id=7'); //A página com ID (7)
query_posts('pagename=about'); //A página com nome (about)
query_posts('showposts=1'); //Modifica o LIMIT do SQL para indicar o número de posts a mostrar.
Tempo
query_posts('hour=01'); //Todos os posts da seguinte hora: (1:00)
query_posts('minute=30'); //Todos os posts do minuto 30(*:30)
query_posts('second=07'); //Posts do segundo 7 (*:*07)
query_posts('day=1'); //Os posts dos días (1)
query_posts('monthnum=2'); //Os posts do mês (2)
query_posts('year=2005'); //Os posts do ano de (2005)
Paginação
query_posts('paged=2'); //Todos os posts que se encontram na página (2) da paginação
query_posts('posts_per_page=10'); //Número de posts por página (10)
query_posts('order=ASC'); //Orden da paginação (ASC)
leia mais em: http://www.pinceladasdaweb.com.br/blog/2008/03/14/query_posts-aprenda-a-personalizar-seu-blog-wordpress/
Postado em 12 de abril de 2011 por Henderson | Categorias: Custom Post Types, Úteis | Tags: Count() | Sem comentários » | Comentar
Contar a quantidade de um determinado custom post type. No exemplo abaixo o custom post type se chama duvidas:
global $wpdb;
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type ='duvidas' AND post_status = 'publish'");
Contar a quantidade de uma taxonomia de id igual a 17:
global $wpdb;
$quantidade_posts = $wpdb->get_var("SELECT count FROM wp_term_taxonomy WHERE term_taxonomy_id = '17' ");
Contar a quantidade de posts regsitrados em uma determinada taxonomia. Este código funciona dentro de um arquivo de taxonomias (arquive). Primeiro é necessário pegar o ID da taxonomia corrente para depois contar quantos posts existem na taxonomia.
<?php if ( is_tax() ) {
/** Função que busca o id da taxonomia (de nome categoria)**/
$terms = get_the_terms( $post->ID , 'categoria');
if($terms) {
foreach( $terms as $term ) {
$id_categoria_corrente = $term->term_id;
}
}
?>
Na segunda parte montamos o comando para contar a quantidade de posts da taxonomia ativa:
global $wpdb;
$numposts2 = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
INNER JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id WHERE wp_posts.post_type = 'duvidas' AND wp_posts.post_status = 'publish AND wp_term_taxonomy.term_id = '$id_categoria_corrente'");
Postado em 12 de abril de 2011 por Henderson | Categorias: Custom Post Types | Sem comentários » | Comentar
O código abaixo exibe uma lista com 5 registros de um Custom Post Type chamado atuacao. O item da lista fica marcado conforme a página que o usuário esta visualizando atravéz da classe de css icone_pagina.
Primeiro pegue o título da página corrente com o comando abaixo:
<?php $pagenow = get_the_title(); ?>
Depois monte o loop com a lista dos custom post types:
<ul>
<?
$args = array(
'numberposts' => 5,
'post_type'=>'atuacao',
'orderby'=>'title',
'order'=>'ASC'
);
$posts_blog = get_posts($args);
foreach($posts_blog as $blogp){
?>
<li <?php if ($pagenow == $blogp->post_title) {echo 'class="icone_pagina"';} ?>>
<a href="<? echo get_option('home') . '/atuacao/' .$blogp->post_name; ?>" title="Saiba mais sobre <?php echo $blogp->post_title; ?>" rel="bookmark"><?php echo $blogp->post_title; ?></a></li>
<?php } ?>
</ul>
Postado em 7 de abril de 2011 por Henderson | Categorias: Úteis | Sem comentários » | Comentar
Pegar ID do Post dentro do loop:
<?php $id_post = get_the_ID(); ?>
Exibir ID do Post na tela:
<?php the_ID(); ?>
Postado em 6 de abril de 2011 por Henderson | Categorias: Java Script | Sem comentários » | Comentar
Função em Java Script para abrir janela pop-up centralizada na tela:
<script language="JavaScript" type="text/JavaScript">
<!--
function NovaJanela(pagina,nome,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(pagina,nome,settings);
}
//-->
</script>
Para chamar a função use o modeo: NovaJaela(‘cainho/nome do arquivo’,'nome da janela’,'altura da janla’exibir barra de rolagem = yes ou no’), exemplo:
<input type="button" value="Eveto " name="b1" onClick="Javascript:NovaJanela('eventos.php?modo=novo','Eventos','788','540','no');">