Categorias
Tutoriais Web WordPress

Background customizado na versão 3.4 do wordpress

A função do wordpress add_custom_background() usada no functions.php, foi substituida pela função add_theme_support(‘custom-background’) na versão 3.4. A função add_theme_support define várias funcionalidades do tema (‘post-formats’, ‘post-thumbnails’, ‘custom-background’
‘custom-header’, ‘automatic-feed-links’ e ‘menus’) e nesse tutorial vamos abordar o recurso de background customizado(custom-background).

Diferente da função anterior(add_custom_background) que passávamos apenas funções de callback nessa nova aplicação ele recebe um array com as propriedades default(cores e imagem de background) e as funções de callback(no wp_head, no admin_head e no preview do admin), ou seja, vc pode definir funções que serão chamadas nesses 3 momentos.

Abaixo um exemplo de montagem dos argumentos para serem passados para função :

$defaults = array(
	'default-color'          => '',
	'default-image'          => '',
	'wp-head-callback'       => '_custom_background_cb',
	'admin-head-callback'    => '',
	'admin-preview-callback' => ''
);
add_theme_support( 'custom-background', $defaults );

Abaixo um exemplo simples:

$argumentos = array(
		'default-color' => '000000',
		'default-image' => get_template_directory_uri(). '/images/background.gif'
	);

add_theme_support('custom-background', $argumentos);

Esta aplicação acima lembrando tem ser feita no arquivo functions.php, ela define que a cor padrão do background deve ser a cor preta(#000000) e a imagem de background padrão será a imagem background.gif dentro da pasta images dentro do seu tema.

Mas o exemplo anterior é específico para a versão 3.4 do wordpress mas como fazer uma aplicação para versões anteriores até a 3.0 e para versão 3.4.

global $wp_version;
if ( version_compare( $wp_version, '3.4', '>=' ) ) {
	$argumentos = array(
		'default-color' => '000000',
		'default-image' => get_template_directory_uri(). '/images/background.gif'
	);

	add_theme_support('custom-background', $argumentos);
}else{
	add_custom_background();
}

No tratamento acima verificamos através da variável global $wp_version qual a versão do wordpress, caso seja maior ou igual a 3.4 utilizamos utilizamos add_theme_support, caso inferior usamos a função antiga add_custom_background().

Categorias
Tutoriais Web WordPress

Personalizando o resumo(the_excerpt) do WordPress

Um dos recursos que o WordPress oferece na leitura do conteúdo do post é a função de resumo(the_excerpt()), No painel editar post existe um campo chamado resumo.

Mas nas versões 3.1 ou superiores do WordPress esta função ficou oculta. Para exibir esta opção vá em opções de tela no canto superior direito dentro do painel de posts, como na imagem abaixo:

Fazendo isso um campo de resumo aparecerá em sua página de edição de post:

Cadastrando essa informação, se você quer exibi-lá é só utilizar a função the_excerpt() dentro de seu loop.

Se o campo resumo não for definido, o WordPress criará um resumo automaticamente através do que foi postado no conteúdo principal de seu post. Por padrão esse resumo automático possui 55 caracteres, para alterar essa quantidade de palavras temos que adicionar um função no arquivo functions.php em seu tema.

O functions.php resumindo em meias palavras é o arquivo que define algumas funções extras do seu tema, além de criar menus, shortcodes e adicionar filtros para conteúdo como vamos fazer agora. Então, utilizando a função add_filter ela ajuda a modificar a saída de algumas informações no WordPress.

Para editar o tamanho do resumo adicionamos o seguinte código no functions.php:

function novo_tamanho_do_resumo($length) { return 30; } add_filter('excerpt_length', 'novo_tamanho_do_resumo');

No código acima modificamos o tamanho do resumo de 55(valor padrão) para 30 caracteres.

Quando não cadastramos nada no campo resumo, o WordPress resgata parte do conteúdo do post e adiciona no final do resumo […] para sinalizar que o possui mais texto naquele conteúdo. Para modificar essa sinalização também dentro do functions.php adicionamos o seguinte filtro:

Para versões 2.9 ou superiores

function new_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'new_excerpt_more');

Para versão 2.8.x e anteriores

function new_excerpt_more($excerpt) { return str_replace('[...]', '...', $excerpt); } add_filter('wp_trim_excerpt', 'new_excerpt_more');

Nesse caso temos uma mudança de código entre versões antes e depois da 2.9,mas nos dois momentos trocamos o ‘[…]’ por ‘…’.

Além dessa possibilidade também temos uma segunda opção adicionar um link ao final so resumo, trocar o ‘[…]’ por um link leia mais o código ficaria da seguinte forma:

function add_resumo_com_link($more) { global $post; return '<a href="'. get_permalink($post->ID) . '">Leia mais +</a>'; } add_filter('excerpt_more', 'add_resumo_com_link');