Perché alcune funzioni principali ottengono wp_ mentre altre no? Qual è la regola?


15

Esistono delle linee guida o delle motivazioni alla base del prefisso di alcune funzioni del codice WP wp_? ad es .: wp_insert_post()vs.update_post_meta()

Risposte:


8

Questo non dà una risposta così impressionante, ma - nessuna .

get_Questo suffisso di solito significa che la funzione restituisce qualcosa, the_quella funzione fa eco a qualcosa.

wp_ non ha un significato tecnico e l'incoerenza nella denominazione è da parte di molti sviluppatori partecipanti e la mancanza di movimento per unificare (andare avanti è considerato più importante delle principali pulizie di cose più vecchie per renderlo pulito).


1
Comprendo (in qualche modo) il ragionamento per non porre rimedio alla situazione attuale; tuttavia, sono perplesso dalla mancanza di definire un certo momento nel tempo dal quale, d'ora in poi, verrebbe applicata una nomenclatura di funzione definita. Un pio desiderio, suppongo.
Chip Bennett,

Grazie Rarst. Otto lo confermò. Sospiro. Speravo ... sto con Chip!
Tom Auger,

2

Wordpress è stato ed è scritto da molte persone diverse. Le patch sono discusse all'interno di wordpress trac e chiunque invia o assegna a un ticket trac può postare patch. Se la patch viene accettata e spostata nel nucleo di una versione imminente, è semplicemente lì. Quindi a volte funzioni, var, ecc. Ottengono il prefisso, altre volte no. Si basa sugli sviluppatori partecipanti.


2

Il wp_prefisso viene solitamente aggiunto per evitare conflitti di denominazione con:

  • funzioni PHP native, come get_current_user ()
  • funzioni WP obsolete / obsolete, come get_archives ()
  • librerie di terze parti?

1

Ho sempre supposto che la distinzione fosse che - al di là dei tag di modello di base, che generalmente hanno solo il nome descrittivo più semplice possibile:

  1. le funzioni che iniziano wp_sono generalmente funzioni API pubbliche di alto livello, che sono praticamente garantite per essere sempre in giro e mantenere la compatibilità con il futuro.
  2. le funzioni senza quel prefisso sono interne, cose che non dovresti fare a meno che tu non sappia cosa stai facendo.

Non so se questo sia mai stato intenzionale, comunque. E come hanno detto le altre due risposte, non regge in modo coerente. Il tuo esempio di update_post_metaè un esempio perfetto di qualcosa che sembra dovrebbe avere un wp_prefisso se la mia classificazione fosse vera. Ma c'è abbastanza codice legacy in WordPress per eliminare qualsiasi tentativo di dare un senso a qualsiasi convenzione di denominazione.


haha. In realtà ho pensato che fosse esattamente il contrario: le funzioni di wp_ erano più della varietà interna (puoi-usarla-ma-è-davvero-interna) mentre le altre erano più pubbliche. Per quanto triste possa sembrare, forse Rarst et al. hanno ragione e non esiste una logica.
Tom Auger,

2
Per la cronaca, le funzioni realmente interne iniziano con il trattino basso da solo _*Ma non ce ne sono molte e in pratica non sono neanche assolutamente interne.
Rarst
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.