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.