Dlaczego niektóre podstawowe funkcje otrzymują wp_, a inne nie? Jaka jest zasada?

15

Czy istnieją jakieś wytyczne lub uzasadnienie, dlaczego niektóre funkcje kodu WP są prefiksowane wp_? np .: wp_insert_post()vs.update_post_meta()

Tom Auger
źródło

Odpowiedzi:

8

To nie jest imponująca odpowiedź, ale - żadna .

get_sufiks zwykle oznacza, the_że funkcja zwraca coś, funkcja coś coś echa.

wp_ nie ma technicznego znaczenia, a niespójność w nazewnictwie wynika z faktu, że wielu deweloperów bierze udział i brakuje ruchu w celu ujednolicenia (przejście do przodu jest uważane za ważniejsze niż poważne porządki starszych rzeczy, aby było uporządkowane).

Rarst
źródło
1
(W pewnym sensie) rozumiem powody, dla których nie naprawiłem obecnej sytuacji; dziwi mnie jednak brak określenia momentu, od którego odtąd miałaby obowiązywać nomenklatura zdefiniowanej funkcji. Myślę, że pobożne życzenia.
Chip Bennett
Dzięki Rarst. Otto to potwierdził. Westchnienie. Miałem nadzieję ... Jestem z Chipem!
Tom Auger,
2

Wordpress był i jest pisany przez wiele różnych osób. Informacje o łatach są omówione w tekście WordPress trac, a ktokolwiek prześle lub przypisuje bilet trac, może opublikować łatki. Jeśli łatka zostanie zaakceptowana i przeniesiona do rdzenia nadchodzącej wersji, po prostu tam jest. Czasami więc funkcje, zmienne itp. Otrzymują prefiks, a innym razem nie. To zależy od uczestniczących programistów.

kajzer
źródło
2

wp_Prefiks dodaje się zwykle w celu uniknięcia konfliktów nazw z:

  • natywne funkcje PHP, takie jak get_current_user ()
  • starsze / przestarzałe funkcje WP, takie jak get_archives ()
  • biblioteki stron trzecich?
scribu
źródło
1

Zawsze zakładałem, że różnica polega na tym, że - poza podstawowymi tagami szablonów, które zazwyczaj mają najprostszą możliwą opisową nazwę:

  1. funkcje, które zaczynają się od, wp_są ogólnie funkcjami publicznego interfejsu API wysokiego poziomu, które są prawie na pewno zagwarantowane, że zawsze będą w pobliżu i zachowają kompatybilność do przodu.
  2. funkcje bez tego prefiksu to elementy wewnętrzne, z którymi nie powinieneś się grzebać, chyba że wiesz, co robisz.

Nie wiem jednak, czy to kiedykolwiek było zamierzone. I jak powiedzieli dwie pozostałe odpowiedzi, nie wytrzymuje konsekwentnie. Twój przykład update_post_metajest doskonałym przykładem czegoś, co wydaje się, że powinno mieć wp_prefiks, jeśli moja klasyfikacja jest prawdziwa. Ale w WordPress jest wystarczająco dużo starszego kodu, aby odrzucić każdą próbę zrozumienia jakiejkolwiek konwencji nazewnictwa.

Złote Jabłka
źródło
ha ha. Myślałem, że jest dokładnie odwrotnie - że funkcje wp_ były bardziej wewnętrzne (możesz-użyć-to-ale-to-naprawdę-wewnętrzne), podczas gdy inne były bardziej publiczne. Choć może to smutne, może Rarst i in. mają rację i nie ma uzasadnienia.
Tom Auger
2
Dla przypomnienia, naprawdę wewnętrzne funkcje zaczynają się od samego podkreślenia. _*Ale nie ma ich tak wiele, a w praktyce nie są tak całkowicie wewnętrzne.
Rarst