10 Snippets WordPress Para Personalizações Temáticos

Escritor | 19:16 Leave a Comment
Quando você estiver usando WordPress, é extremamente fácil de mudar o visual do seu site, graças a temas. Existem muitos (como um grupo inteiro) do WordPress temas disponíveis, tanto de graça ou por um preço premium. Escolha um tema, instalá-lo, e você pode obter um olhar completamente novo para o seu site em poucos minutos.
Mas, além de dar a aparência, um tema WordPress pode ser estendido de muitas maneiras também. Você pode construir novas funcionalidades com plugins , mas neste post, nós estamos olhando para as funções do WordPress que podem ser útil para o seu tema .Você apenas tem que colocar essas funções no arquivo functions.php do seu tema para o efeito a ter lugar.

1. Alterar A Duração Do Trecho

Um trecho é um pequeno pedaço de seu post que você pode ver. WordPress, neste caso, define o trecho a ser de 55 palavras por muito tempo, por padrão. Mas, WordPress nos permite personalizar o tamanho padrão através do excerpt_length filtro, como se segue.
  1. função  my_excerpt_length (  $ length  ) {  
  2.    retornar  30;  
  3. }  
  4. add_filter (  'excerpt_length' ,  'my_excerpt_length' , 999);  
O valor de retorno refere-se à soma de palavras que será exibido como um trecho. No exemplo acima, eu exibo 30 palavras no valor de cada post no trecho.

2. Reduzir Post Revisões

WordPress permite que escritores e blogueiros olhar para trás em versões anteriores do seu trabalho. No entanto, como as revisões crescer em número, eles também podem afetar o desempenho de um site como cada revisão recém-gravado adiciona uma nova linha à base de dados. Este problema só vai piorar com o tempo.
Para resolver esse problema, você pode definir quantas revisões você deseja salvar no banco de dados. Para fazer isso, abra o seu wp-config.php e adicionar esse trecho abaixo.Alterar o número de limitar o número de revisões que você quer salvos.
  1. define ( 'WP_POST_REVISIONS' , 5);  
Se você preferir desabilitar revisão WordPress, mude o valor para FALSE como este:
  1. define ( 'WP_POST_REVISIONS' , false);  

3. Defina Automaticamente A Imagem Caracterizado Em Uma Mensagem

É prática comum para mostrar uma imagem de destaque que representa ou descreve um post. WordPress nos obriga a definir esta imagem destaque manualmente . Para tornar o processo mais eficiente, podemos definir a imagem de destaque automaticamente , fazendo a primeira imagem no post a imagem em destaque. Use o seguinte trecho de código.
  1. função  autoset_featured () {  
  2.     mundial  $ post ;  
  3.     $ Already_has_thumb  = has_post_thumbnail ( $ post -> ID);  
  4.     se  (! $ already_has_thumb ) {  
  5.     $ Attached_image  = get_children (  "post_parent = $ post-> ID & post_type = attachment & post_mime_type = imagem & numberposts = 1"  );  
  6.         se  ( $ attached_image ) {  
  7.             foreach  ( $ attached_image  como  $ attachment_id  =>  $ anexo ) {  
  8.                 set_post_thumbnail ( $ post -> ID,  $ attachment_id );  
  9.             }  
  10.         }  
  11.      }  
  12. }  
  13. add_action ( 'the_post' ,  'autoset_featured' );  
  14. add_action ( 'save_post' ,  'autoset_featured' );  
  15. add_action ( 'draft_to_publish' ,  'autoset_featured' );  
  16. add_action ( 'new_to_publish' ,  'autoset_featured' );  
  17. add_action ( 'pending_to_publish' ,  'autoset_featured' );  
  18. add_action ( 'future_to_publish' ,  'autoset_featured' );  

4. Força Mínima Comentário Comprimento

Não é um fã da palavra 1-2 comenta como "Nice Post!", "Good Job ! "? Embora o comentário pode não ser spam, estes são o tipo de comentários que não vai normalmente incentivam novas discussões. Se você deseja receber o seu comentaristas falando, você pode definir um comprimento mínimo de palavras necessárias antes que os leitores podem postar seus comentários.
Abaixo está o trecho para definir o número mínimo de caracteres ou palavras para comentários. Coloque-o em functions.php .
  1. função  minimal_comment_length (  $ commentdata  ) {  
  2.     $ MinimalCommentLength  = 20;  
  3.     se  (  strlen (trim (  $ commentdata 'comment_content' ])) <  $ minimalCommentLength  ) {  
  4.         wp_die (  'Todos os comentários devem ser, pelo menos "  .  $ minimalCommentLength  .  'caracteres.'  );  
  5.     }  
  6.     retornar  $ commentdata ;  
  7. }  
  8. add_filter (  'preprocess_comment' ,  'minimal_comment_length'  );  
$ MinimalCommentLength valor é o número mínimo de caracteres que é necessário, faça as alterações a este valor para ajustar isso.

5. Desative Os Vínculos De Comentários De Usuários

Links que estão incluídos no formulário de comentários irá tornar-se instantaneamente um link clicável, uma vez que são lançados e aprovados. Isso pode ser explorada por spammers, incentivando-os a inundar a sua seção de comentários com um link para sua página do "spam".
Para contrariar esta situação, você pode adicionar esse filtro para desativar o clique-capacidade do link (s) e retê-los simplesmente como texto simples.
  1. remove_filter ( 'comment_text' ,  'make_clickable' , 9);  

6. Retire Class E Id De De Menus Personalizados

Se você olhar para o menu personalizado no WordPress, você vai encontrar um monte de classes e ids em cada item do menu. Use o trecho a seguir para remover as classes que você não quer e para manter as classes que você precisa.
  1. função  my_css_attributes_filter ( $ var ) {  
  2.     retornar  is_array $ var )?  array_intersect $ var ,  matriz 'current-menu-item' )):  '' ;  
  3. }  
  4. add_filter ( 'nav_menu_css_class' ,  'my_css_attributes_filter' , 100, 1);  
  5. add_filter ( 'nav_menu_item_id' ,  'my_css_attributes_filter' , 100, 1);  
  6. add_filter ( 'page_css_class' ,  'my_css_attributes_filter' , 100, 1);  
No código acima, estamos mantendo o atual-menu-item classe.

7. Excluir Páginas De Pesquisa

Fazer pesquisas em WordPress vai puxar os resultados de ambas as páginas e posts, por vezes, com não muito relevante para a sua pesquisa. Para evitar isso, você pode filtrar os resultados da pesquisa para mostrar apenas aqueles encontrados em mensagens. Adicione esse trecho para function.php para fazer isso.
  1. função  SearchFilter ( $ query ) {  
  2.     se  ( $ query -> is_search) {  
  3.         $ Query -> set ( 'post_type' ,  'post' );  
  4.     }  
  5.     retornar  $ query ;  
  6. }  
  7. add_filter ( 'pre_get_posts' 'SearchFilter' );  

8. Substitua Olá Texto

Entediado com o texto 'Olá'? Se você quiser mudar isso para uma saudação especial em seu site, basta adicioná-lo ao functions.php eo efeito terá lugar imediatamente.
  1. função  change_howdy ( $ traduzido ,  $ texto ,  $ domain ) {  
  2.     se  (false! ==  strpos $ traduzido ,  'Olá' ))  
  3.     retornar  str_replace 'Olá' ,  'Olá' ,  $ traduzido );  
  4.     retornar  $ traduzido ;  
  5. }  
  6. add_filter ( 'gettext' ,  'change_howdy' , 10, 3);  

9. Adicione Remoção De Menu Adicional Para Funções Específicas

Você pode esconder menus que estão no painel, para não-administradores, com esse trecho.
  1. função  remove_admin_menus () {  
  2.     se (is_user_logged_in () &&! current_user_can ( "administrador" )) {  
  3.         remove_menu_page (  'index.php'  );                   // Painel  
  4.         remove_menu_page (  'edit.php'  );                    // Posts  
  5.         remove_menu_page (  'upload.php'  );                  // Mídia  
  6.         remove_menu_page (  'edit.php post_type = página?'  );     // Páginas  
  7.         remove_menu_page (  'edit-comments.php'  );           // Comentários  
  8.         remove_menu_page (  'themes.php'  );                  // Aparência  
  9.         remove_menu_page (  'plugins.php'  );                 // Plugins  
  10.         remove_menu_page (  'users.php'  );                   // Usuários  
  11.         remove_menu_page (  'tools.php'  );                   // Ferramentas  
  12.         remove_menu_page (  'opções de general.php'  );         // Configurações  
  13.     }  
  14. }  
  15. add_action ( 'admin_init' ,  'remove_admin_menus' );  
Por favor note que este apenas remove a menus de tela, mas não filtra a permissão do usuário para acessar estes menu. Isso não impede o usuário de acessar esses menus diretamente através da barra de endereços do navegador. Lembre-se de adicioná-los ao seufunctions.php .

10. Retire Bar Admin Link Para Não-Adminstrators

No painel do WordPress, além do menu principal na barra lateral, você também vai encontrar um par de links do menu na parte superior. Você pode restringir o acesso a esta ligação bar administrador de papéis ou usuários específicos. Este trecho abaixo irá remover o menu na barra de administração para usuários que não são um Administrador - ajustar em conformidade.
  1. função  remove_admin_bar_links () {  
  2.     mundial  $ wp_admin_bar ;  
  3.     se  (! current_user_can ( "administrador" )) {  
  4.         $ Wp_admin_bar -> remove_menu ( 'wp-logo' );           // Remover as WordPress logotipo  
  5.         $ Wp_admin_bar -> remove_menu ( 'sobre' );             // Remova a ligação sobre WordPress  
  6.         $ Wp_admin_bar -> remove_menu ( 'wporg' );             // Remover o link WordPress.org  
  7.         $ Wp_admin_bar -> remove_menu ( "Documentação" );     // Remover o link documentação WordPress  
  8.         $ Wp_admin_bar -> remove_menu ( "-fóruns de suporte ' );    // Remover vincular os fóruns de suporte  
  9.         $ Wp_admin_bar -> remove_menu ( 'feedback' );          // Remover o link de comentários  
  10.         $ Wp_admin_bar -> remove_menu ( 'site-name' );         // Remover o link nome do site  
  11.         $ Wp_admin_bar -> remove_menu ( "visão local ' );         // Remover o link visita ao local  
  12.         $ Wp_admin_bar -> remove_menu ( 'atualizações' );           // Remover ligar as atualizações  
  13.         $ Wp_admin_bar -> remove_menu ( "Comentários" );          // Remover o link Comentários  
  14.         $ Wp_admin_bar -> remove_menu ( 'new-content' );       // Remova o novo link do conteúdo  
  15.         $ Wp_admin_bar -> remove_menu ( "minha-conta ' );        // Remove a guia detalhes do usuário  
  16.     }  
  17. }  
  18. add_action ( 'wp_before_admin_bar_render' ,  'remove_admin_bar_links' );