O WordPress não é apenas uma poderosa e incrível ferramenta de
blogging, mas também uma fantástica plataforma de gestão que providencia
uma série de formas e truques para mexer com a sua funcionalidade.
A grande maioria das dicas e truques que apresento aqui requerem que o seu template WordPress
tenha um arquivo functions.php. Se não tiver um, é melhor
começar a criá-lo.
01. Adicione notas privadas aos seus artigos
Se você gostaria de adicionar notas secretas aos seus artigos, que
sejam apenas visíveis aos autores do blog, adicione esta funcionalidade
ao arquivo functions.php do seu template, que irá criar um
shortcode [note] para que você possa adicionar notas secretas
nos seus artigos, utilizando o código [note] e [/note].
add_shortcode( 'note', 'sc_note' );
function sc_note( $atts, $content = null ) {
if ( current_user_can( 'publish_posts' ) )
return '<div class="note">'.$content.'</div>';
return ";
}
02. Desligar HTML nos comentários
O WordPress permite a utilização de tags HTML do tipo <a>,
<em>, <strong> nos comentários de
texto dos seus artigos. Caso você queira desligar esta
funcionalidade no seu blog, para prevenir que os seus usuários adicionem conteúdo HTML nos comentários, adicione simplesmente a
seguinte função ao seu arquivo functions.php. Este código
transforma todo o código HTML em código de texto.
// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
// convert everything in a comment to display literally
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
$incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
// Put the single quotes back in
$comment_to_display = str_replace( ''', "'", $comment_to_display );
return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', ", 1);
add_filter( 'comment_text', 'plc_comment_display', ", 1);
add_filter( 'comment_text_rss', 'plc_comment_display', ", 1);
add_filter( 'comment_excerpt', 'plc_comment_display', ", 1);
03. Verifique se um plugin está ativo
Por vezes você poderá sentir necessidade de verificar se um
determinado plugin se encontra ativo ou não, seja para recorrer à sua
funcionalidade ou simplesmente para prevenir que ele entre em conflito
com outros plugins instalados no seu blog. O WordPress providencia a
função is_plugin_active que aceita o caminho para o arquivo do plugin e verifica se este se encontra ativo ou não.
<?php
if (is_plugin_active('plugin-directory/plugin-file.php')) {
//plugin is activated
}
?>
04. Previna os plugins de carregarem CSS e scripts automaticamente
Muitos plugins fazem uso das suas próprias folhas de estilo CSS e
scripts para reproduzirem as suas funcionalidades. Mas no caso de você utilizar vários plugins no seu blog WordPress, este pormenor
poderá fazer com que o seu blog demore muito tempo para carregar as suas
páginas, uma vez que será obrigatório carregar primeiro uma série de
scripts e folhas de estilo. O que você poderá fazer para melhorar a
performance do seu website enquanto utiliza plugins é combinar os seus arquivos CSS e JavaScript e prevenir que estes carreguem toda essa
informação automaticamente. Para isso, você terá de olhar para os arquivos dos seus plugins e procurar os correspondentes ao
CSS e JavaScript, e verificar a existência das funcionalidades wp_enqueue_script()
e wp_enqueue_style(). Por exemplo, se você utilizar o
plugin wp-pagenavi, ele carrega a sua própria folha de estilos
automaticamente utilizando a função:
wp_enqueue_style('wp-pagenavi', plugins_url('wp-pagenavi/pagenavi-css.css'), false, '2.50, 'all');
O primeiro parâmetro para o wp_enqueue_style() ou wp_enqueue_script()
é o nome do manipulador do arquivo CSS ou JS. Neste caso, o nome do
manipulador será wp-pagenavi. Adicionando as seguintes
linhas de código ao seu arquivo functions.php irá preveni-lo
de que este plugin carregue automaticamente o CSS e JS.
//Prevent Stylesheets from loading
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'wp-pagenavi' );
}
//Prevent JavaScript files from loading automatically
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
wp_deregister_script( 'nameofhandler );
}
05. Mostrar a data de modificação de um artigo
Se você atualiza regularmente os seus artigos mais antigos,
por que não mostrar aos seus leitores a data de modificação do artigo,
para que eles saibam que se encontra atualizado? Utilize o seguinte
código para apresentar a data de modificação dos seus artigos, sempre
que um artigo seja editado.
Publicado m <?php the_time('F jS, Y') ?>
<?php $u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time != $u_time) {
echo "e actualizado em ";
the_modified_time('F jS, Y');
echo ". "; } ?>
06. Classificações customizadas em WordPress
Por padrão, o WordPress tem duas formas de agrupar artigos, seja
através de categorias ou de tags, mas as classificações customizadas
permitem-lhe agrupar as suas páginas da forma que bem
desejar. Por exemplo, se você tiver um blog de análises de filmes, você
talvez deseje adicionar uma nova classificação para gêneros e
agrupar os seus artigos da mesma forma, ou então uma classificação para atores
para agrupar os conteúdos por atores. As classificações customizadas
libertam-no das restrições impostas pelas categorias e tags.
add_action( 'init', 'create_my_taxonomies', 0 );
function create_my_taxonomies() {
register_taxonomy( 'genre', 'post', array( 'hierarchical' => false, 'label' => 'Género', 'query_var' => true, 'rewrite' => true ) );
register_taxonomy( 'actors', 'post', array( 'hierarchical' => false, 'label' => 'Actores', 'query_var' => true, 'rewrite' => true ) );
}
Este código irá adicionar duas novas caixas no seu painel de criação
de artigos, nos quais você poderá colocar os valores que bem desejar.
07. Criar artigos apenas para assinantes de RSS
Se você pretende dar aos seus assinantes RSS uma funcionalidade
extra, eis um dos truques mais fantásticos do WordPress: criar um artigo
que é apenas visível no RSS Feed do seu blog.
Antes de tudo mais, comece por criar uma categoria onde estes artigos
serão indexados. Por exemplo, crie uma categoria ‘RSS’ e
adicione alguns artigos exclusivamente a essa categoria. Tome nota do ID da categoria. Agora no seu arquivo functions.php, adicione estas linhas de código para que estes artigos sejam apresentados apenas aos assinantes RSS.
<?php
function excludeCategory($query)
{
if($query->is_home | $query->is_archive )
//Exclude category from all other pages except RSS
$query->set('cat','-3);
return $query;
}
add_filter('pre_get_posts', 'excludeCategory');
?>
08. Acabe com as curly quotes
O WordPress geralmente substituiu as duplas aspas por aspas curvas. Isto é perfeitamente pacífico para a maioria dos blogs e até é um pormenor estético engraçado, mas se você colocar código fonte nos seus artigos provavelmente irá sentir necessidade de desligar esta funcionalidade, uma vez que ela adultera o código. Cole o seguinte código no seu arquivo functions.php.
<?php remove_filter('the_content', 'wptexturize'); ?>
09. Previna spam nos seus comentários
Você poderá evitar uma grande quantidade de comentários de spam no seu blog verificando o endereço URL do formulário “posted comment”. A grande maioria dos comentários de spam são usualmente publicados por scripts automatizados e eles apenas publicam dados no arquivo wp-comments-post.php, o que significa que não existe um endereço de referência sobre de que forma são submetidos. No entanto, você pode adicionar uma regra ao seu arquivo .htaccess file para que este restrinja o acesso ao seu fi arquivo cheiro wp-comments-post.php. Eis as regras para adicionar ao seu arquivo .htaccess. NOTA: Faça um backup do seu arquivo .htaccess antes de o modificar.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*oseublog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
10. Adicione anúncios nos seus artigos de RSS
Eis um truque fantástico para adicionar qualquer conteúdo HTML, como anúncios, dentro dos seus RSS Feeds. Adicione este código ao seu arquivo functions.php e posteriormente poderá customizar o código HTML para que os anúncios apareçam antes ou depois dos artigos.
<?php
function insertAds($content) {
$content = $content.'<hr /><a href="http://www.wordpress-love.com">Coloque aqui os seus anúncios!</a>';
return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
?>
11. Desligar os feeds RSS do WordPress
Se você usa o WordPress como um CMS que só tem conteúdo estático, então provavelmente gostaria de desligar os seus RSS feeds, uma vez que não terão qualquer tipo de interesse para os seus leitores. Adicione o seguinte código ao seu arquivo functions.php para desligar os RSS feeds.
function fb_disable_feed() {
wp_die( __('Feeds RSS não disponíveis. Por favor visite a nossa <a href="'. get_bloginfo('url') .'">Homepage</a>!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2, 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);
12. Linkar os títulos dos artigos para o exterior
Eis um truque fantástico para linkar os títulos dos seus artigos diretamente para endereços URL externos. Esta funcionalidade faz com que os seus leitores poupem tempo, uma vez que não terão de ler o conteúdo para encontrarem o link direto para a fonte. Eis como fazê-lo: Adicione as seguintes linhas de código ao seu arquivo functions.php.
function print_post_title() {
global $post;
$thePostID = $post->ID;
$post_id = get_post($thePostID);
$title = $post_id->post_title;
$perm = get_permalink($post_id);
$post_keys = array(); $post_val = array();
$post_keys = get_post_custom_keys($thePostID);
if (!empty($post_keys)) {
foreach ($post_keys as $pkey) {
if ($pkey=='title_url') {
$post_val = get_post_custom_values($pkey);
}
}
if (empty($post_val)) {
$link = $perm;
} else {
$link = $post_val[0];
}
} else {
$link = $perm;
}
echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';
}
De seguida, procure pelo seguinte código no seu ficheiro index.php:
<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
Substitua o código de cima por estas novas linhas de código:
<?php print_post_title() ?>
Agora, sempre que desejar partilhar um endereço URL externo para os seus leitores, adicione um custom field (campo personalizado) com o nome title_url e no valor coloque o endereço URL do site para o qual pretende ligar.
Até a próxima!