Такая проблема: имеется дочерняя тема Sirat, подключил отредактированный файл по пути /inc/social-widgets/social-icon.php
Подключал так: require_once get_stylesheet_directory(). '/inc/social-widgets/social-icon.php';
После чего получаю ошибку:
Deprecated: define(): Declaration of case-insensitive constants is deprecated in /var/www/admin/data/mysite.ru/wp-content/themes/sirat/functions.php on line 326 Fatal error: Cannot declare class Sirat_Social_Widget, because the name is already in use in /var/www/admin/data/www/mysite.ru//wp-content/themes/sirat/inc/social-widgets/social-icon.php on line 119
как исправить данную проблему? Прикладываю файлы functions.php и отредактированный в дочерней теме social-icon.php
https://yadi.sk/d/7Qr7-RcgQo-gLA https://yadi.sk/d/SMyHI9Zb5jnYtg
Первая ошибка - это просто NOTICE о том, что в php 7.3 изменили работу с define().
Попробуйте так, должно помочь.
define('SIRAT_CREDIT',__('https://www.vwthemes.com/themes/free-multipurpose-wordpress-theme/','sirat'));
файл functions.php, строка 326
Сам не проверял, вот тут рекомендуют: https://wordpress.org/support/topic/define-declaration-of-case-insensitive-constants-is-deprecated/
Если кратко, то без этой конструкции __()
вот это значение 'sirat'
обрабатывается как TRUE и задает для define функции case-insensitive параметр, который в php 8 хотят удалить полностью. А с этой конструкцией define становится case_sensitive
Подробнее об этом NOTICE - https://hackernoon.com/deprecations-and-changes-for-php-7-3-avoid-errors-7a5c4dbeaa8b
Ещё можно просто отключить WP_DEBUG в wp-config поставив false, спрятав таким образом некритические ошибки. (Это костыль как по мне, но до php 8 доживете с таким подходом).
Вернуться на php 7.2 тоже вариант (тоже костыльный).
Вторая ошибка вылезает из-за того, что вы дважды пытаетесь зарегистрировать класс с одним и тем же именем Sirat_Social_Widget
.
Замените его в файле social-icon.php с Sirat_Social_Widget
например на Sirat_Social_Widget_2
(во всех встречающихся местах), а так же его повторную инициализацию с sirat_custom_load_widget
на sirat_custom_load_widget_2
Это должно будет исправить проблему.
Ещё обратите внимание что у вас двойной слеш в ошибке
/var/www/admin/data/www/mysite.ru вот тут // wp-content/themes/sirat/inc/social-widgets/social-icon.php
Возможно вы где-то не правильно указываете пути. Это мелочь, но глаз режет.
UPD
Вы используете get_stylesheet_directory()
для получения пути при подключении файла вот тут:
require_once get_stylesheet_directory(). '/inc/social-widgets/social-icon.php';
Это не верно. Надо использовать get_template_part();
Правильно вставить в нужном месте:
get_template_part( 'widgets/social', 'icon' );
А в папке темы (там где лежит functions.php) создать подпапку с названием widgets и положить в неё файл social-icon.php
Прикрепляю переписанный файл social-icon.php Попробуйте его использовать.
https://yadi.sk/d/CB-zI5HzKDHerw
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть приложение на LaravelК нему прописано API по которому с микроконтроллера отсылаются данные методом Post и делается запись в базу
SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL ServerAccess the following URL to download the ODBC Driver for SQL Server for x64: https://go
Существует Entity в которой нужно реализовать связь OneToOne, но проблема в том, что связь между ними осуществляется по полям не являющимся ключевыми...
Нашёл документацию как можно обновить товары через загрузку YML-файла (https://sellaliexpress