Почему некоторые основные функции получают wp_, а другие нет? Какое правило?


15

Есть ли какое-то руководство или обоснование, почему некоторые функции кода WP имеют префикс wp_? например: wp_insert_post()противupdate_post_meta()

Ответы:


8

Это делает не тот впечатляющий ответ, но - нет .

get_«Суффикс» обычно означает, что функция возвращает что-то, the_что функция повторяет что-то.

wp_ не несет в себе технического смысла и непоследовательности в присвоении имен из-за участия многих разработчиков и отсутствия движения к унификации (продвижение вперед считается более важным, чем основная очистка старых вещей, чтобы сделать его аккуратным).


1
Я (в некоторой степени) понимаю причину не исправления текущей ситуации; однако, я озадачен отсутствием определения некоторого момента времени, с которого впредь будет применяться определенная номенклатура функций. Полагаю, желаемое за действительное.
Чип Беннетт

Спасибо, Рарст. Отто подтвердил это. Вздох. Я надеялся ... Я с Чипом!
Том Ожер

2

Wordpress был и написан многими разными людьми. Патчи обсуждаются в WordPress Trac, и тот, кто отправляет или назначает билет TRAC, может публиковать патчи. Если патч будет принят и перенесен в ядро ​​будущей версии, он просто там. Так что иногда функции, переменные и т. Д. Получают префикс, а иногда нет. Это зависит от участвующих разработчиков.


2

wp_Префикс обычно добавляется , чтобы избежать конфликтов имен с:

  • встроенные функции PHP, такие как get_current_user ()
  • старые / устаревшие функции WP, такие как get_archives ()
  • сторонние библиотеки?

1

Я всегда предполагал, что различие заключается в том, что помимо базовых тегов шаблонов, которые обычно имеют простейшее описательное имя:

  1. начинающиеся функции, wp_как правило, представляют собой общедоступные API-функции высокого уровня, которые гарантированно всегда будут рядом и сохраняют прямую совместимость.
  2. функции без этого префикса являются внутренними объектами, с которыми вам не следует связываться, если вы не знаете, что делаете.

Я не знаю, было ли это когда-либо умышленным. И, как сказали два других ответа, это не соответствует последовательно. Ваш пример update_post_meta- прекрасный пример того, что должно иметь wp_префикс, если моя классификация верна. Но в WordPress достаточно глубокого унаследованного кода, чтобы отбросить любую попытку разобраться в любом соглашении об именах.


ха - ха. Я на самом деле думал, что все было наоборот - функции wp_ были скорее внутренним (вы можете использовать это, но действительно это внутреннее), в то время как другие были более публичными. Как ни печально, может быть, Rarst et al. правы, и нет никакого обоснования.
Том Оджер

2
Напомним, что действительно внутренние функции начинаются только с подчеркивания. _*Но их не так много, и на практике они тоже не совсем внутренние.
Первое
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.