17 Hacks de arquivo WordPress Functions.php
Publicados: 2017-05-28De todos os seus arquivos principais do WordPress, poucos são tão versáteis quanto functions.php . Se você souber como interagir com ele, este arquivo permitirá que você adicione todos os tipos de funcionalidade ao seu site com apenas algumas linhas de código.
Neste artigo, contaremos tudo o que você precisa saber sobre o arquivo de funções do WordPress e como usá-lo a seu favor. Discutiremos o que ele faz, por que você deve usá-lo e quando não. Além disso, apresentaremos 17 hacks de arquivos úteis para estender a funcionalidade do seu site sem ter que instalar um plugin.
Vamos colocar esse show na estrada!
Uma introdução ao arquivo de funções do WordPress
O arquivo functions.php é um dos arquivos principais do WordPress. Em outras palavras, ajuda a impulsionar toda a plataforma e está por trás de muitos dos recursos do seu site.

Você também pode usar o arquivo functions.php como uma maneira improvisada de implementar novos recursos em seu site, como adicionar novos widgets ao seu painel ou tamanhos de imagem personalizados para sua instalação. É a alternativa perfeita aos plug-ins do WordPress para recursos simples ou temporários.
Também é importante notar que há um arquivo functions.php 'pai' que influencia todo o seu site, mas cada tema vem com sua própria versão filha (muito parecida com seu arquivo style.css ). Isso efetivamente permite que você implemente funções apenas para temas específicos, sem afetar o seu site globalmente.
17 Hacks de arquivos para o seu arquivo WordPress Functions.php
Como mencionamos anteriormente, cada tema vem com seu próprio arquivo functions.php . Se você vai fazer modificações extensas no seu, o melhor curso de ação é configurar um tema filho para que suas alterações não desapareçam durante as atualizações. Você também vai querer fazer backup do seu site antes de fazer qualquer alteração, apenas no caso de algo dar errado e você precisar reverter suas alterações.
Continuando, você precisará acessar seu arquivo functions.php usando um cliente FTP (File Transfer Protocol) - como o FileZilla - para navegar até o diretório wp-content / themes / . Dentro, você encontrará uma pasta para cada um de seus temas, todos os quais devem ter seus próprios arquivos functions.php dentro de:

Apenas clique com o botão direito nele e escolha a opção que diz Editar, que abrirá seu editor de texto padrão. Com isso resolvido, vamos ao que interessa!
1. Adicionar um novo usuário administrador ao WordPress
Existem algumas ocasiões em que você pode ser bloqueado em sua conta de administrador e não conseguir alterar sua senha ou acessar seu site. Com esse ajuste, você terá uma maneira adicional de recuperar o acesso via FTP.
Como acontece com todos esses hacks e snippets, simplesmente copie o código a seguir, cole-o no final do arquivo functions.php do seu tema e salve as alterações.
function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = '[email protected]';
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');Você precisará substituir os valores onde diz nome de usuário, senha e e- mail pelos seus, e está tudo pronto!
2. Exibir o número total de usuários registrados
Se você sempre quis se gabar para o mundo sobre quantos usuários seu site tem, esse ajuste permite adicionar uma contagem simples ao seu front end. Este hack também tem usos além do direito de se gabar. Por exemplo, as pessoas podem estar mais dispostas a confiar em seu site se souberem que ele tem uma forte base de usuários. Aqui está o snippet:
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
add_shortcode('user_count', 'wpb_user_count');Isso é um pouco avançado, pois, na verdade, registramos o shortcode personalizado [user_count] para exibir o total de usuários registrados em seu site. Embora este possa ser um tópico complexo, nossa implementação é simples!
3. Remova o 'Painel de boas-vindas' do seu painel
Seu painel de boas-vindas é a seção do painel que aparece assim que você faz login no WordPress e geralmente contém algumas dicas e listas de verificação para você começar. Com este snippet de código, você poderá removê-lo permanentemente:
remove_action('welcome_panel', 'wp_welcome_panel');Claro, o painel de boas-vindas não é invasivo, mas pode ficar um pouco velho se você já usa a plataforma há algum tempo e não precisa mais das dicas. Além disso, como tudo o que é necessário é uma linha de código, não há literalmente nenhuma desvantagem nesse hack.
4. Oculte o número da versão do WordPress
Como você provavelmente sabe, dependendo do tema que está usando, o WordPress tende a exibir seu número de versão no rodapé do seu site. É um pequeno detalhe que você pode remover facilmente com este código:
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');Se você estiver executando uma versão antiga do WordPress (o que é claro, você não deveria estar), esse ajuste pode ser útil para torná-lo um alvo menos tentador.
5. Modifique o rodapé do painel
Seu painel do WordPress provavelmente inclui um pouco de texto no rodapé, geralmente declarando algum tipo de crédito (geralmente o próprio WordPress). É algo que você pode ter se tornado cego, mas este corte não lhe oferecer uma boa oportunidade para personalizar ou marca o seu site com um hack simples. Vamos verificar o código correspondente:
function remove_footer_admin () {
echo 'Hello world!';
}
add_filter('admin_footer_text', 'remove_footer_admin');Para este hack, você deve substituir o Hello world! texto com o seu próprio, incluindo todos os links que deseja incluir.
6. Adicione um widget de texto simples ao seu painel
Se você decidiu limpar algum espaço em seu painel removendo o widget de boas-vindas, você pode querer substituí-lo por um de sua preferência. Usando este código, você poderá configurar um widget de texto simples:
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_widget', 'More Information', 'custom_dashboard_information');
}
function custom_dashboard_information() {
echo 'If you need help making changes to your site, you can always contact me via email at...';
}Este snippet irá adicionar um widget chamado More Information ao seu painel, incluindo o texto dentro da função custom_dashboard_information . Para este exemplo, optamos por criar uma espécie de widget de contato, que você pode usar para marcar sites de clientes com etiqueta em branco e lembrá-los de manter contato, se necessário.
7. Adicione tamanhos de imagem personalizados às suas instalações
O WordPress permite que você redimensione suas imagens para dimensões específicas após carregá-las e fornece algumas predefinições por padrão. Com este código, você poderá adicionar novas predefinições para evitar ter que definir dimensões personalizadas:
add_image_size( 'sidebar-thumbnail', 120, 120 );
Lembre-se de que você pode adicionar quantos tamanhos desejar e eles podem ser particularmente úteis se houver uma resolução específica usada em todo o site.
8. Adicione as imagens em destaque ao seu feed RSS
Muitas pessoas não sabem disso, mas o WordPress gera feeds RSS para seus sites automaticamente. Se você pretende usar o seu, convém configurar uma imagem em destaque para suas postagens, o que pode ser feito com este código:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '
' . get_the_post_thumbnail($post->ID) .
'
' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');As imagens em destaque podem ajudar muito a tornar seu feed RSS mais atraente, o que é crucial para qualquer tipo de conteúdo que dependa de cliques.
9. Exclua categorias de seu feed RSS
Uma das melhores coisas sobre o recurso do feed RSS do WordPress é como ele é personalizável. Com este código, você poderá ocultar categorias específicas de seu feed, para que possa escolher qual conteúdo será adicionado:
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');Lembre-se de que o WordPress identifica as categorias de acordo com os números de ID (ou seja, -2 e -3 ) no código acima. Portanto, você precisará identificar os IDs para as categorias que deseja remover antes de implementar este hack.
10. Desative o seu feed RSS
Embora seja um ótimo recurso do WordPress, se você não estiver interessado em usar RSS, você pode desativá-lo completamente usando este snippet de código:
function fb_disable_feed() {
wp_die( __('Sorry, we don't use RSS!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);Você notará que o código inclui uma pequena mensagem para os usuários que tentam acessar seu feed depois de desativá-lo. Não há nenhuma desvantagem em mantê-lo ativo, mas se você tiver certeza de que não vai usá-lo, isso permite que você o desligue completamente e, potencialmente, salve um ou dois ciclos.
11. Oculte os detalhes do erro de login do WordPress
Erros de login muito detalhados podem fornecer aos indesejáveis as informações de que precisam para obter acesso ao seu site. Com este código, o WordPress não especifica onde você cometeu um erro ao tentar fazer login:
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );Ao usar esse hack, fica mais difícil para os invasores tentarem obter acesso ao seu site, enquanto os usuários reais não devem ter problemas para descobrir onde cometeram um erro. Uma win-win all around!
12. Forçar os usuários a fazer login com seus nomes de usuário
Muitas pessoas tendem a se inscrever em todos os serviços usando o mesmo e-mail, o que significa que os invasores podem tentar obter acesso apenas sabendo seus endereços de e-mail. Com este código, você forçará os usuários a fazer login usando exclusivamente nomes de usuário:
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
Para ser justo, os nomes de usuário também tendem a ser muito reutilizados, mas esse pequeno ajuste ainda pode ajudar a melhorar sua segurança e minimizar os ataques.
13. Altere o comprimento de seus trechos de postagem
Os índices de blogs do WordPress geralmente exibem breves trechos de suas postagens para dar aos leitores uma ideia do que estão fazendo. Se você sempre quis alterar a duração padrão desses trechos, aqui está uma oportunidade para fazer isso.
functionnew_excerpt_length($length) {
return 75;
}
add_filter('excerpt_length', 'new_excerpt_length');O comprimento padrão é 55, mas no código acima, aumentamos para 75 para nos dar um pouco mais de espaço de manobra.
14. Habilite o WordPress para fazer upload de qualquer tipo de arquivo que você deseja
Por padrão, o WordPress só permite que você carregue uma variedade muito limitada de tipos de arquivo, incluindo formatos de mídia comuns, como .png e .jpg. Com este código, você poderá forçar sua instalação para permitir mais tipos:
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);Tome .svg, por exemplo, que é um tipo de arquivo que discutimos no passado. Com este trecho, você poderá adicionar suporte para ele sem a necessidade de um plug-in.
15. Desative a vinculação automática de imagens
Fora da caixa, o WordPress adicionará links para cada imagem que você incluir em seu conteúdo que aponta para sua versão completa. Ao usar este código, você desabilitará esta funcionalidade:
function wpb_imagelink_setup() {
$image_set = get_option( 'image_default_link_type' );
if ($image_set !== 'none') {
update_option('image_default_link_type', 'none');
}
}
add_action('admin_init', 'wpb_imagelink_setup', 10);Lembre-se, porém, de que você ainda pode acessar esse recurso editando cada imagem individual - tudo isso impede que funcione automaticamente.
16. Adicionar uma área pronta de widget
O WordPress já inclui várias áreas prontas para widgets para você usar, mas você sempre pode adicionar novas usando um pouco da mágica de functions.php . Como em nosso hack de shortcodes anterior, você está começando a entrar no reino de desenvolvedor aqui. No entanto, esta é uma implementação simples que pode ajudá-lo imensamente:
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget', 'text_domain' ),
'description' => __( 'A custom widget, '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' );Lembre-se de que este código apenas 'registra' sua nova área de widget. Você ainda precisará chamá-lo para seções de tema específicas, como seu rodapé, editando seus respectivos arquivos.
17. Desative o recurso de pesquisa do WordPress
Quase todo site precisa de um recurso de pesquisa para ajudar os usuários a se localizar. No entanto, se você pretende construir um site de uma única página, pode não ser necessário. Este é o código que permitirá que você desligue:
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );Antes de desabilitar esse recurso, você precisa ter 100% de certeza de que não vai precisar dele, pois pode causar um grande impacto na usabilidade do seu site. Claro, você sempre pode remover o código para restabelecer a pesquisa em seu site, mas se você não tiver certeza, opte por ser cauteloso e não o desligue!
Conclusão
Seu arquivo functions.php é um dos ativos mais poderosos em sua caixa de ferramentas do WordPress. Não só permite que você adicione todos os tipos de recursos com algumas linhas de código, mas também é fundamental para o funcionamento do seu site (veja o que fizemos lá?).
Se você é um usuário Divi, o arquivo functions.php pode ajudá-lo a adicionar vários recursos complementares ao seu site sem ter que configurar plug-ins adicionais, o que é sempre uma vitória.
Você tem alguma dúvida sobre esses hacks de arquivos de funções do WordPress? Se sim, pergunte na seção de comentários abaixo!
Imagem em miniatura do artigo por MchlSkhrv / shutterstock.com
