O arquivo de funções do WordPress, conhecido como functions.php, é uma ferramenta poderosa que vem com todos os temas do WordPress. Ele funciona como um plug-in, permitindo que você adicione códigos personalizados ao seu site com facilidade.
Usamos código personalizado em nossos sites quando um pequeno trecho de código pode ser usado. Essa versatilidade e flexibilidade do WordPress nos permitem combinar a funcionalidade de vários plug-ins de uma maneira fácil de gerenciar.
Neste artigo, compartilharemos alguns desses truques práticos e úteis para usar o arquivo de funções do WordPress, ajudando-o a obter mais do seu site WordPress.
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.
Entretanto, salvar o código personalizado em um arquivo de funções não é uma boa prática.
Se você atualizar o tema, o arquivo functions.php será substituído e você perderá os trechos de código personalizados. Não é possível desativar um snippet sem excluí-lo.
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.
Por que recomendamos o WPCode?
- Salve facilmente trechos de código personalizados sem editar nenhum arquivo principal.
- Insira automaticamente trechos de código onde você precisar deles
- Cada trecho de código é salvo separadamente e pode ser desativado individualmente.
- Um mecanismo de segurança integrado desativará um trecho de código se ele causar um erro em seu site.
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.
Dito isso, aqui está uma lista dos itens que abordaremos neste artigo. Você pode pular para aquele que lhe interessa ou simplesmente seguir adiante:
- How to Add These Code Snippets to Your Website
- Remove WordPress Version Number
- Add a Custom Dashboard Logo
- Change the Footer in WordPress Admin Panel
- Add Custom Dashboard Widgets in WordPress
- Change the Default Gravatar in WordPress
- Dynamic Copyright Date in WordPress Footer
- Randomly Change the Background Color in WordPress
- Update WordPress URLs
- Add Additional Image Sizes in WordPress
- Add New Navigation Menus to Your Theme
- Add Author Profile Fields
- Adding Widget-Ready Areas or Sidebars in WordPress Themes
- Manipulate the RSS Feed Footer
- Add Featured Images to RSS Feeds
- Hide Login Errors in WordPress
- Disable Login by Email in WordPress
- Disable Search Feature in WordPress
- Delay Posts in RSS Feed
- Change Read More Text for Excerpts in WordPress
- Disable RSS Feeds in WordPress
- Change Excerpt Length in WordPress
- Add an Admin User in WordPress
- Disable Language Switcher on Login Page
- Show the Total Number of Registered Users in WordPress
- Exclude Specific Categories From RSS Feed
- Disable URL Links in WordPress Comments
- Add Odd and Even CSS Classes to WordPress Posts
- Add Additional File Types to Be Uploaded in WordPress
- Change Sender Name in WordPress Emails
- Add an Author Info Box in WordPress Posts
- Disable XML-RPC in WordPress
- Automatically Link Featured Images to Posts
- Disable Block Editor in WordPress
- Disable Block Widgets in WordPress
- Display the Last Updated Date in WordPress
- Use Lowercase Filenames for Uploads
- Disable WordPress Admin Bar on Frontend
- Change Howdy Admin Text in Admin Area
- Disable Code Editing in Block Editor
- Disable Plugin / Theme File Editor
- Disable New User Notification Emails
- Disable Automatic Update Email Notifications
- Add a Link to Easily Duplicate a Post
- Remove Welcome Panel From the WordPress Admin Dashboard
- Add a Featured Image Column for Posts in WordPress Admin
- Block WordPress Admin Area for Everyone Except Administrators
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.
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.
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”.
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/.
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.
2. Adicionar um logotipo personalizado do painel
Deseja colocar um rótulo branco em sua área de administração do WordPress? A primeira etapa é adicionar um logotipo de painel personalizado.
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.
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:
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.
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.
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 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.
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.
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.
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.
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.
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 mais informações sobre um método de plug-in, 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, basta adicionar o shortcode [user_count]
ao seu post ou página em que 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:
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.
29. Alterar o nome do remetente em e-mails do 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.
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:
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.
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.
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.
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.
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.
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”.
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.
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 sobre como exibir código no WordPress para compartilhar seus snippets facilmente e nossas escolhas de especialistas para os melhores editores de código para Mac e Windows.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Moinuddin Waheed
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
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
Jiří Vaněk
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?
WPBeginner Support
We do have a guide for this, you can see our guide below:
https://www.wpbeginner.com/wp-tutorials/how-to-change-the-color-of-address-bar-in-mobile-browser-to-match-your-wordpress-site/
Administrador
Jiří Vaněk
Thank you. I tried it on my own website and it works perfectly. Although only in Chrome, but it works.
Ralph
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
WPBeginner Support
Glad to hear you found our tricks helpful
Administrador
Ben
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);
Gean Paulo Francois
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?
WPBeginner Support
Correct, these codes are for your functions.php file.
Administrador
Hussain Badusha
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
WPBeginner Support
Glad you found our guide helpful
Administrador
Satinder Satsangi
Oh WoW,
This is lifesaver most of the times, would like to know more about useful functions.
WPBeginner Support
Glad you found our guide helpful
Administrador
vivek
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
You would add these codes as a custom plugin or more commonly in your functions.php file
Administrador
Beulah Wellington
Thank you for this tutorial. I learned a lot. I will be reading it again.
WPBeginner Support
You’re welcome, glad our guide can continue to help you
Administrador
Ali Jahani
Hi
Thanks a lot of….
wpbeginner Is god team
WPBeginner Support
You’re welcome, glad you like our content
Administrador
VISHAL CHOWDHRY
Superb Article.
Waiting for more of this
WPBeginner Support
Thank you, glad you liked our content
Administrador
Miley Cyrus
Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.
WPBeginner Support
Glad our article could be helpful
Administrador
John Dee
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
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
Suman Samanta
Nice information for a new bloggers. It is really helpful.
Richard Yzenbrandt
Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!
alok patel
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.
DONALD
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
marvin N N
is there a plugin one can use to customise a theme’s default menu setting to suit your taste???
Sazzad Hossain
Thanks for this codes.
Shafiq Khan
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
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
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
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.
Neil
Excellent post – thank you for the tips & tricks. They are all very helpful
Karakaplan
How to use these above with child theme functions file?
Minhaz
Nothing difference with parent or child theme’s functions.php
Joe
I’ve not done much with the functions file so it was good to see this article.
Thanks.
Jorge Rosa
Great snippets. Very handy and useful. Thank You!
sriganesh
this is best site for wordpress
WPBeginner Support
Thanks for the kind words
Administrador
Bilal
will you tell me a most easy book for wordpress.
i am very new in this field .
thanks in advance
Al1
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 );
siva
Great post, Could provide all wordpress function with example
shojib
This is the best blog for Wordpress users.
Parveen
Great post!!!
I am a newbie and looking for such tricks.
Thanks.
Deepak Kanyan
Really a nice blog. i had learn lot of things from here thanks admin.
Andrew
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.
WPBeginner Support
You can try replacing get_the_content() with get_the_excerpt().
Administrador
Em Cloney
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’)?
Mohan Manohar
This is huge list and great help. would like to know the first part of twitter counter code is to be pasted in function.php or directly into texty widget of theme.
grafx
There is an easier way to remove WordPress Version Number…
remove_action(‘wp_head’, ‘wp_generator’);