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. Hoje gostaríamos de lhe introduzir 12 truques secretos do WordPress para você utilizar nos seus novos projectos de 2010.
A grande maioria destes truques requer que o seu template WordPress tenha um ficheiro functions.php. Se não tiver um, é melhor começar por criá-lo.
1. 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 ficheiro functions.php do seu template, o qual 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 ”;
}
2. 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. Mas caso você deseje desligar esta funcionalidade no seu blog para prevenir que os seus utilizadores adicionem conteúdo HTML nos comentários, adicione simplesmente a seguinte função ao seu ficheiro 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);
3. VERIFICAR SE UM PLUGIN ESTÁ ACTIVO
Por vezes você poderá sentir necessidade de verificar se um determinado plugin se encontra activo ou não, seja para recorrer à sua funcionalidade ou simplesmente para prevenir que este entre em conflicto com outros plugins instalados no seu blog. O WordPress providencia a função is_plugin_active
que aceita o caminho para o ficheiro do plugin e verifica se este se encontra activo ou não.
<?php
if (is_plugin_active(‘plugin-directory/plugin-file.php’)) {
//plugin is activated
}
?>
4. 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ê estar a utilizar vários plugins no seu blog WordPress, este pormenor poderá fazer com que o seu blog demore imenso tempo a 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 ficheiros CSS e JavaScript e prevenir que estes carreguem toda essa informação automaticamente. Para isso, você terá de olhar para os ficheiros dos seus plugins e procurar os ficheiros 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 ficheiro CSS ou JS. Neste caso, o nome do manipulador será wp-pagenavi. Adicionando as seguintes linhas de código ao seu ficheiro 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 );
}
5. MOSTRAR A DATA DE MODIFICAÇÃO DE UM ARTIGO
Se você actualiza regularmente os seus artigos mais antigos, porque não mostrar aos seus leitores a data de modificação do artigo, para que estes saibam que se encontra actualizado? 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 “. “; } ?>
6. TAXONOMIAS CUSTOMIZADAS EM WORDPRESS
Por defeito, o WordPress tem duas formas de agrupar artigos, seja através de categorias ou de tags, mas as taxonomias customizadas permitem-lhe criar uma forma de 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 taxonomia para géneros e agrupar os seus artigos por género também, ou então uma taxonomia para actores para agrupar os conteúdos por actores. As taxonomias 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.
7. CRIAR ARTIGOS APENAS PARA SUBSCRITORES RSS
Se você pretende dar aos seus subscritores 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 ficheiro functions.php, adicione estas linhas de código para que estes artigos sejam apresentados apenas aos subscritores 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’);
?>
8. ACABE COM AS CURLY QUOTES
O WordPress geralmente substituiu as duplas aspas por aspas enroladas e.x. “alguma” tornar-se-á “alguma”. 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, como fazemos aqui no WordPress Love, provavelmente irá sentir necessidade de desligar esta funcionalidade uma vez que ela adultera o código. Cole o seguinte código no seu ficheiro functions.php.
<?php remove_filter(‘the_content’, ‘wptexturize’); ?>
9. PREVINA O 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 ficheiro 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 ficheiro .htaccess file para que este restringa o acesso ao seu ficheiro wp-comments-post.php. Eis as regras para adicionar ao seu ficheiro .htaccess. NOTA: Faça um backup do seu ficheiro .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 por exemplo, dentro dos seus RSS Feeds. Adicione este código ao seu ficheiro 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ê está a utilizar 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 ficheiro 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
Se por ventura você gostaria de tempos a tempos escrever um pequeno conteúdo que linkasse imediatamente para outro website ou blog, eis um truque fantástico para linkar os títulos dos seus artigos directamente para endereços URL externos. Esta funcionalidade faz com que os seus leitores poupem imenso tempo, uma vez que não terão de ler o conteúdo para encontrarem o link directo para a fonte. Eis como fazê-lo: Adicione as seguintes linhas de código ao seu ficheiro 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.
Bons truques!