Pagina inicial » WordPress » 15 funções úteis do WordPress que todos os desenvolvedores devem conhecer

    15 funções úteis do WordPress que todos os desenvolvedores devem conhecer

    O WordPress está cheio de ótimas funções para os desenvolvedores usarem. Podemos tirar listas de postes do ar, manipular quase tudo sobre eles, pegar qualquer usuário que desejarmos e exibir suas conexões de mídia social em um instante.

    No entanto, existem algumas funções que parecem ser negligenciadas por razões desconhecidas. Eu tenho codificado com o WordPress há cerca de 8 anos e ocasionalmente ainda encontro algo novo! Vamos dar uma olhada em alguns dos meus funções negligenciadas favoritas e aprenda como usá-los ao longo do caminho.

    antispambot ()

    Eu costumo levantar algumas sobrancelhas com este, parece ser uma das funções mais bem escondidas na base de código. antispambot () substitui caracteres por entidades HTML, o que é uma maneira de mascarar endereços de e-mail de raspadores mal.

     $ email = '[email protected]'; eco 'Você pode entrar em contato comigo'. antispambot ($ email). ' a qualquer momento'. 

    Embora este seja um detalhe útil, também é um exemplo de por que algumas pessoas criticam o WordPress - essa é uma função horrivelmente denominada. A partir da leitura do nome da função, você não tem ideia do que faz.

    human_time_diff ()

    Quando aprendi sobre essa função há cerca de um ano, achei que deveria ter sido uma adição recente, que ignorei em um changelog. Não é bem assim…

    Esta função - que gera a diferença entre dois timestamps - está desde a versão 1.5 (17 de fevereiro de 2018!).

    O grande trecho a seguir que peguei emprestado do códice mostra há quanto tempo um post atual foi publicado. Ele usa o publicar data do post como o primeiro argumento e a data atual como o segundo.

     echo 'Este post foi publicado'. human_time_diff (get_the_time ('U'), current_time ('timestamp')). 'ago'; 

    get_post_meta ()

    Tenha comigo aqui, eu sei que esta é uma função bem usada, no entanto, como funciona não é tão comum. Primeiro de tudo, omitindo o segundo e terceiro parâmetros que você pode Puxe todos os metadados para uma postagem.

     $ all_meta = get_post_meta (14); 

    Mesmo se você pegar apenas os dados de uma única chave, todas as postmetas serão puxadas de qualquer maneira.

    A razão é realmente bastante lógica. Metadados são usados ​​em vários lugares. E se get_post_meta () consulta o banco de dados toda vez que ele é usado, acabamos com muitas consultas. Em vez disso, se você extrair metadados, ele armazenará tudo em cache e usará os valores armazenados em cache em todas as recuperações de metadados subseqüentes..

    wp_upload_bits ()

    Esta função é uma sequência função de upload de arquivo. Apesar de não mover o arquivo para a pasta de uploads e adicioná-lo à seção de mídia do WordPress, é extremamente conveniente e você sempre pode fazer o resto com a wp_insert_attachment () função.

     $ upload = wp_upload_bits ($ file ['nome'], null, file_get_contents ($ arquivo ['tmp_name'])); 

    Alguma explicação está à mão para isso: o primeiro parâmetro é o nome do arquivo. O segundo é depreciado por isso deve ser definido como null (eyeroll na consistência do WordPress). O terceiro parâmetro é o conteúdo real do arquivo.

    get_post_field ()

    No passado, vi alguns exemplos em que alguém escreveu um loop para obter uma contagem de comentários para um post ou escreveu uma consulta de banco de dados dedicada para ele. Você não precisa deles, o que você precisa é get_post_field (). Esta função recupera o valor de um único campo para um único post no banco de dados. Vamos pegar uma contagem de comentários!

     Este post tem  comentários. 

    wpautop ()

    Esta função está um pouco no centro das atenções, mas ainda é relativamente desconhecida. É semelhante ao nativo do PHP nl2br mas em vez de criar novas linhas, envolve seu conteúdo em parágrafos.

    Isso é útil se você tiver uma caixa de texto e quiser ter certeza de que, quando os usuários criarem parágrafos com quebras de linha duplas, eles permanecerão visíveis no front-end também.

     

    O que nossos usuários dizem

    wp_is_mobile ()

    Esta função apropriadamente nomeada detecta quando um usuário está em um dispositivo móvel e permite exibir o conteúdo de acordo. Como essa é uma tag condicional, ela retorna true ou false, dependendo do cenário.

      Visite nosso site na sua área de trabalho para uma experiência de usuário mais rica  

    wp_redirect ()

    O último exemplo mostra outra função legal: wp_redirect (). Isso deve ser usado no lugar do nativo do PHP cabeçalho() função. A função de redirecionamento do WordPress permite que você definir um URL para redirecionar e também definir um código de status, ótimo para lidar com redirecionamentos permanentes, bem.

     // Para um URL que não está mais em uso wp_redirect ('http://website.com/new-url/', 301); 

    paginate_links ()

    Aposto que essa função deve sua obscuridade em parte à popularidade do plugin WP-PageNavi. Por padrão WordPress exibe links anteriores / próximos no final da sua lista de postagens. WP-PageNavi substitui isso por números de página.

    Isso pode realmente ser feito com um pouco de trabalho usando o paginate_links () funções. Tem alguns parâmetros, então eu recomendo dar uma espiada na documentação.

    O exemplo a seguir do códice mostra como você pode adicioná-lo a um loop padrão, mas adicioná-lo a loops personalizados não é muito difícil.

     global $ wp_query; $ big = 999999999; // precisa de um inteiro improvável echo paginate_links (array ('base' => str_replace ($ grande, '% #%', esc_url (get_pagenum_link ($ big))), 'formato' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));

    wp_die ()

    Esta função complementa o PHP morrer() função. A diferença é que essa função exibirá um HTML com estilo do WordPress em vez de apenas um texto simples. Você pode usar essa função para interromper a execução do PHP. Você pode adicionar a mensagem, o título e os argumentos adicionais a serem exibidos, por exemplo:

     wp_die ("Ops, você não tem acesso ao", "Permission Denied"); 

    has_block ()

    Na versão 5.0, o WordPress introduziu um editor baseado em bloco, codinome Gutenberg. Esta função irá identificar se o conteúdo contém um Gutenberg, o mesmo acontece com o has_shortcode () função. Vai voltar verdade se o conteúdo contiver um bloco ou falso se isso não acontecer.

    wp_set_script_translations ()

    Como muitas partes da interface do usuário do WordPress estão indo para o JavaScript, ele precisa de uma maneira conveniente de registrar textos traduzíveis no JavaScript que o WordPress possa analisar e entender. Use essa função para definir sequências traduzidas para seus scripts. Abaixo está um exemplo:

    wp_enqueue_script ('meu-script', plugins_url ('js / meu-script.js', __FILE__)); wp_set_script_translations ('meu-script', 'mu-texto-domínio');

    register_block_type ()

    Outra função proeminente no WordPress 5.0. Esta função permite que você registre um novo bloco no novo editor do WordPress. Seu bloco aparecerá no novo editor e insira-o .

    register_block_type ('meu-plugin / novo-bloco', array ('título' => 'Novo bloco', 'ícone' => 'megafone', 'categoria' => 'widgets', 'render_callback' => 'render_function_callback' ,));

    rest_do_request ()

    Esta função permite fazer chamadas para os endpoints da API REST do WordPress através do PHP. Bastante útil quando você precisa recuperar uma saída da API REST para o processo que será processado no lado do PHP em vez de no lado do navegador (front-end).

    $ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ request); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];

    rest_preload_api_request ()

    Ao criar uma interface do usuário pesada em JavaScript no WordPress, normalmente é necessário um conjunto de dados iniciais carregados dentro da página. Esta é a função que permitirá que você faça isso. Esta função destina-se a ser usada em conjunto com o array_reduce, por exemplo.

     // Pré-carregar dados comuns. $ preload_paths = array ('/', '/ wp / v2 / tipos? context = edit', '/ wp / v2 / taxonomias? per_page = -1 & context = edit', '/ wp / v2 / temas? status = ativo' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'depois'); 

    Conclusão

    Estas são apenas algumas funções que parecem ser menos conhecidas que o resto. Eu descubro uma nova grande função a cada dois meses e tenho certeza que meus amigos desenvolvedores podem nos surpreender ainda mais.

    Se você tem uma função obscura favorita ou uma função que seria útil, mas não está disponível, nos informe nos comentários!