Os hacks WordPress extraordinariamente úteis que você provavelmente ainda não usou

31

Agora, por mais “cotidiano” que o WordPress possa ter se tornado – pelo fato de que cada segundo ou terceiro site que você encontra é alimentado por WordPress – sempre há o frequente “como diabos eles fizeram isso!” momentos em que você está navegando pelo reino do WordPress.

Apesar do WordPress ser tão notavelmente perseguido pela comunidade de desenvolvimento web, ele nunca deixou de usar alguns truques incríveis e surpresas na manga. Embora haja todo um conjunto de plug-ins que nunca deixam de levar a funcionalidade de um site WordPress além dos padrões e conseguem permitir que os webmasters moldem seu site exatamente da mesma maneira que desejam, são os WordPress Hacks que realmente oferecem aos webmasters uma personalização capacidade do tipo que não pode ser realizada por nenhum plug-in.

Os hacks do WordPress estão estabelecendo uma posição forte e ganhando muito terreno, pois os webmasters não programadores estão buscando a ajuda de alguns desenvolvedores da web para injetar alguns recursos em seu site que realmente os ajudariam a aprimorar sua funcionalidade e levá-lo além de seus pares. No entanto, estamos facilitando seu trabalho, fornecendo a você alguns trechos de código necessários (e desejados) para colocar seu site na direção que você deseja.

A lista a seguir é sobre esses hacks que você pode implementar em seu site para que ele se gabe de recursos personalizados excepcionais e exiba recursos que parecem bastante improváveis ​​de outra forma.

1 Habilitando Shortcodes em Widgets

Os widgets nunca param de dar ao nosso site aquela vantagem pela qual estamos sempre competindo. Eles formam uma parte indispensável de quase todos os sites do WordPress e, portanto, uma maneira de aprimorar sua aparência ou seus recursos é sempre bem-vinda, e é exatamente para isso que os códigos de acesso devem fazer. Use um filtro para o mesmo:

add_filter( 'widget_text', 'do_shortcode' );
2 Tornando a navegação superior mais visível

O menu na barra de navegação superior do seu site provavelmente é ignorável, simplesmente por sua posição. E é por isso que você precisa movê-lo e é aqui que movê-lo ajudará:

#top-nav {float: right;}
3 Mova o menu de navegação para o centro (Código cortesia: GitHub)

Existe toda a possibilidade de você ter decidido realinhar seu logotipo para colocá-lo no centro do cabeçalho, portanto, você precisaria mover o menu de navegação para o centro para que não pareça fora do lugar. E é assim que você faz:

#navigation {
     position: relative;
}
 #main-nav {
     clear: left;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     left: 50%;
     text-align: center;
}
 .nav li {
     display: block;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     right: 50%;
}
 .nav li.hover, .nav li.hover {
     position: relative;
}
  
.nav li ul li {
     left: 0;
4 Atrasar a publicação de sua postagem nos feeds RSS

Não é raro cometer erros ao escrever uma postagem, mas quando as postagens já são enviadas para RSS, os pequenos erros podem custar caro. E é aí que atrasar o processo vem em socorro.

Agora, você pode garantir que as postagens não vão para o feed RSS assim que forem publicadas em seu blog. Tudo o que você precisa fazer é adicionar este trecho de código ao arquivo functions.php no back-end do seu site:

function publish_later_on_feed($where) {
global $wpdb;
if (is_feed()) {
$time_now = gmdate('Y-m-d H:i:s');
$time_delay = '15'; // integer
$time_span = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$where = " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$time_now') > $time_delay ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
5 Não quer mais os avatares circulares? Torná-los Quadrados

O tema que você escolheu para o seu site WordPress pode estar modificando automaticamente as imagens do avatar para apresentá-las de forma circular. Mas muitos webmasters preferem que seus avatares sejam exibidos em formato quadrado. Para o mesmo, este código do GitHub funciona excepcionalmente bem:

#post-author .profile-image img, #comments .avatar img {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
}
6 Deixe seu feed RSS conter a imagem em destaque do post

Usar fotos em suas postagens sempre dá um empurrão extra entre seu público e os convence a ler e compartilhar ainda mais entre seus círculos. E quando você pode usar a imagem destacada da postagem em seus feeds RSS, você aumenta ainda mais o alcance da postagem, tornando-a visualmente mais atraente:

add_filter('the_content_feed', 'rss_post_thumbnail');
function rss_post_thumbnail($content) {
global $post;
if( has_post_thumbnail($post->ID)) $content = '
'. get_the_post_thumbnail($post->ID, 'thumbnail'). '

'. $content; return $content; }
7 Remova o título de uma página específica

Embora existam ferramentas que facilitam a remoção de títulos de todas as páginas do site, às vezes, você só deseja removê-los de páginas específicas. E aqui está o código que você precisa para isso – basta substituir “abcd” pelo número de identificação da página para qualquer postagem:

.page-id-xxxx .title {
display: none;
}
8 Não quer HTML nos comentários? Vá em frente e desative-o

HTML na seção de comentários pode levar a um caminhão de spam, que eventualmente pode ter sérias repercussões em seu site. E é por isso que desabilitar o HTML na seção de comentários é tão importante para manter seu site livre de spam. Para fazer isso, adicione este trecho de código no arquivo functions.php:

//As soon as someone comments
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 );
// This stops WordPress from trying to automatically make hyperlinks on text:
remove_filter( 'comment_text', 'make_clickable', 9 );
9 Quando um usuário procurar um determinado post em seu site, basta levá-lo diretamente para o post completo

Você pode não ter considerado isso muito necessário, mas se os usuários que pesquisam por postagens específicas forem levados diretamente para a postagem completa em vez de uma visualização em miniatura dela com trecho, eles apreciariam isso. Isso não os força a continuar navegando e, portanto, melhora consideravelmente a experiência do usuário.

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
    if (is_search()) {
        global $ks29so_query;
        if ($ks29so_query->post_count == 1 && $ks29so_query->max_num_pages == 1) {
            ks29so_redirect( get_permalink( $ks29so_query->posts['0']->ID) );
            exit;
        }
    }
}
10 Exibir a data de direitos autorais mais precisa e atual

Os direitos autorais são uma parte indispensável de qualquer site que contenha muitas informações úteis que o webmaster não deseja que sejam copiadas por outros randomizadores na web. É por isso que é importante exibir informações de direitos autorais com precisão e em sincronia com o ano atual. O trecho de código a seguir possibilita que você atualize constantemente as informações de direitos autorais automaticamente:

function comicpress_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© ". $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-'. $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
11 Redirecione os usuários após o login

Uma vez que qualquer usuário está logado em seu site, ele ou ela pode ser facilmente redirecionado para outro URL de sua escolha. Tudo o que você precisa é deste trecho de código no arquivo functions.php:

user_level == 0)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Contributor
else if ($current_user->user_level > 1)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Editor
else if ($current_user->user_level >8)
{
ks29so_redirect( home_url() ); exit;
}
// For other roles
else
{
$redirect_to = 'http://google.com/';
return $redirect_to;
}
}
add_action('admin_init','redirect_user_on_role');
 
?>
12 Deixe o cabeçalho exibir alguns widgets personalizados

O cabeçalho do seu site é uma ótima área de publicidade onde você pode exibir anúncios realmente visíveis. No entanto, uma coisa comum observada é que os administradores do site não têm muito controle sobre como desejam exibir os elementos no cabeçalho e isso leva à falta de flexibilidade.

O que o administrador deseja é a capacidade de personalização para permitir que eles adicionem o que quiserem à direita do logotipo, e as seguintes linhas de código permitem que eles façam exatamente isso:

if (function_exists('register_sidebar')) {
register_sidebar(array(
 'name' => 'Header Widget',
 'id' => 'header-widget',
 'description' => 'This is a widgetized area in the right side of the header.',
 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' )); add_action( 'woo_header_inside', 'custom_canvas_header' ); function custom_canvas_header() { ?>

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação