Por favor vote na pergunta e nas respostas que achar úteis, clicando na seta PARA CIMA no lado esquerdo da pergunta ou resposta.
Como acontece com muitos outros que agora estão visualizando este post, tenho lido vários blogs, fóruns e grupos de discussão para aprender e melhorar minhas habilidades em wordpress. Nos últimos 12 meses, estive em uma missão para substituir meu uso de plug-ins adicionando código ao meu functions.php
arquivo. Embora eu concorde completamente que os plug-ins são muito úteis em muitas situações, minha experiência provou que em 90% dos casos de uso, embora um plug-in possa existir, na verdade, utilizá-lo pode criar complicações desnecessárias e problemas de compatibilidade. Além disso, em muitos casos, esses plugins adicionaram menus e outros elementos de administração que eu não quero ou preciso.
Na maioria das vezes, descobri que, analisando o código dos plugins, consegui retirar o código que desejava e codificá-lo no meu functions.php
. Isso me forneceu a funcionalidade exata de que eu precisava, sem precisar incluir elementos desnecessários.
Portanto, o objetivo deste post é minha tentativa de envolver você, leitor / administrador / desenvolvedor, a compartilhar comigo e com outros aqui quaisquer bits de código que você considere úteis e que tenham sido adicionados ao function.php
arquivo do seu tema para estender ou aprimorar o WordPress sem utilizar um plugar.
Quando você enviar uma resposta aqui, por favor, dê um título a cada código, informe-nos se com qual versão do wordpress você é compatível, inclua a descrição que achar melhor descreve sua função e (se aplicável) inclua um link para o original plug-in ou fonte onde você encontrou as informações.
Aguardo ansiosamente todas as suas respostas e, é claro, adicionarei continuamente minhas próprias descobertas sempre que as encontrar.
Respostas:
Habilitar o recurso Admin oculto exibindo TODAS as configurações do site
Testado em: Wordpress 3.1 RC3
Este pequeno pedaço de código faz algo bem legal. Ele adicionará uma opção adicional ao seu menu de configurações com um link para "todas as configurações", que mostrará uma lista completa de todas as configurações que você tem em seu banco de dados relacionadas ao seu site wordpress. O código abaixo tornará esse link visível apenas para um usuário administrador e ocultará para todos os outros usuários.
fonte
Modificar o logotipo do logon e o link do URL da imagem
Testado em: WordPress 3.0.1
Este código permitirá que você modifique facilmente o logotipo da página de login do WordPress, bem como o link href e o texto do título desse logotipo.
EDIT: Se você quiser usar o logotipo do site para substituir o logotipo de logon, poderá usar o seguinte para extrair dinamicamente essas informações (testadas no WP3.5 ):
fonte
Inclua tipos de postagem personalizados nos resultados da pesquisa.
Adicione seus tipos de postagem personalizados ao feed RSS principal do seu site por padrão.
Incluir tipos de postagem personalizados no widget do painel de administração "Right Now"
Isso incluirá seus tipos de postagem personalizados e a contagem de postagens para cada tipo no widget do painel "Right Now".
fonte
exclude_from_search
parâmetros deregister_post_type
...Remova a notificação de atualização para todos os usuários, exceto o usuário ADMIN
Testado em: Wordpress 3.0.1
Este código garante que nenhum usuário que não seja "admin" seja notificado pelo wordpress quando houver atualizações disponíveis.
Versão alterada para mostrar apenas a notificação de atualização para usuários administrativos (em vez de apenas o usuário 'admin'):
fonte
Carregando o jQuery a partir da CDN do Google
Testado em: Wordpress 3.0.1
Remova as informações da versão do WordPress por segurança
Testado em: Wordpress 3.0.1
Adicionar spam e excluir links a comentários no front end
Testado em: Wordpress 3.0.1
Isso facilita o gerenciamento de comentários do front-end adicionando spam e excluindo links. **
Atrasar a publicação pública no feed RSS
Testado em: Wordpress 3.0.1
Por fim, gosto de adiar a postagem nos meus feeds RSS por 10 a 15 minutos, pois sempre encontro pelo menos alguns erros no meu texto. Outros usos são para o caso de você desejar que o conteúdo seja exclusivo do seu site por um dia ou uma semana antes de enviá-lo aos seus leitores de RSS.
fonte
remove_action('wp_head', 'wp_generator');
Defina um número máximo de revisões posteriores para evitar o inchaço do banco de dados.
Testado em: Wordpress 3.0.1
O padrão é infinito, isso o configurará para lembrar apenas as últimas 5 edições:
FWIW, existem muitas idéias excelentes para CONSTANTS que podem ser definidas na página do Codex Editando wp-config.php .
fonte
Ferramentas de criação de perfil do Wordpress
Eu gosto de adicionar ferramentas de criação de perfil em um arquivo separado, que eu incluo em functions.php quando necessário:
fonte
Nitidez de imagens redimensionadas (apenas jpg)
Esta função aprimora imagens jpg redimensionadas. Um exemplo de diferença:
fonte
Remova as caixas de meta padrão do Wordpress
Testado em: Wordpress 3.0.1
Este código permitirá remover Meta Boxes específicas que o wordpress adiciona por padrão às telas padrão Adicionar / Editar postagem e Adicionar / editar página.
fonte
Remova o "Wordpress" para o filtro "WordPress"
Testado em: Wordpress 3.0.1
Foi adicionado um filtro com o WordPress versão 3.0 que converte automaticamente todas as instâncias do "Wordpress" (sem P maiúsculo) em "WordPress" (com P maiúsculo) no conteúdo da postagem, nos títulos das postagens e no texto do comentário. Algumas pessoas veem isso como intrusivo, eu só preciso interpretar incorretamente o WordPress de tempos em tempos e achei o filtro um pouco irritante.
fonte
11
como o terceiro parâmetro para removê-lo.Personalizar o painel
Remova esses widgets do painel ...
Adicione um widget personalizado chamado 'Ajuda e suporte'
Este é o conteúdo do seu widget personalizado
fonte
Adicionar campos de perfil de usuário personalizados
Coloque o código abaixo no seu arquivo functions.php para adicionar campos de perfil de usuário personalizados. Edite ou adicione linhas como achar melhor.
Lembre-se de não remover a linha: retorne $ contactmethods; caso contrário, isso não funcionará.
Para exibir campos personalizados, você pode usar um dos dois métodos listados abaixo.
Opção 1:
Opção 2:
fonte
Personalize a ordem do menu do administrador
testado em: Wordpress 3.0.1
Este código permitirá reorganizar a ordem dos elementos no menu do administrador. Tudo o que você precisa fazer é clicar em um link existente no menu do administrador e copiar tudo antes do URL / wp-admin /. A ordem abaixo representa a ordem que o novo menu de administrador terá.
fonte
custom_menu_order
? Eu não poderia encontrar um ...Função para alterar o tamanho do Exerpt
Testado em: Wordpress 3.0.1
Por padrão, todos os trechos estão limitados a 55 palavras. Utilizando o código abaixo, você pode substituir essas configurações padrão:
Este exemplo altera o comprimento do trecho para 100 palavras, mas você pode usar o mesmo método para alterá-lo para qualquer valor.
fonte
excerpt_length
gancho) são limitados por palavras .Adicionar miniaturas na lista Gerenciar postagens / páginas
Você pode adicionar isso às suas funções para exibir na lista Gerenciar / Editar postagem e páginas uma nova coluna com a visualização em miniatura.
fonte
Remova pings para o seu próprio blog
Testado em: Wordpress 3.0.1
fonte
Ativar compactação de saída GZIP
Normalmente, o servidor deve ser configurado para fazer isso automaticamente, mas muitos hosts compartilhados não fazem isso (provavelmente para aumentar o uso da largura de banda do cliente)
fonte
Exibir consultas de banco de dados, tempo gasto e consumo de memória
Testado em: Wordpress 3.0.1
Em seguida, este código abaixo do código acima, que inserirá automaticamente o código acima no rodapé do site público (verifique se o tema está chamando wp_footer):
Pode ser chamado várias vezes.
fonte
memory_get_usage()
Cancelar registro de widgets padrão do WP
Testado em: WordPress 3.0.1
fonte
Extrair automaticamente a primeira imagem do conteúdo da postagem
Testado em: Wordpress 3.0.1
Esse código extrairá automaticamente a primeira imagem associada a uma postagem e permitirá que você a exiba / use chamando a função getImage.
fonte
Saída do arquivo de modelo de tema que uma postagem / página está usando no cabeçalho
Reduza a saída DIV padrão se o seu tema estiver usando post_class.
se o seu tema estiver usando algo como
Você pode ter divs longos e loucos na sua fonte que podem parecer assim ou até mais:
Isso pode realmente começar a bagunçar sua fonte e parecer bastante desnecessário na maioria dos casos, se você tiver 3-4 de profundidade, é bom o suficiente.
Para o exemplo principal, podemos dividir a saída da seguinte forma:
isso divide a saída para incluir apenas os 5 primeiros valores; portanto, o exemplo acima se torna:
Faça com que os arquivos de categoria exibam todas as postagens, independentemente do tipo de postagem: bom para tipos de postagem personalizados
Remover itens indesejados do painel
Isso já foi publicado, mas não tinha a lista completa de itens. Especialmente aqueles irritantes "links recebidos!"
Remova os saltos da página "Leia mais" **
em vez disso, retorne ao topo da página. Você sabe como quando você clica em "leia mais", ele pula para o local da página que pode ser irritante, isso faz com que apenas carregue a página normalmente, sem pular!
Restrinja os itens de menu ADMIN com base no nome de usuário , substitua o nome de usuário por um nome de usuário real.
// como alternativa, você pode usar if ($ current_user-> user_login! = 'admin'), provavelmente mais útil
Estilizar a nuvem de tags
Referência completa de opções aqui (existem muitas!) Http://codex.wordpress.org/Function_Reference/wp_tag_cloud
Alterar o timer de atualização do widget RSS padrão
(o padrão é 6 ou 12 horas, esqueço (1800 = 30min).
fonte
Remover aviso de atualização de plug-in SOMENTE para plug-ins INATIVOS
fonte
Remova informações supérfluas e HTML dentro da
<head>
tagfonte
Habilitar erro de depuração e log para usar em sites ao vivo
Este é um pedaço de código que escrevi para usar as constantes WP_DEBUG que normalmente são desabilitadas por padrão. Bem, eu criei uma maneira de não apenas ativar o WP_DEBUG para que você possa usá-lo em um site ao vivo sem efeitos colaterais negativos, mas também usei as outras constantes de depuração para forçar a exibição de erros e para criar um arquivo de log de os erros e avisos no diretório / wp-content.
Solte esse código no seu arquivo wp-config.php (APÓS SALVAR UM BACKUP APENAS NO CASO) e, em seguida, você poderá passar os parâmetros? Debug = 1, 2 ou 3 no final de qualquer URL do seu site.
? debug = 1 = mostra todos os erros / avisos? debug = 2 = força a serem exibidos? debug = 3 = cria um arquivo debug.log de todos os erros no diretório / wp-content.
Entro em mais detalhes no post de convidado que escrevi para o Comluv, se você estiver interessado, aqui: http://comluv.com/dev/enable-debugging-and-logging-for-live-site-usage/
Ainda estou trabalhando em uma maneira de tornar isso protegido por senha ou, de preferência, de alguma forma, fazê-lo funcionar com if (current_user_can ('manage_themes') e is_logged_in ().
Mas é aí que fica muito mais complicado.
fonte
Adicionar automaticamente títulos dinâmicos a páginas públicas
Testado em: Wordpress 3.0.1
A utilização do código abaixo criará automaticamente títulos de páginas dinâmicos com base nas páginas / postagens exibidas publicamente.
fonte
Novas funções e recursos - Execute apenas uma vez!
Eu mantenho estes à mão, este é o caminho certo para fazê-los sem um plugin. Eles definem um único campo (prefix_user_roles) no banco de dados de opções e você não precisa de um plugin para defini-los. Consulte a página Codex para obter uma lista de quais recursos estão disponíveis e descrições para o que eles fazem. Você só precisa descomentar um desses blocos, carregar qualquer página e depois comentá-los novamente! Aqui, estou criando uma função que possui os recursos necessários:
Às vezes, é útil adicionar / remover de uma função existente, em vez de remover e adicionar novamente uma. Novamente, você só precisa descomentar, recarregar uma página e comentar novamente. Isso armazenará a função / capacidade corretamente na tabela de opções. (Isso permite que você, o desenvolvedor, controle-os e remove a sobrecarga dos plug-ins volumosos que fazem a mesma coisa.) Aqui, estou alterando a função de autor para excluir as postagens publicadas (o padrão), mas permitindo que eles editem as postagens publicadas (o que não é possível para essa função por padrão) - usando * add_cap * ou * remove_cap *.
Eu mantenho uma planilha com a grade da página do Codex para sites que modificam dessa maneira, para que eu possa lembrar como as coisas são definidas, embora deixe o código comentado no seu arquivo functions.php funcione. Não deixe esses exemplos descomentados, ou eles serão gravados no banco de dados a cada carregamento da página!
fonte
Rodapé de administrador personalizado do Wordpress
Eu uso isso para sites clientes como um simples ponto de referência para entrar em contato comigo como desenvolvedor.
fonte
Ativar códigos de acesso em widgets
fonte
Função para desativar feeds RSS
Testado em: Wordpress 3.0.1
Você pode desativar os feeds RSS Se você deseja manter o site baseado em Wordpress como estático.
Você pode usar esta função:
fonte
Altere a mensagem "Howdy" para "Welcome"
Com esta função, você pode personalizar a mensagem "Howdy" no canto superior direito da sua área de administração.
Esta função utiliza o JQuery para alterar a mensagem "Howdy" para "Welcome".
Versão PHP, usando
gettext
filtro:fonte