10 trechos de WordPress para personalizações de temas
Quando você está usando o WordPress, é extremamente fácil mudar a aparência do seu site, graças a temas. Há lotes (como um monte) de temas do WordPress disponíveis gratuitamente ou por um preço premium. Escolha um tema, instale-o e você poderá obter uma aparência completamente nova para o seu site em questão de minutos.
Mas além de dar a aparência, um tema do WordPress pode ser estendido de várias maneiras também. Você pode construir novas funcionalidades com plugins, mas neste post, estamos olhando Funções do WordPress que podem ser úteis para o seu tema. Você só tem que colocar essas funções no arquivo functions.php do seu tema para que o efeito aconteça.
Leitura recomendada: Como gerenciar e usar trechos de código no WordPress
1. Alterar o comprimento do trecho
A excerto é um pequeno pedaço do seu post que você pode ver. O WordPress, nesse caso, define o trecho como 55 palavras por padrão. Mas, o WordPress nos permite personalizar o tamanho padrão através do excerpt_length
filtro, como segue.
function my_excerpt_length ($ length) retornar 30; add_filter ('excerpt_length', 'my_excerpt_length', 999);
O valor de retorno refere-se à soma das palavras que serão exibidas como um trecho. No exemplo acima, exibimos 30 palavras no valor de cada postagem no trecho.
2. Reduzir revisões posteriores
O WordPress permite que escritores e blogueiros revisem versões anteriores do seu trabalho. No entanto, à medida que as revisões aumentam em número, elas também podem afetar o desempenho de um site, já que cada revisão recém-gravada adiciona uma nova linha ao banco de dados. Este problema só vai piorar com o tempo.
Para resolver esse problema, você pode definir quantas revisões deseja salvar no banco de dados. Para fazer isso, abra seu wp-config.php e adicione este snippet abaixo. Altere o número para limitar o número de revisões que você deseja salvar.
define ('WP_POST_REVISIONS', 5);
Se você preferir desativar a revisão do WordPress, mude o valor para FALSO
como isso:
define ('WP_POST_REVISIONS', false);
3. Definir automaticamente a imagem em destaque em um post
É uma prática comum exibir uma imagem em destaque que represente ou descreva uma postagem. WordPress requer que definamos essa imagem em destaque manualmente. Para tornar o processo mais eficiente, podemos definir a imagem em destaque automaticamente fazendo a primeira imagem no post da imagem em destaque. Use o seguinte trecho de código.
função autoset_featured () global $ post; $ already_has_thumb = has_post_thumbnail ($ post-> ID); if (! $ already_has_thumb) $ anexado_image = get_children ("post_parent = $ post-> ID & post_type = anexo & post_mime_type = imagem & numberposts = 1"); if ($ attached_image) foreach ($ attached_image como $ attachment_id => $ anexo) set_post_thumbnail ($ post-> ID, $ attachment_id); add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_publish', 'autoset_featured'); add_action ('new_to_publish', 'autoset_featured'); add_action ('pending_to_publish', 'autoset_featured'); add_action ('future_to_publish', 'autoset_featured');
4. Comprimento Mínimo do Comentário de Força
Não é um fã dos comentários de 1-2 palavras como “Bela postagem!”, “Bom trabalho!”? Embora o comentário possa não ser spam, esses são os tipos de comentários que normalmente não incentivam discussões adicionais. Se quiser que seus comentadores falem, você pode definir um tamanho mínimo de palavras necessárias para que os leitores possam postar seus comentários..
Abaixo está o trecho para definir o número mínimo de caracteres ou palavras para comentários. Coloque dentro funções.php.
function minimal_comment_length ($ commentdata) $ minimumCommentLength = 20; if (strlen (trim ($ commentdata ['comment_content']))
$ minimumCommentLength
value é o número mínimo de caracteres necessários, faça as alterações nesse valor para ajustar.5. Desativar links de comentários do usuário
Os links incluídos no formulário de comentários se tornarão instantaneamente um link clicável assim que forem publicados e aprovados. Isso pode ser explorado por spammers, incentivando-os a inundar sua seção de comentários com um link para sua página "spam".
Para contrariar isto, você pode adicionar este filtro para desabilitar a capacidade de cliques do (s) link (s) e retê-los simplesmente como texto simples.
remove_filter ('comment_text', 'make_clickable', 9);6. Remover classe e ID de menus personalizados
Se você olhar para o menu personalizado no WordPress, você encontrará um monte de classes e ids em cada item de menu. Use o snippet abaixo para remover as classes que você não quer e para manter as classes que você precisa.
função my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('item-menu-atual')): "; add_filter ('nav_menu_css_class', 'meus_css_attributos_filter', 100, 1); add_filter ('nav_menu_item_id', 'meus_css_attributos_filter', 100, 1); add_filter ('page_css_class', 'my_css_attributes_filter', 100, 1);No código acima, estamos mantendo o
item do menu atual
classe.7. Excluir páginas da pesquisa
Realizar pesquisas no WordPress resultará em resultados de páginas e postagens, às vezes com pouca relevância para sua consulta de pesquisa. Para evitar isso, você pode filtrar os resultados da pesquisa para mostrar apenas os encontrados nas postagens. Adicione este trecho a function.php para fazer isso.
função SearchFilter ($ query) if ($ consulta-> is_search) $ query-> set ('post_type', 'post'); return $ query; add_filter ('pre_get_posts', 'SearchFilter');8. Substitua o texto do Howdy
Entediado com o texto 'Howdy'? Se você quiser mudar isso para uma saudação especial em seu site, basta adicionar isso a functions.php e o efeito ocorrerá imediatamente.
function change_howdy ($ convertido, $ texto, $ domínio) if (false! == strpos ($ traduzido, 'Howdy')) return str_replace ('Howdy', 'Hello', $ traduzido); retornar $ traduzido; add_filter ('gettext', 'change_howdy', 10, 3);9. Adicionar a remoção adicional do menu para papéis particulares
Você pode ocultar menus que estão no Painel, para não administradores, com este snippet.
função remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrator')) remove_menu_page ('index.php'); // Dashboard remove_menu_page ('edit.php'); // Publicações remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = page'); // Páginas remove_menu_page ('edit-comments.php'); // Comentários remove_menu_page ('themes.php'); // Aparência remove_menu_page ('plugins.php'); // Plugins remove_menu_page ('users.php'); // Usuários remove_menu_page ('tools.php'); // Ferramentas remove_menu_page ('options-general.php'); // Configurações add_action ('admin_init', 'remove_admin_menus');Observe que isso apenas remove os menus da tela, mas não filtra a permissão do usuário para acessar esses menus. Isso não impede que um usuário acesse esses menus diretamente pela barra de endereços do navegador. Lembre-se de adicioná-los ao seu funções.php.
10. Remover o link da barra de administração para administradores não administrativos
No WordPress Dashboard, além do menu principal na barra lateral, você também encontrará alguns links de menu no topo. Você pode restringir o acesso a esse link da barra de administração de funções ou usuários específicos. Este snippet abaixo removerá o menu na barra de administração dos usuários que não são administradores - ajuste de acordo.
função remove_admin_bar_links () global $ wp_admin_bar; if (! current_user_can ('administrator')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Remova o logotipo do WordPress $ wp_admin_bar-> remove_menu ('about'); // Remove o link sobre o WordPress $ wp_admin_bar-> remove_menu ('wporg'); // Remova o link do WordPress.org $ wp_admin_bar-> remove_menu ('documentation'); // Remova o link da documentação do WordPress $ wp_admin_bar-> remove_menu ('support-forums'); // Remova o link dos fóruns de suporte $ wp_admin_bar-> remove_menu ('feedback'); // Remove o link de feedback $ wp_admin_bar-> remove_menu ('site-name'); // Remove o link do nome do site $ wp_admin_bar-> remove_menu ('view-site'); // Remove o link do site de visita $ wp_admin_bar-> remove_menu ('updates'); // Remove o link de atualizações $ wp_admin_bar-> remove_menu ('comments'); // Remove o link dos comentários $ wp_admin_bar-> remove_menu ('new-content'); // Remove o novo link de conteúdo $ wp_admin_bar-> remove_menu ('minha conta'); // Remove a aba de detalhes do usuário add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');