سلام و وقت بخیر،
هنگام استفاده همزمان از افزونه Parsi Date و افزونه Booked، در WordPress Customizer خطای Fatal Error رخ میدهد.
Booked – Appointment Booking for WordPress
Version: 2.4.4.3
Author: Boxy Studio / QreativeThemes
Original Plugin URI: https://qreativethemes.com/
مشخصات محیط
WordPress: 7.0.4
PHP: 8.3.32
Booked: 2.4.4.3
Theme: Physio Child Theme 1.3
Parsi Date: [نسخه نصبشده را اینجا وارد میکنم]
Shamsi Date: فعال
Jalali Datepicker: فعال
مراحل بازتولید
Parsi Date فعال باشد.
گزینه Shamsi Date فعال باشد.
افزونه Booked فعال باشد.
وارد مسیر زیر شوید:
Appearance → Customize
در هنگام بارگذاری ویجت Booked Calendar، Customizer با Critical Error متوقف میشود.
خطای ثبتشده توسط WordPress
Uncaught TypeError: Unsupported operand types: string + int
in /wp-content/plugins/booked/includes/widgets.php:64
بخش مربوطه از Stack Trace:
#0 /wp-content/plugins/booked/includes/widgets.php:
Booked_Calendar_Widget->form()
#1 /wp-includes/class-wp-widget.php:
WP_Widget->form_callback()
#2 /wp-admin/includes/widgets.php:
wp_widget_control()
#3 /wp-includes/class-wp-customize-widgets.php:
WP_Customize_Widgets->get_widget_control()
بررسی انجامشده
اگر گزینه Shamsi Date غیرفعال شود، Customizer بدون خطا باز میشود.
همچنین با استفاده از:
WP Parsi → Tools → Hook Deactivator
و اضافهکردن این مورد:
date_i18n,form,Booked_Calendar_Widget
مشکل کاملاً برطرف میشود و در عین حال:
Shamsi Date فعال میماند.
Jalali Datepicker فعال میماند.
Customizer بدون خطا باز میشود.
Booked نیز فعال باقی میماند.
به نظر میرسد هنگام اجرای Booked_Calendar_Widget->form()، افزونه Booked انتظار یک مقدار عددی برای تاریخ/سال دارد، اما تبدیل انجامشده روی date_i18n باعث میشود عملیات عددی در PHP 8.3 با TypeError مواجه شود.
اگر امکان دارد سازگاری رسمی Parsi Date با افزونه Booked بررسی شود تا نیازی به تعریف دستی Hook Deactivator نباشد.
همچنین اگر امکان شمسیسازی کامل تقویم و سیستم رزرو افزونه Booked در آینده به Integration Addons اضافه شود، بسیار کاربردی خواهد بود.
ممنون از توسعه و پشتیبانی افزونه.
سلام و وقت بخیر،
هنگام استفاده همزمان از افزونه Parsi Date و افزونه Booked، در WordPress Customizer خطای Fatal Error رخ میدهد.
Booked – Appointment Booking for WordPress
Version: 2.4.4.3
Author: Boxy Studio / QreativeThemes
Original Plugin URI: https://qreativethemes.com/
مشخصات محیط
WordPress: 7.0.4
PHP: 8.3.32
Booked: 2.4.4.3
Theme: Physio Child Theme 1.3
Parsi Date: [نسخه نصبشده را اینجا وارد میکنم]
Shamsi Date: فعال
Jalali Datepicker: فعال
مراحل بازتولید
Parsi Date فعال باشد.
گزینه Shamsi Date فعال باشد.
افزونه Booked فعال باشد.
وارد مسیر زیر شوید:
Appearance → Customize
در هنگام بارگذاری ویجت Booked Calendar، Customizer با Critical Error متوقف میشود.
خطای ثبتشده توسط WordPress
Uncaught TypeError: Unsupported operand types: string + int
in /wp-content/plugins/booked/includes/widgets.php:64
بخش مربوطه از Stack Trace:
#0 /wp-content/plugins/booked/includes/widgets.php:
Booked_Calendar_Widget->form()
#1 /wp-includes/class-wp-widget.php:
WP_Widget->form_callback()
#2 /wp-admin/includes/widgets.php:
wp_widget_control()
#3 /wp-includes/class-wp-customize-widgets.php:
WP_Customize_Widgets->get_widget_control()
بررسی انجامشده
اگر گزینه Shamsi Date غیرفعال شود، Customizer بدون خطا باز میشود.
همچنین با استفاده از:
WP Parsi → Tools → Hook Deactivator
و اضافهکردن این مورد:
date_i18n,form,Booked_Calendar_Widget
مشکل کاملاً برطرف میشود و در عین حال:
Shamsi Date فعال میماند.
Jalali Datepicker فعال میماند.
Customizer بدون خطا باز میشود.
Booked نیز فعال باقی میماند.
به نظر میرسد هنگام اجرای Booked_Calendar_Widget->form()، افزونه Booked انتظار یک مقدار عددی برای تاریخ/سال دارد، اما تبدیل انجامشده روی date_i18n باعث میشود عملیات عددی در PHP 8.3 با TypeError مواجه شود.
اگر امکان دارد سازگاری رسمی Parsi Date با افزونه Booked بررسی شود تا نیازی به تعریف دستی Hook Deactivator نباشد.
همچنین اگر امکان شمسیسازی کامل تقویم و سیستم رزرو افزونه Booked در آینده به Integration Addons اضافه شود، بسیار کاربردی خواهد بود.
ممنون از توسعه و پشتیبانی افزونه.