Привіт Трістан,
Вибачте за непорозуміння.
Наскільки я розумію, {username} — це ім’я особи, якій ви надсилаєте електронний лист (тобто ви перебуваєте в списку людей, яких потрібно сповіщати про додавання файлу). Я хочу, щоб {editor_username} було ім’ям користувача особи, яка РЕДАГУВАЛА (додала, редагувала або видалила) сховище (тобто особи, яка ІНІЦІЮВАЛА сповіщення, а не особи, яка його ОТРИМАЛА).
Отже, якщо «Мері» редагує файл, а «Ларрі» має отримати сповіщення, тоді «{username}» буде «Ларрі», а «{editor_username}» буде «Мері».
Ймовірно, я б створив "{subscriber_username}" як синонім для "{username}" і поступово виключив би "{username}" у документації. Це допомогло б відрізнити їх. На сповіщення може бути багато підписників – кожен із власним {subscriber_username} в електронному листі; лише один користувач редагував репозиторій - {editor_username}.
Крім того, "ім'я користувача", ймовірно, має представляти фактичне "ім'я користувача" користувача WordPress (наприклад, "ldaniele"
. "display_name" буде точнішим для імені, яке ми використовуємо у привітанні (наприклад, "Ларрі Даніель"
.
І ви маєте рацію, "{category_name}" те саме, що "{category}". Якщо ми додамо "{category_url}", то буде важливо краще розрізняти ці два.
Загалом, я вважаю, що найбільш надійним рішенням для таких токенів є їх однозначне відображення типового об’єкта в об’єктно-орієнтованому програмуванні. Отже, наприклад, де ви можете написати такі речі на PHP або C++:
- категорія.назва
category.url
category.id
user.display_name
user.username
ідентифікатор користувача
тощо.
ви можете мати відповідні маркери, наприклад:
- назва_категорії
URL-адреса_категорії
category_id
user_display_name
user_name
ідентифікатор користувача
тощо.
Це робить більш очевидним, якими повинні бути імена (оскільки в багатьох випадках об’єкти WordPress уже чітко визначені). І це пояснює, як розширити набір, якщо потрібно додати більше атрибутів.