Por que algumas funções principais obtêm wp_ enquanto outras não? Qual é a regra?

15

Existe alguma orientação ou justificativa por que algumas funções de código WP são prefixadas wp_? por exemplo: wp_insert_post()vs.update_post_meta()

Tom Auger
fonte

Respostas:

8

Isso não é uma resposta impressionante, mas - nenhuma .

get_é um sufixo geralmente significa que a função retorna algo, the_essa função ecoa algo.

wp_ não possui significado técnico e a inconsistência na nomeação é de muitos desenvolvedores participantes e falta de movimento para unificar (avançar é considerado mais importante do que grandes limpezas de itens antigos para torná-lo mais organizado).

Rarst
fonte
1
Eu (de certa forma) entendo o raciocínio para não remediar a situação atual; no entanto, estou intrigado com a falta de definição de algum ponto no tempo a partir do qual, a partir de agora, uma nomenclatura de função definida seria aplicada. Pensamento positivo, suponho.
Chip Bennett
Obrigado Rarst. Otto confirmou. Suspiro. Eu estava esperando ... Estou com Chip!
Tom Auger
2

O Wordpress foi e é escrito por muitas pessoas diferentes. Os patches são discutidos no wordpress trac e quem envia ou atribui a um ticket trac pode postar patches. Se o patch for aceito e movido para o núcleo de uma versão futura, ele simplesmente estará lá. Às vezes, funções, vars etc. recebem o prefixo, enquanto outras não. Ele conta com os desenvolvedores participantes.

kaiser
fonte
2

O wp_prefixo é geralmente adicionado para evitar conflitos de nome com:

  • funções nativas do PHP, como get_current_user ()
  • funções WP antigas / obsoletas, como get_archives ()
  • bibliotecas de terceiros?
scribu
fonte
1

Sempre presumi que a distinção era que - além das tags básicas do modelo, que geralmente têm apenas o nome descritivo mais simples possível:

  1. As funções que começam com wp_geralmente são funções de API pública de alto nível, que são praticamente garantidas para estar sempre por perto e manter a compatibilidade com versões anteriores.
  2. funções sem esse prefixo são internas, coisas com as quais você não deve mexer, a menos que saiba o que está fazendo.

Mas não sei se isso foi intencional. E, como as outras duas respostas disseram, ele não se mantém consistente. Seu exemplo de update_post_metaé um exemplo perfeito de algo que parece que deveria ter um wp_prefixo se minha classificação fosse verdadeira. Mas há código legado profundo suficiente no WordPress para desencadear qualquer tentativa de entender qualquer convenção de nomenclatura.

maçãs douradas
fonte
haha Na verdade, eu pensei que era exatamente o oposto - que as funções wp_ eram mais da variedade interna (você pode usar, mas é realmente interna) enquanto as outras eram mais públicas. Por mais triste que pareça, talvez Rarst et al. estão certos e não há lógica.
Tom Auger
2
Para constar, as funções realmente internas começam apenas com sublinhado. _*Mas não existem muitas e, na prática, elas também não são absolutamente internas.
Rarst