Скъпи потребители на WordPress tooltip плъгина,Надяваме се, че сте добре и прекарвате приятно време със своите близки. Напоследък получихме вълнуващи предложения за нови функции от талантлив разработчик на WordPress, които ни впечатлиха. Нашият екип за разработка работи усърдно върху тези идеи, за да можем да ги реализираме скоро.
Поздрави от екипа на Tooltips,
Благодарим ви за бързия отговор относно актуализацията на 35.5.8 и за предишната ви подкрепа. Използвам плъгина Tooltips Pro Plus за уебсайта си, който е на базата на темата Salient (и WPBakery).
Проблем: Tooltip-овете в предния край зареждат CSS, свързани с Bootstrap/Awesome/reset + admin.css, което покрива персонализираната решетка на Salient и предизвиква конфликт с Font Awesome екипа.
Конфликти с Font Awesome (темата/екипът използва версия FA6, а плъгинът добавя различна версия от FA, поради което иконите на комуникацията се показват като празни кутии или предизвикват иконни грешки).
Решение А:
Коригирах плъгина WordPress Tooltip по следния начин:
- Проверете дали всяка заредена/спряна стилова файл е свързана с Bootstrap/font-awesome веригата.
- Ако темата или други плъгини вече са заредени, веднага прекратете функцията, за да избегнете зареждането на собствения Bootstrap/font-awesome на плъгина WordPress Tooltip.
- Ако не, плъгинът WordPress Tooltip зарежда собствения си Bootstrap/font-awesome.
Кодът ни е следният:
$enableBootstrapCSS = get_option('enableBootstrapCSS');
if ($enableBootstrapCSS == 'NO')
{}
else
{
global $wp_styles;
$bs_handles = array(
'bootstrap',
'bootstrap-css',
'bootstrap-style',
'bootstrap5',
'bootstrap-5',
'bootstrap4',
'bootstrap-4',
'tb-bootstrap',
'theme-bootstrap',
'font-enableBootstrapCSS',
'enableBootstrapCSS',
);
foreach ( $bs_handles as $hdl ) {
if ( wp_style_is( $hdl, 'registered' ) || wp_style_is( $hdl, 'done' ) ) {
return;
}
}
$needles = array( 'bootstrap', 'bootstrap.min.css' );
foreach ( array_merge( $wp_styles->done, $wp_styles->queue ) as $done_or_queued ) {
$obj = $wp_styles->registered[ $done_or_queued ] ?? false;
if ( ! $obj ) {
continue;
}
$src = $obj->src ?? "";
foreach ( $needles as $n ) {
if ( stripos( $src, $n ) !== false ) {
return;
}
}
}
wp_enqueue_script('bootstrap', plugin_dir_url( __FILE__ ) . 'js/bootstrap/bootstrap.min.js', array('jquery'), '5.0', true);
}
Следваща функционална заявка:
Нека разрешим проблема с отместването на tooltip-овете на мобилните екрани (tooltip-овете покриват съдържанието по краищата).
Стабилизационни стъпки: A) Прекратете зареждането на стиловете на плъгините, които не трябва да бъдат в предния край.
Премахнахме/пренаписахме единствено ресурсите на Tooltips, които предизвикваха конфликти (admin.css, skin ionRangeSlider, bootstrap/awesome/reset). Минимална цел:
Решение Б:
Подробно проучихме кода на плъгина WordPress Tooltip. По-старата версия зареждаше само admin.css и skin ionRangeSlider в контролния панел, предотвратявайки зареждането им в предния край. Кодът е организиран по следния начин:
add_action('admin_head', 'tooltips_pro_admin_css');add_action('admin_head', 'tooltips_admin_rangeslider_css_js');
Следваща функционална заявка:
Б) Зареждайте FA6 само веднъж (премахвайки повтарянията в предния край).
Това решение ще изчисти иконните проблеми (по-старите версии shim v4 на fa-* категориите са налични).
Решение В:
Тази предизвикателност е решена в Решение А.
Функционална заявка:
Би било хубаво да реализирате това във вашия плъгин.
Изолиране на ресурси/краища:
- Не зареждайте CSS на тема за бекенд в предния край (is_admin()).
Завършено. - Моля, дайте опция за избор на Bootstrap/Font Awesome (това без разрешение като настройка по подразбиране). Предложете 3 опции в настройките:
A) Не зареждайте никакви иконни екипи (използвайте екипа на темата),
B) Заредете FA6 (core/brands/solid),
C) Заредете само наследствени shim fa версии.
Завършено. По-старата версия все още използва FA6.5 и плъгинът за Tooltip е на FA6.4. - Заредете стила на ionRangeSlider в предния край само ако плъзгачът не е видим.
Завършено. - Имената на стиловете трябва да бъдат уникални и специфични
Добавете уникално корено име (напр.: .tooltips-pro …) към всичките си опции в плъгина и избягвайте използването на твърде общи селектори, като .row, .col, .btn, i, .icon, strong.
Завършено. Не можем да използваме общи селектори, като .row, .col, .btn, i, .icon, strong. - Когато е необходимо, използвайте подобни стилове на Bootstrap, ограничете: .tooltips-pro .btn { … } не .btn { … }
Завършено. - Зареждайте само ако е абсолютно необходимо
Добавяйте ресурси в предния край само когато tooltip-овете вече присъстват на страницата (проверявайте shortcode/съдържанието или използвайте server label).
Въпреки че поддържаме относителни функции на Tooltip (меню в Tooltip, използване на алтернативен текст на изображенията като tooltip, и Tooltip за полета на контактната форма и др.), до момента не е имало лесно решение за тази заявка. Моля, извинете ни за това.
Съвместимост с Font Awesome:
Ако сменяте Font Awesome, моля, използвайте FA6 и го документирайте. Избягвайте импорт на стари версии от FA в FA6, за да избегнете проблеми с иконите. Използването на SVG като вградени икони в интерфейса е добър метод за напълно елиминиране на зависимостите от FA.
Завършено. По-старата версия все още използва FA6.5 и плъгинът за Tooltip е на FA6.4.
Сърдечно благодаря за страхотните предложения и ако имате още функционални заявки, не се колебайте да се свържете с нас. Изключително нетърпеливи сме да реализираме това за вас
Благодарим ви. Надяваме се да прекарате приятно времетраене с вашето семейство
С уважение,
Поддръжка на плъгина WordPress Tooltip
Related posts:
- WordPress Tooltips Pro Plugin 20.7.4: Поправена грешка 400 в wp-admin/admin-ajax.php и коригиран стил Bootstrap
- Нов шаблон на списък с глосар и нов кратък код за списъка с глосар в плъгина Tooltips за WordPress – Издаден WordPress Tooltips Pro Plus 35.4.8
- Нова опция: “Активиране / Деактивиране на Awesome CSS за избягване на конфликти с темата”, пуснат WordPress Tooltips Pro Plus 35.5.8


Leave a Reply