Чому деякі основні функції отримують wp_, а інші -? Яке правило?


15

Чи є якісь вказівки чи обґрунтування, чому деякі функції коду WP мають префікс wp_? наприклад: wp_insert_post()vs.update_post_meta()

Відповіді:


8

Це дає не таку вражаючу відповідь, але - жодну .

get_Суфікс зазвичай означає, the_що функція щось повертає, що функція щось перегукується.

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


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

Спасибі Рарст. Отто це підтвердив. Зітхнути. Я сподівався ... Я з Чіпом!
Том Оже

2

Wordpress було і пише багато різних людей. Патчі обговорюються всередині wordpress trac, і той, хто подає або призначає квиток на Trac, може публікувати виправлення. Якщо патч буде прийнятий і переміщений в ядро ​​майбутньої версії, він просто знаходиться там. Тому іноді функції, vars тощо отримують префікс, а інколи - ні. Він покладається на розробників-учасників.


2

wp_Префікс зазвичай додається , щоб уникнути конфліктів імен з:

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

1

Я завжди припускав, що відмінність полягала в тому, що поза основними тегами шаблонів, які, як правило, мають найпростішу можливу описову назву:

  1. Функції, які починаються з wp_загальних функцій загального користування API високого рівня, які гарантовано завжди є поруч і зберігають сумісність вперед.
  2. Функції без цього префікса - це внутрішні речі, речі, з якими не слід перебиратись, якщо ви не знаєте, що робите.

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


ха-ха. Насправді я вважав, що саме навпаки - функції wp_ більше внутрішнього (ви можете використовувати-це-але-це-справді-внутрішній) різноманітність, а інші - більш публічні. Сумно, як це не звучить, можливо, Rarst та ін. мають рацію і немає обґрунтування.
Том Оже

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