В Linux glibc предоставляет strverscmp (), он также доступен из gnulib для переносимости. Однако действительно «человеческая» сортировка имеет множество других причуд, таких как «The Beatles», которые сортируются как «Beatles, The». Нет простого решения этой общей проблемы.
Поскольку php 7 больше не поддерживает старую конструкцию объекта php 4 и заменена на __construct()
, разработчики Wordpress создали сообщение с уведомлением, чтобы разработчики плагинов изменили способ работы своих плагинов, чтобы он мог работать на следующих версиях php и как php 4 давно мертв, нет причин использовать этот стиль объектной конструкции.
Вариант 1 - не собирается обновляться до более новых версий php
, просто добавьте add_filter('deprecated_constructor_trigger_error', '__return_false');
к своим функциям Файл .php будет игнорировать эти уведомления.
Вариант 2 - может обновиться до php 7 / предпочитает заниматься проблемой, а не заставлять ее замолчать
Если это сторонний плагин, будьте осторожны, если Вы вносите изменения самостоятельно, и разработчик плагина выпускает обновление, которое отменяет ваши изменения. Лучшим вариантом будет связаться с разработчиком плагина
Найти проблемный плагин и изменить
parent::WP_Widget
К
parent::__construct
Я также получаю ту же ошибку, и я исправил ее таким образом
class Dokan_Category_Widget extends WP_Widget {
/**
* Constructor
*
* @return void
**/
public function __construct() {
$widget_ops = array( 'classname' => 'dokan-category-menu', 'description' => __( 'Dokan product category menu', 'dokan' ) );
$this->WP_Widget( 'dokan-category-menu', 'Dokan: Product Category', $widget_ops );
}
}
Поскольку способ вызова конструктора таким способом устарел в php 7, поэтому я заменил способ вызова на $this->WP_Widget()
с parent::__construct()
class Dokan_Category_Widget extends WP_Widget {
/**
* Constructor
*
* @return void
**/
public function __construct() {
$widget_ops = array( 'classname' => 'dokan-category-menu', 'description' => __( 'Dokan product category menu', 'dokan' ) );
//$this->WP_Widget( 'dokan-category-menu', 'Dokan: Product Category', $widget_ops );
parent::__construct('dokan-category-menu', 'Dokan: Product Category', $widget_ops );
}
}
Объявление функции с последующим вызовом родительского конструктора решило эту проблему для меня.
class myClass extends WP_Widget {
function __construct(){
parent::__construct(...) // calls constructor from WP_Widget class
}
}
Его вид предупреждения Вас может скрыться, ошибка с помощью добавляют строку в Вашем wp-config.php
, файл в корневом каталоге
сайта определяет ('WP_DEBUG', ложь);