Я запускаю некоторые функции WP непосредственно внутри плагина, включая wp_insert_post (), если что-то пойдет не так, это возвращает объект WP Error, каков правильный способ отловить эту ошибку? Либо используя встроенные функции WP, либо исключения PHP, либо еще много чего.
15
WP_Error
это не PHP -Exception
объект. Вы не используетеtry/catch
методы с этим. Но, как уже было отмечено, есть удобные функции, облегчающие использование.Ответы:
Присвойте возврат функции переменной.
Проверьте переменную с помощью
is_wp_error()
.Если
true
обрабатывать соответственно, например,trigger_error()
с сообщением отWP_Error->get_error_message()
метода.Если
false
- действуй как обычно.Использование:
источник
Hei,
Сначала вы проверяете, является ли ваш результат
WP_Error
объектом или нет:Это обычный способ.
Но объект WP_Error может быть создан без каких-либо ошибок, просто на всякий случай выступить в качестве общего хранилища ошибок. Если вы хотите сделать это, вы можете проверить наличие ошибок, используя
get_error_code()
:Если вы сделаете это, вы можете проверить процесс, который возвратил ошибку, как в
wp_insert_post()
примере выше.Класс задокументирован в Кодексе .
И здесь также есть небольшая статья .
источник
Это покажет вам, что именно не так с функцией вставки поста WordPress. просто попробуйте !
источник