Как я могу остановить появление PHP-сообщений в WordPress?

Я знаю об error_reporting(0); , и ini_set('display_errors', false); , но в wordpress появляется уведомление:

Примечание. Массив для преобразования строк в /var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php в строке 359

он появляется только в wordpress, а не на других страницах сайта.

Я проверил phpinfo() , и все настроено так, что ошибки не отображаются. Почему это все еще появляется?

Вот строка, которая генерирует ошибку:

 function wp_check_invalid_utf8( $string, $strip = false ) { $string = (string) $string; 

Я кое-что изменил в wordpress, чтобы изменить работу галереи. Но не эта функция, и я не думаю, что я изменил любые вызовы к этой функции. Помимо появляющегося уведомления все работает отлично, мне просто нужно скрыть эту ошибку.

Вам необходимо изменить:

 wp-config.php 

файл и изменить следующее:

 error_reporting(0); @ini_set('display_errors', 0); 

иначе WordPress перезаписывает ALERTS, установленный PHP.INI

В wp-config.php добавьте эту строку:

 define('WP_DEBUG_DISPLAY', false); 

Это позволит или отключает отображение уведомлений и предупреждений на странице. Существует более подробное описание этого параметра и некоторые связанные с ним варианты:

http://codex.wordpress.org/Debugging_in_WordPress

Январь 2015 года с последним WordPress, ни одно из вышеперечисленных работ для меня.

Создание php-файла в папке mu-plugins WordPress работало, например:

 <?php error_reporting(E_ALL & ~( E_NOTICE | E_USER_NOTICE | E_STRICT | E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_CORE_WARNING | E_USER_WARNING | E_COMPILE_WARNING | E_PARSE )); 

Просто назовите его всем, что хотите …

я получил ответ отсюда:

https://wycks.wordpress.com/2013/12/05/how-to-remove-error-notices-using-wordpresss-wp_debug/

если вы хотите скрыть только ошибки, которые исходят от этой функции, вы можете использовать

 @function wp_check_invalid_utf8( $string, $strip = false ) { } 

В большинстве случаев им не о чем беспокоиться (хотя разработчик плагина / темы должен знать об этом, чтобы они могли исправить их в будущей версии). Предупреждения и уведомления PHP нечего беспокоиться на производственном сайте большую часть времени. Некоторые из них могут быть даже созданы, потому что разработчик должен поддерживать совместимость со старыми версиями WordPress, а также с более старыми версиями PHP.

 define('WP_DEBUG', false); 

с этим

 ini_set('log_errors','On'); ini_set('display_errors','Off'); ini_set('error_reporting', E_ALL ); define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); 

Если вы просто установите WP_DEBUG в false в файле wp-config.php, вы должны быть в порядке. Это никак не влияет на ваш сайт.

Однако проблема заключается в том, что в некоторых случаях вышеизложенное не работает. Это может произойти чаще всего на дешевых общих хостах, которые вынуждают отображать предупреждения и уведомления PHP. В этом случае вы можете заменить эту строку из файла wp-config.php:

 /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. */ define('WP_DEBUG', false); // Enable Debug logging to the /wp-content/debug.log file define('WP_DEBUG_LOG', false); // Disable display of errors and warnings define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0); 

То, что я использую, и оно работает с последней версией WordPress.