Já a algum tempo que não fazia nenhum post sobre dicas para melhorar blogs. Depois de ver alguns marcadores de sites como o wp recipes e do blog oh blog que já tinha aqui a várias semanas decidi fazer um apanhado dos melhores códigos. Espero que sejam úteis.

Para eliminar os posts que estão no lixo de pois de X dias (alterar o valor 10 para o numero de dias pretendido) adicione o seguinte código ao functions.php:

define('EMPTY_TRASH_DAYS', 10 );

Para mostrar os posts com mais comentários, coloque o seguinte código no local onde vai mostrar os posts:

$pop = $wpdb->get_results("SELECT id, post_title, comment_count FROM {$wpdb->prefix}posts WHERE post_type='post' ORDER BY comment_count DESC LIMIT 10");

<ul>
foreach($pop as $post) : ?>
<li> <?php echo $post->post_title; ?> </li>
<?php endforeach; ?>
</ul>

Para adicionar informação em cada post, adicione o seguinte código ao functions.php:

function add_post_content($content) {
	if(!is_feed() && !is_home()) {
		$content .= '<p>This article is copyright &copy; '.date('Y').'&nbsp;'.bloginfo('name').'</p>';
	}
	return $content;
}
add_filter('the_content', 'add_post_content');

Para mostrar datas do tipo “3 days ago”, adicione o seguinte código ao functions.php:

function time_ago( $type = 'post' ) {
	$d = 'comment' == $type ? 'get_comment_time' : 'get_post_time';
	return human_time_diff($d('U'), current_time('timestamp')) . " " . __('ago');
}

Depois utilize a seguinte tag no tema:

<?php echo time_ago(); ?>

Para permitir que os utilizadores com as permissões de "Contribuidor" consiga fazer uploads, adicione o seguinte código ao functions.php:

if ( current_user_can('contributor') && !current_user_can('upload_files') )
    add_action('admin_init', 'allow_contributor_uploads');

function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}

Para desactivar automaticamente o atributo "nofollow" no seu site, adicione este código ao functions.php do seu tema:

function remove_nofollow($string) {
	$string = str_ireplace(' rel="nofollow"', '', $string);
	return $string;
}
add_filter('the_content', 'remove_nofollow');

Para adicionar um favicon sem inserir código no header.php, coloque este código no functions.php. Altere o URL do favicon se necessário:

function childtheme_favicon() { ?>
	<link rel="shortcut icon" href="<?php echo bloginfo('stylesheet_directory') ?>/images/favicon.png" >
<?php }
add_action('wp_head', 'childtheme_favicon');

Para proteger o seu blog da injecção de scripts no seu tema por parte de pessoas mal intencionadas, adicione o seguinte código ao .htaccess que está na mesma directoria que a instalação do wordpress:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Para inserir conteúdo automaticamente no fim de cada post, adicione o seguinte código ao functions.php do seu tema (Substitua o conteúdo):

function insertFootNote($content) {
        if(!is_feed() && !is_home()) {
                $content.= "<div class='subscribe'>";
                $content.= "<h2>Gostou deste Artigo?</h2>";
                $content.= "<p>Subscreva o nosso <a href='https://www.wptotal.com/feed/'>RSS feed</a>!</p>";
                $content.= "</div>";
        }
        return $content;
}
add_filter ('the_content', 'insertFootNote');

Para mostrar o excerto de um post em vez do post completo, procure o seguinte código no tema:

<?php the_content(); ?>

e substitua pelo seguinte:

<?php the_excerpt(); ?>

Por agora é tudo. Até breve! 🙂