Опишите ошибку
Первое использование Pods. Загляните в это (воспроизведено с использованием мастера): classes/PodsAPI::save_pod
выходит из строя перед вызовом cache_flush_pods
когда он обнаруживает какие-либо ошибки при сохранении вновь добавленных полей. Хотя кажется, что другие поля все еще сохраняются в базе данных, они не видны конечному пользователю, пока кеш не будет очищен.
Текущая ревизия номер строки 2356 :
if ( ! empty( $errors ) ) {
return pods_error( $errors, $this );
}
$this->cache_flush_pods( $pod );
(PS Насколько я могу судить, похоже, нет никакой обработки ошибок из-за невозможности сохранить поля.)
Воспроизводить
Шаги по воспроизведению поведения:
Обратите внимание: ни одно из вновь добавленных полей не отображается после сохранения.
Бот Issue-Label автоматически применяет к этой проблеме метку Type: Bug
с достоверностью 0,98. Пожалуйста, отметьте этот комментарий: thumbsup: или: thumbsdown:, чтобы оставить отзыв о нашем боте!
Ссылки: домашняя страница приложения , панель инструментов и код этого бота.
+1 Такая же проблема. Установка сохраненных имен не вызывает ошибки.
См. # 4122. Это должно применяться к именам полей, таксономии, пост-типам и т. Д. Кто-то не должен иметь возможность вводить ЛЮБОЕ имя поля, пост-тип или таксономию, которые есть в списке полей зарезервированных имен.
Я отправил отчет об ошибке № 5440, где у меня была такая же проблема с полем, помеченным как «статус». Однако «статус» не входит в список зарезервированных условий Wordpress. Из вышеупомянутого случая «name» есть в этом списке, а «foobar» нет. То же верно и для списка зарезервированных слов PHP.
Список Wordpress: (https://codex.wordpress.org/Reserved_Terms)
Список PHP https://www.php.net/manual/en/reserved.php
Может, мешает какой-то другой список зарезервированных слов?
@raoulunger Вы пробовали последний PR, касающийся зарезервированных ключевых слов?
РЕДАКТИРОВАТЬ: status
не является зарезервированным ключевым словом WordPress, но оно предназначено для модулей, поскольку оно используется как одно из полей объекта модуля. (в данный момент все еще исследует)
Привет, я вижу, ты вычеркнул вопрос ;-). Спасибо за расследование!
Да, после расследования выясняется, что status
- это псевдоним для post_status
внутри модулей (для использования в Magic Tags и т. Д.).
Полный список ключей и псевдонимов по умолчанию:
ID ==> id
post_title ==> title & name
post_content ==> content
post_excerpt ==> excerpt
post_author ==> author
post_date ==> created & date
post_date_gmt
post_status ==> status
comment_status
ping_status
post_password
post_name ==> slug & permalink
to_ping
pinged
post_modified ==> modified
post_modified_gmt
post_content_filtered
post_parent ==> parent
guid
menu_order
post_type ==> type
post_mime_type
comment_count
comments
@ sc0ttkclark @jimtrue Думаю, этот вопрос можно закрыть, согласны?
Хорошо, это проясняет ситуацию в том, что касается «статуса» - спасибо, что разобрались в этом, и за список!
Чтобы решить более широкую проблему использования зарезервированных слов (эта тема, а также # 4122), кажется, есть несколько вариантов:
Кстати, мне, конечно, легко все это предложить, потому что я не могу здесь помочь - мои навыки программирования слишком ограничены, извините!
Ваше здоровье!
ID - это просто зарезервированное ключевое слово, я не думаю, что мы можем это изменить.
Что касается предупреждений, они в настоящее время отображаются, но это делается через AJAX (на стороне сервера), а не непосредственно при вводе. Я думаю, что это то, что мы добавим в будущем, но не в качестве отладочного релиза.
Документация - это всегда хорошая идея. @jimtrue Не могли бы вы создать для этого страницу документа, которую я могу использовать?
Не может быть закрыто, пока это не задокументировано. Любые другие из этих «псевдонимов», которые нельзя было бы создать как поле? т.е. "название" "родитель" и т. д.?
Это все, что я смог найти до сих пор (кроме уже упомянутых ключевых слов WP core)
Это все равно нужно исправить, потому что мы должны объяснить, ПОЧЕМУ мы не разрешаем добавлять эти поля. В данный момент мы не даем им информации.
Это не совсем так, AJAX возвращает сообщение об ошибке, но только при сохранении.
Когда я продублировал проблему, я не получил никаких видимых ошибок. Если пользователь не видит ошибки, это проблема.
Вы пробовали с последним PR? # 5441
Имейте в виду, что эти зарезервированные ключевые слова разрешены для имен полей. Только не для капсул (CPT / Tax), см. № 5428.
Я также не получал сообщения об ошибке (поэтому возникла путаница). Я не тестировал последний PR, потому что понятия не имею, как это сделать (извините, я здесь новичок).
19 августа 2019 года в 17:50 Джори Хогевен [email protected] написал:
Вы пробовали с последним PR? # 5443 https://github.com/pods-framework/pods/pull/5443
Имейте в виду, что эти зарезервированные ключевые слова разрешены для имен полей. Только не для Pods (CPT / Tax), см. # 5428 https://github.com/pods-framework/pods/pull/5428 .-
Вы получаете это, потому что вас упомянули.
Ответить на это сообщение непосредственно, просматривать его на GitHub https://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKDD43ZU2JY47LPKRV3QFK6LTA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4TNDNQ#issuecomment-522637750 или приглушить нить https://github.com/ уведомления / отписаться-auth / AM2NSKESXEIVUY3PLHRRMW3QFK6LTANCNFSM4ICZDB7Q .
@ sc0ttkclark @jimtrue Это можно закрыть?
Если мы переместим очистку кеша перед отправкой pods_error, мы сможем решить главную задачу этого тикета.
Исправлено в # 5459
Извините, поздняя реакция, но спасибо!
5 сентября 2019 года в 14:27 Скотт Кингсли Кларк [email protected] написал:
Закрыт № 5420 https://github.com/pods-framework/pods/issues/5420 через № 5459 https://github.com/pods-framework/pods/pull/5459 .
-
Вы получаете это, потому что вас упомянули.
Ответить на это сообщение непосредственно, просматривать его на GitHub https://github.com/pods-framework/pods/issues/5420?email_source=notifications&email_token=AM2NSKBMJPPMDU5DSLKEPWTQID3JNA5CNFSM4ICZDB72YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTOL3AQY#event-2610409539 или приглушить нить https://github.com/ уведомления / отписаться-auth / AM2NSKDMLL2WOT3F7ITJ47TQID3JNANCNFSM4ICZDB7Q .