Як можна заборонити дублювання назви довільних полів для певних типів постів? І так само виводити повідомлення про те що таке ім'я вже існує, задайте інше ..
Тобто, є тип поста: 'mypost', необхідно для цього типу поста заборонити створення однакових імен довільних полів, і повідомляти про це при створенні в адмінці.
Щоб перевіряти і якщо треба блокувати створення однакового метапол, потрібно використовувати хук "add__metadata" з функції add_metadata ():
Ось написав код і навіть перевірив. Додайте його в functions.php:
Для яких типів записів блокувати дублювання метапол, вкажіть в масиві array ( 'post', 'page'). Цей код блокує для постів (post) і сторінок (page).
Цей код ніяк не повідомляє, просто не дає створити однакові довільні поля, через add_post_meta () або update_post_meta (). Універсально створити повідомлення не вийде. Це потрібно зробити вручну при створенні метапол, перевіряєте, якщо не склалося, то напевно воно вже є.
У мене пише помилку, вгорі блоку довільних полів, при спробі створити таке ж ім'я поля:
Після оновлення сторінки, створення імена довільних полів все ж з'являються ..
І в інших типах постів відмінних від array ( 'post', 'page') та ж ситуація.
Так, помилка в коді, заміни 4 на 5 в першому рядку:
Помилка при створенні