Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

46 Truques extremamente úteis para o arquivo de funções do WordPress

Nota editorial: Ganhamos uma comissão de links de parceiros no WPBeginner. As comissões não afetam as opiniões ou avaliações de nossos editores. Saiba mais sobre Processo editorial.

Você está se perguntando o que pode fazer com o arquivo de funções do WordPress?

Todos os temas do WordPress vêm com um arquivo functions.php. Esse arquivo funciona como um plug-in, permitindo que os desenvolvedores de temas e os usuários em geral adicionem códigos personalizados no WordPress com facilidade.

Neste artigo, mostraremos alguns truques úteis para o arquivo de funções do WordPress.

Handy WordPress functions file tips and hacks

O que é o arquivo de funções no WordPress?

O arquivo functions.php é um arquivo de tema do WordPress que vem com todos os temas gratuitos e premium do WordPress.

Ele funciona como um plug-in e permite que os desenvolvedores de temas definam os recursos do tema. Os usuários também podem usá-lo para adicionar seus trechos de código personalizados no WordPress.

No entanto, manter o código personalizado no arquivo de funções do seu tema não é a melhor maneira de salvar suas personalizações. Se você atualizar o tema, o arquivo functions.php será substituído e você perderá os trechos de código personalizados.

Em vez disso, recomendamos que todos usem o WPCode, um plug-in gratuito que permite inserir trechos de código em seu site do WordPress sem editar nenhum tema, plug-in ou arquivos principais do WordPress.

A melhor parte é que todo o seu código personalizado é salvo separadamente, de modo que qualquer atualização do WordPress não o removerá.

Como bônus, o plug-in WPCode tem uma extensa biblioteca de trechos de código pré-configurados (incluindo muitos desta lista). Você pode implementar esses trechos de código com apenas alguns cliques.

wpcode library

Dito isso, aqui está uma lista dos itens que abordaremos neste artigo. Você pode pular para aquele que lhe interessa ou simplesmente seguir adiante:

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 de funções usando o WPCode (recomendado)

Primeiro, você precisa instalar e ativar o plug-in WPCode. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in 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.

Add snippet

Se o seu snippet de código fizer a mesma coisa que os snippets da biblioteca, você poderá experimentar o que já foi adicionado lá.

Como alternativa, clique no link “snippet em branco” para continuar adicionando seu snippet de código personalizado.

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

Adding your custom code

Em seguida, você precisa escolher o “Tipo de código”. Se estiver adicionando um código que funcione no arquivo functions.php, deverá selecionar “PHP Snippet”.

Em seguida, você precisa copiar e colar seu código personalizado na caixa “Code Preview” (Visualização de código).

Por fim, você precisa definir seu snippet como “Ativo” e clicar no botão “Salvar snippet”.

Activate and save

Seu snippet salvo agora será executado como se tivesse sido 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 de funções

O método WPCode é sempre melhor do que adicionar código ao arquivo de funções do tema.

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

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

Primeiro, conecte-se ao seu site WordPress usando um cliente FTP. Depois de conectado, navegue até a pasta /wp-content/themes/your-wordpress-theme/.

Edit functions.php file

Lá você encontrará o arquivo functions.php. Basta clicar com o botão direito do mouse e selecionar para editar ou fazer download do arquivo em seu computador para edição.

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

Em seguida, role para baixo até a parte inferior do arquivo functions.php e cole seu snippet de código lá. Você pode salvar suas alterações e carregar o arquivo functions.php atualizado na pasta do tema.

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

Agora, vamos dar uma olhada em 46 truques úteis diferentes para o arquivo de funções 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, talvez você queira remover o número da versão do WordPress do seu site.

Basta adicionar esse trecho de código ao seu arquivo de funções ou como um novo trecho de código WPCode:

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

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

Deseja colocar um rótulo branco em sua área de administração do WordPress? Adicionar um logotipo de painel personalizado é a primeira etapa do processo.

Primeiro, você precisará carregar seu logotipo personalizado na 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 16×16 pixels.

Depois disso, você pode adicionar esse código ao arquivo de funções 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 obter mais detalhes, consulte nosso guia sobre como adicionar um logotipo de painel personalizado no WordPress.

3. Alterar o rodapé no painel de administração do WordPress

O rodapé da área de administração do WordPress mostra a mensagem “Thank you for creating with WordPress” (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="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');

Fique à vontade para alterar o texto e os links que você deseja adicionar. Veja como ficou em nosso site de teste.

Admin footer

4. Adicionar widgets de painel personalizados no WordPress

Você provavelmente já viu os widgets que muitos plugins e temas adicionam ao painel do WordPress. Você mesmo pode adicionar um, 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://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}

Esta é a aparência que teria:

Custom dashboard widget

Para obter detalhes, consulte nosso tutorial sobre como adicionar widgets de painel personalizados no WordPress.

5. Alterar o Gravatar padrão no WordPress

Você já viu o avatar padrão do homem misterioso nos blogs? Você pode substituí-lo facilmente por um avatar personalizado com sua própria marca.

Basta carregar a imagem que você deseja usar como avatar padrão e adicionar esse código ao seu arquivo de funções ou ao plug-in WPCode:

function wpb_custom_default_gravatar( $avatar_defaults ) {
	$myavatar = 'https://example.com/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 acessar a página Configurações ” Discussão e selecionar seu avatar padrão.

Custom default gravatar

Para obter instruções detalhadas, consulte 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, ela não mostrará quando seu site foi iniciado e não será alterada automaticamente no ano seguinte.

Esse 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;
}

Depois de adicionar essa função, você precisará abrir o arquivo footer.php e adicionar o seguinte código onde deseja exibir a data dinâmica do copyright:

<?php echo wpb_copyright(); ?>

Essa função procura a data de sua primeira postagem e a data de sua última postagem. Em seguida, ela retorna os anos sempre que você chamar a função.

Dica: se você estiver usando o plug-in WPCode, poderá combinar os dois trechos de código. Depois disso, escolha o local “Site Wide Footer” na seção “Inserção” das configurações do snippet. Isso exibirá automaticamente a data de copyright no rodapé sem editar o arquivo footer.php do seu tema.

Add to footer using WPCode

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

7. Alterar aleatoriamente a cor do plano de fundo no WordPress

Deseja alterar aleatoriamente a cor de fundo do seu blog do WordPress a cada visita e recarga de página? Veja aqui como fazer isso facilmente.

Primeiro, adicione esse código ao arquivo de funções do seu tema ou ao plug-in 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 em seu tema. Localize a tag <body> e substitua-a por esta linha:

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

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

Random background colors

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

8. Atualizar URLs do WordPress

Se a página de login do WordPress continuar sendo atualizada ou se você não conseguir acessar a área administrativa, será necessário atualizar os URLs do WordPress.

Uma maneira de fazer isso é usar 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 URL do WordPress e URL do site ficarão bloqueados e não poderão ser editados.

Em vez disso, basta adicionar este código ao seu arquivo de funções para corrigir o problema:

update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );

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

Depois de fazer login, você pode ir para a página 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 adicionais de imagem 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.

Basta adicionar esse 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

Esse 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 exibir um tamanho de imagem em qualquer lugar do tema usando esse código:

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

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

10. Adicionar novos menus de navegação ao tema

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

Você pode adicionar esse código ao arquivo de funções do seu tema ou como um novo snippet de 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 Appearance ” Menus no painel do WordPress e ver “My Custom Menu” como a opção de localização do tema.

Custom menu location

Observação: Esse código também funcionará com temas de blocos com o recurso de edição completa do site. Ao adicioná-lo, a tela Menus será ativada em Appearance.

Agora você precisa adicionar esse código ao 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 obter 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

Deseja adicionar campos extras aos seus perfis de autor no WordPress? Você pode fazer isso facilmente adicionando esse código ao seu arquivo de funções 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);

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

New profile fields

Agora você pode exibir esses campos em seu modelo de autor da seguinte forma:

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

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

12. Adição de áreas preparadas para widgets ou barras laterais em temas do WordPress

Esse é um dos snippets de código mais usados, e muitos desenvolvedores já sabem como adicionar áreas prontas para widgets ou barras laterais aos temas do WordPress. Mas ele merece estar nesta lista para as pessoas que não sabem.

Você pode colar o código a seguir em 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: Esse código também funcionará com temas de blocos com o recurso de edição completa do site. Ao adicioná-lo, a tela Widgets será ativada em Appearance.

Agora você pode visitar a página Appearance ” Widgets e ver sua nova área de widgets personalizados.

Custom widget area

Para exibir essa barra lateral ou área pronta para widget em seu site, você precisará adicionar o seguinte código no modelo em que deseja exibi-la:

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

Para obter mais detalhes, consulte nosso guia sobre como adicionar áreas e barras laterais dinâmicas prontas para widgets no WordPress.

13. Manipular o rodapé do RSS Feed

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

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 obter mais informações, consulte nosso guia sobre como adicionar conteúdo e manipular completamente seus feeds RSS.

14. Adicionar imagens em destaque a RSS Feeds

A miniatura da postagem ou as imagens em destaque geralmente são exibidas apenas no design do site. Você pode estender facilmente essa funcionalidade ao 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 obter mais detalhes, consulte nosso guia sobre como adicionar miniaturas de postagens ao seu feed RSS do WordPress.

15. Ocultar erros de login no WordPress

Os hackers podem usar os erros de login para adivinhar se eles digitaram o nome de usuário ou a senha errada. Ao ocultar os erros de login no WordPress, você pode tornar sua área de login e o site do WordPress mais seguros.

Basta adicionar o código a seguir ao arquivo de funções 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 quando digitarem um nome de usuário ou senha incorretos.

Custom login errors

Para obter mais informações, consulte nosso tutorial sobre como desativar as dicas de login nas mensagens de erro do WordPress.

16. Desativar o login por e-mail no WordPress

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

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

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

17. Desativar o recurso de pesquisa no WordPress

Se quiser desativar o recurso de pesquisa do seu site WordPress, basta adicionar esse código ao seu arquivo de funções ou em um novo snippet 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;
}}

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

Para obter mais informações, consulte nosso tutorial sobre como desativar o recurso de pesquisa do WordPress.

Dica profissional: em vez de desistir da pesquisa no WordPress, recomendamos que você experimente o SearchWP. Ele é o melhor plug-in de pesquisa do WordPress no mercado que permite adicionar um recurso de pesquisa avançado e personalizável ao seu site.

18. Atrasar publicações no RSS Feed

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

O erro entra em vigor e é distribuído aos assinantes do seu feed RSS. Se você tiver assinaturas de e-mail em seu blog do WordPress, esses assinantes também receberão uma notificação.

Basta adicionar esse código ao arquivo de funções do seu tema ou como um novo snippet de WPCode para atrasar as publicações em 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

		// http://dev.mysql.com/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 $wait ou tempo de atraso. Sinta-se à vontade para alterar esse valor para qualquer número de minutos que desejar.

Para obter um método de plug-in e mais informações, consulte nosso guia detalhado sobre como atrasar a exibição de postagens no feed RSS do WordPress.

19. Alterar o texto de Leia Mais para trechos no WordPress

Deseja alterar o texto que aparece após o trecho em suas postagens? Basta adicionar esse código ao arquivo de funções do seu tema ou como um novo snippet de 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 quiser desativar os feeds RSS em seu site WordPress, adicione esse código ao arquivo de funções do seu tema ou como um novo snippet 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 obter um método de plug-in e mais informações, consulte nosso guia sobre como desativar os feeds RSS no WordPress.

21. Alterar o comprimento do trecho no WordPress

O WordPress limita o tamanho dos trechos a 55 palavras. Você pode adicionar esse código ao seu arquivo de funções ou como um novo snippet de 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 mostrar nos trechos.

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

22. Adicionar um usuário administrador no WordPress

Se você esqueceu a senha e o e-mail do WordPress, poderá adicionar um usuário administrador adicionando esse código ao arquivo de funções 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: Depois de fazer login no site do WordPress, não se esqueça de excluir o código do arquivo de funções.

Para saber mais sobre esse tópico, dê uma olhada em nosso tutorial sobre como adicionar um usuário administrador no WordPress usando FTP.

23. Desativar o alternador de idiomas na página de login

Se você tiver um site multilíngue, o WordPress exibirá 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 WPCode:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. Mostrar o número total de usuários registrados no WordPress

Deseja mostrar o número total de usuários registrados no seu site WordPress? Basta adicionar esse código ao arquivo de funções do seu tema ou como um novo snippet 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');

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

Agora você só precisa adicionar o shortcode [user_count] ao seu post ou página onde deseja mostrar o número total de usuários.

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

25. Excluir categorias específicas do RSS Feed

Deseja excluir categorias específicas de seu feed RSS do WordPress? Você pode adicionar esse código ao arquivo de funções 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 um URL em um link clicável nos comentários.

Você pode interromper isso adicionando o seguinte código ao seu arquivo de funções ou como um novo snippet do WPCode:

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

Para obter detalhes, consulte nosso artigo sobre como desativar o autolinking nos comentários do WordPress.

27. Adicionar classes CSS pares e ímpares aos posts do WordPress

Você já deve ter visto temas do WordPress usando uma classe par ou ímpar para os 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 suas postagens no WordPress. Ela tem uma aparência esteticamente agradável e ajuda os usuários a examinar rapidamente as páginas com muito conteúdo.

Basta adicionar esse código ao arquivo de funções 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';

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

Aqui estão alguns exemplos de código para ajudá-lo a começar:

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

O resultado final será parecido com o seguinte:

Alternating background colors

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

28. Adicionar tipos de arquivos adicionais para serem carregados no WordPress

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

Basta adicionar este código ao arquivo de funções 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);

Esse código permite que você carregue arquivos SVG e PSD no WordPress.

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

Para saber mais sobre esse tópico, confira nosso tutorial sobre como adicionar tipos de arquivos adicionais para serem carregados no WordPress.

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

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

Usar o plug-in WP Mail SMTP é a maneira correta de corrigir isso.

WP Mail SMTP

Ele corrige problemas de capacidade de entrega 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, consulte nosso guia sobre como corrigir o problema do WordPress que não está enviando e-mails.

Por outro lado, se você quiser mudar rapidamente 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 esse método é que o WordPress ainda está usando a função mail() para enviar e-mails, e é mais provável que esses e-mails acabem em spam.

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

30. Adicionar uma caixa de informações do autor nos posts do WordPress

Se você administra um site com vários autores e deseja exibir biografias de autores no final de suas postagens, pode tentar esse método.

Comece adicionando esse código ao seu arquivo de funções 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 algumas CSS personalizadas para melhorar a aparência.

Você pode usar esse exemplo de CSS 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;
}

Esta é a aparência de sua caixa de autor:

Author bio box

Para obter um método de plug-in e instruções mais detalhadas, consulte nosso artigo sobre como adicionar uma caixa de informações do autor em publicações do WordPress.

31. Desativar o XML-RPC no WordPress

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

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

add_filter('xmlrpc_enabled', '__return_false');

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

32. Vincular automaticamente imagens em destaque a publicações

Se o seu tema do WordPress não vincula automaticamente as imagens em destaque a artigos completos, você pode tentar este método.

Basta adicionar esse código ao arquivo de funções do seu tema ou como um novo snippet de 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 );

Talvez você queira ler nosso artigo sobre como vincular automaticamente imagens em destaque a postagens no WordPress.

33. Desativar o Block Editor no WordPress

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

No entanto, talvez seja necessário usar o Editor Clássico mais antigo em alguns casos de uso.

A maneira mais fácil de desativar o editor de blocos é usar o plug-in Classic Editor. Entretanto, se não quiser usar um plug-in separado, basta adicionar o código a seguir ao seu arquivo de funções 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 obter mais detalhes, consulte nosso tutorial sobre como desativar o Block Editor e usar o Classic Editor.

34. Desativar widgets de bloco no WordPress

O WordPress mudou dos widgets clássicos para os 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 código a seguir no arquivo de funções do seu tema ou como um novo snippet do WPCode:

add_filter( 'use_widgets_block_editor', '__return_false' );

Para obter mais detalhes, consulte nosso artigo sobre como desativar os blocos de widgets (restaurar widgets clássicos).

35. Exibir a data da última atualização no WordPress

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

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

Last updated date

Você pode mostrar a data da última atualização usando o seguinte código no arquivo de funções 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 obter métodos alternativos e mais detalhes, consulte nosso guia sobre como exibir a data da última atualização no WordPress.

36. Use nomes de arquivos em letras minúsculas para uploads

Se você tiver um site com vários autores, os autores poderão fazer upload de imagens com nomes de arquivos em letras maiúsculas e minúsculas.

A adição do código a seguir garante que todos os nomes de arquivos estejam em letras minúsculas:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Observação: O código não alterará os nomes de arquivos para uploads existentes. Para obter 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 front-end

Por padrão, o WordPress exibe a barra de administração na parte superior quando um usuário conectado visualiza seu site.

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

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

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

38. Alterar o texto do 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 conectado.

Howdy greeting

Você pode alterar a saudação padrão para sua própria saudação adicionando o seguinte código em 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 obter mais detalhes, consulte nosso artigo sobre como alterar a mensagem “Howdy Admin” no WordPress.

39. Desativar a edição de código no Block Editor

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

No entanto, talvez você queira manter esse recurso limitado aos administradores do site.

Para isso, você pode adicionar o seguinte código ao seu arquivo de funções ou como um snippet do WPCode:

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

	return $settings;
} );

40. Desativar o editor de arquivos de plug-in/tema

O WordPress vem com um editor interno no qual você pode editar arquivos de plugin. Você pode vê-lo acessando a página Plugins ” Plugin File Editor.

Plugin file editor in WordPress

Da mesma forma, o WordPress também inclui um editor de arquivos para temas clássicos em Appearance ” Theme File Editor.

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

Theme file editor

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

Para desativar o editor de plugin/tema, adicione o seguinte código ao seu arquivo de funções ou como um snippet do WPCode:

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

Para obter mais detalhes, consulte nosso tutorial sobre como desativar o editor de plugin/tema 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 entra no seu site WordPress.

Se você administra um site de associação do WordPress ou exige que os usuários se inscrevam, receberá uma notificação sempre que um usuário entrar no seu site.

Para desativar essas notificações, você pode adicionar o seguinte ao seu arquivo de funções 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 obter mais detalhes, consulte nosso tutorial sobre como desativar as notificações de e-mail de novos usuários no WordPress.

42. Desativar notificações automáticas de atualização por e-mail

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

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

Você pode adicionar esse código ao seu arquivo de funções 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, consulte nosso artigo sobre como desativar os e-mails de atualização automática no WordPress.

43. Adicionar um link para duplicar facilmente uma postagem

Já desejou uma maneira mais fácil de copiar todo o conteúdo de uma postagem rapidamente para edição sem tocar na postagem publicada?

O trecho de código a seguir adicionará uma opção para duplicar facilmente uma postagem 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.' );
	}
} );

Depois de adicionar o código, vá para a tela Posts ” All Posts e passe o mouse sobre o título de um post.

Você verá um novo link “Duplicate” (Duplicar) abaixo das opções.

Duplicate post link

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

Quando terminar, você poderá copiar e colar suas alterações na postagem original publicada e excluir a cópia.

Para obter um método de plug-in, consulte nosso artigo sobre como duplicar uma postagem ou página do WordPress.

44. Remover o painel de boas-vindas do painel de administração do WordPress

O Welcome Panel aparece no painel de administração do WordPress. Ele pode ser facilmente descartado ou ocultado clicando no botão “Opções de tela”.

Welcome panel

No entanto, se você estiver trabalhando para criar uma experiência de painel mais limpa para os usuários, talvez queira 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 em destaque para posts na administração do WordPress

Por padrão, o WordPress só mostra imagens em destaque quando você está visualizando o site ou quando edita um post ou uma página.

O código a seguir adicionará uma nova coluna à tela Posts ” All Posts para as imagens em destaque:

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 depois de adicionar o código.

Featured image column

46. Bloquear a área de administração do WordPress para todos, exceto os administradores

Alguns sites do WordPress podem precisar que os usuários registrem uma conta. Por exemplo, um site de associação do 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 esse plug-in, poderá adicionar o seguinte código para impedir que todos os usuários, exceto os administradores, acessem a área de administração:

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

Os usuários com outras funções de usuário ainda podem fazer login em suas contas, mas depois de fazer 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. Talvez você também queira ver nosso guia definitivo para aumentar a velocidade e o desempenho do WordPress e nossas escolhas de especialistas para os melhores editores de código para Mac e Windows.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

O kit de ferramentas definitivo WordPress

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

Reader Interactions

115 ComentáriosDeixe uma resposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Moinuddin Waheed says

    So much to accomplish with the help of functions.php
    I think this is the core of the WordPress and if we do too much to it, we may lose many core functionalities.
    having said this, using wpcode is a wise idea to insert anything for functionality without compromising the WordPress core.
    I have a question though, if wpcode doesn’t insert it’s code in the main functions.php then how it works?
    and if inserts it into the same, how updating wordpress doesn’t erase it?

    • WPBeginner Support says

      The code is stored in your database and the plugin hooks in the code in different ways depending on how you set it in the plugin.

      Administrador

  3. Jiří Vaněk says

    I’ve noticed that on some websites, the top part of the browser changes color, specifically on mobile Chrome. Do you have any tested snippet that accomplishes this?

  4. Ralph says

    A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will :)

  5. Ben says

    This is a pretty dangerous idea. Query strings exist for the purposes of cache busting, aka, making sure the end user has the latest version your js and css files.

    Removing those is going to cause all sorts of issues for returning users down the line as their browser will assume nothing has changed and use their cached version rather than downloading the new one.

    If for some reason you need to target a specific file and remove the query string (which I’ve had to do) you can use this code snippet:

    // remove version from scripts and styles
    function remove_version_scripts_styles($src) {
    if (strpos($src, ‘yourfile.js’)) {
    $src = remove_query_arg(‘ver’, $src);
    }
    return $src;
    }
    add_filter(‘script_loader_src’, ‘remove_version_scripts_styles’, 9999);

  6. Gean Paulo Francois says

    Very useful article. I just saved this page offline so I can insert some of these with my websites. Anyway, should I add the codes to functions,php and not anywhere else?

  7. Hussain Badusha says

    Nice compendium of some useful tricks and functions for wordpress. I added quite a new things to my wordpress knowledge after going through here.

    I look forward even more from you if you wish to

  8. vivek says

    Nice article,

    Just have a doubt if I am supposed to add these codes in snippets plugin or somwhere in file? if its snippet plugin, it’s not working. Kindly put some light.
    Thanks

    • WPBeginner Support says

      You would add these codes as a custom plugin or more commonly in your functions.php file

      Administrador

  9. Miley Cyrus says

    Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.

  10. John Dee says

    Almost NONE of these code snippets belong in your theme’s functions.php file. Only a few of them are related to the actual theme. Themes are for APPEARANCE. Create a PLUGIN for functionality. In any case, it would go in child theme’s functions.php file.

    • WPBeginner Support says

      Thank you for pointing this out, while we do mention site-specific plugins at the beginning of this article, we will be sure to look into making that statement clearer.

      Administrador

  11. Richard Yzenbrandt says

    Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!

  12. alok patel says

    hey i am unable to add my post on specific page. when i write any blog post it shows in home page but i wanna also see in specific pages where i want to add. how i can out of from this problem. plz help me as soon as possible. if any video link thn plz share with reply. i m getting too much confused.

  13. DONALD says

    I am creating a form to collect data from my users.
    I have created the database from myphpAdmin
    I have created the form.
    I now created a new php.file in my child theme
    I referenced it in the form too using action = “name.php”
    Now i expect it to gather, peoples registration details.
    But clicking on submit on the form, says, page cannot be found.
    I dont know what i am not getting right.
    Please help me

  14. Shafiq Khan says

    Very useful post thanks.

    A question – Because you’re updating the functions.php of a theme.
    If you update the theme then you lose your tweaks.

    Is there a way around this? Is it just a cause of using a Child theme?

    Thanks

    • Lisa says

      Hi Shafiq,

      Any changes you make to a parent theme will be overwritten when you update it. It is good practice to work with a child theme when making changes to a theme you didn’t build that is going to be updated so that you can keep the changes you made.

    • Jan says

      I use the plugin ‘My Custom Functions’ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed :)

    • Jane Lawson says

      This is late, but you can also create a plugin for your site (e.g. “[Site name]’s custom plugin”). It does require a bit of expertise, however, since some functions clash with other plugins/the site theme.

  15. Al1 says

    Another one :

    // Remove query string from static files :
    function remove_cssjs_ver( $src ) {
    if( strpos( $src, ‘?ver=’ ) )
    $src = remove_query_arg( ‘ver’, $src );
    return $src;
    }
    add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
    add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );

  16. Andrew says

    I tried #16 to add the post featured thumbnail to m RSS feed but when I tested it in mailchimp (paused my campaign and previewed) it appears that it has changed from “summary” to “full text”? Is this expected behaviour? I want to leave the emails (rss driven) as summary, and simply add the thumbnail featured image at the top.

    Thanks for any help, I can’t find this on google anywhere.

  17. Em Cloney says

    re: removing rss feed for static pages — is it correct that the txt one would replace in that code is ‘url’ (with a page link, including ) and ‘homepage’ (if you’d like it to say something else, like ‘some other site’)?

  18. Mick O says

    Thanks for the helpful article. I really appreciate it. Can you possibly explain why the snippet to add Google analytics (#1) code includes the php declarations. If I have an existing functions.php file that is already defined with , do I need to include the markers again in the snippet? I’m trying to add other customizations into the functions.php and it’s getting hard to keep track.

  19. Luke Gibson says

    The one about the copyright date seems a little OTT when you could simply cut and paste in © 2006- and it would do exactly the same job, just replace 2006 with whatever static start date you wish. Or am I missing something?

  20. Zeeshan Arshad says

    Excellent, I was done with my theme and learning but there was much left. This post saved my day and of course I learnt many things as well.

    Best Wishes!

  21. Mark says

    Great set of tools. I immediately copied the guest author function as I saw it and will now disable a clumsy plugin I’ve been using. Do you have a function that will provide the post ID of the item being worked with in the editor? I’m trying to auto fill a form with media attachments for the current post but have only been able to get it to work in a custom meta-box but not in a thickbox . The thickbox returns all the media files for all the posts when I just want the current posts’s attachments.

  22. mommyblogger says

    Thanks for the great WordPress tips! I was hoping you could help me with an additional one?

    I’d like to prevent my tags/categories from spilling over onto another line by limiting the number of tags/categories that appear in the footer of my individual homepage posts. Is it possible to do this with the “the_excerpt”? I would also like the excerpt to be a “…read more” link and limit the number of characters in it. Here is the code it would need to be added to;

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

    Thanks!

  23. SteveEBoy says

    Like all the others have said below – just too good, a massive help for a newbie and very useful for learning too. Great site all round. Thanks.

  24. LambrosPower says

    one of the best tutorials i read. Many important topics pointed out and for sure i didn’t know most of them since i just started wordpress custom design.

  25. Xiaozhuli says

    This article is endlessly useful. I bookmarked it and often refer to it when updating my theme or trying to answer a question. Great job!

  26. Mohammad Yeasin says

    You guys are just awesome. You know what, wpbegineer is the first website for which i have a separate folder in my bookmark menu. Too good for a wp begineer. youe name suits ur personality. lolz. One day i would must do something special for you. Inshallah.
    The only problem i face is related post with thumbnail. your coder are not working. vDont know what to do. Whatever, Keep up the marvelous job. Love the site wpbegineer.

  27. AA says

    Great post! You obviously know a lot about wordpress coding so I’m hoping you can answer a question. How to you remove the date & time stamp from a wordpress feed-rss? I’ve looked everywhere and can’t find any information on this. I’m working on a wordpress “site” and do not have a use for the dates. I have already removed them from the posts & pages.

    Much thanks in advance!

    • Editorial Staff says

      Date is NOT optional for RSS feeds. It is a MUST because that is how posts / articles are organized (reverse chronological order). You can remove the display of dates from the template, but you cannot remove them from the XML.

      Administrador

Deixe uma resposta

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