Drazí uživatelé pluginu WordPress tooltip, Doufáme, že se máte dobře a že trávíte kvalitní čas se svými blízkými. V nedávné době jsme obdrželi vzrušující návrhy na nové funkce od talentovaného vývojáře WordPress, které nás velmi zaujaly. Náš vývojový tým intenzivně pracuje na těchto nápadech, abychom je co nejdříve uskutečnili.
Pozdrav od týmu Tooltips,
Děkujeme za rychlou odpověď týkající se aktualizace na verzi 35.5.8 a za vaši dosavadní podporu. Používám plugin Tooltips Pro Plus pro svůj web, který je založen na tématu Salient (a WPBakery).
Problém: Tooltipy na frontendové straně načítají CSS související s Bootstrap/Awesome/reset + admin.css, což pokrývá vlastní mřížku Salient a vytváří konflikty s týmem Font Awesome.
Jsou zde konflikty s Font Awesome (téma/tým používá verzi FA6, zatímco plugin přidává jinou verzi FA, a proto se ikony komunikace zobrazují jako prázdné čtverce nebo vyvolávají ikonové chyby).
Řešení A:
Upravil jsem plugin WordPress Tooltip následujícím způsobem:
- Zkontrolujte, zda každý načtený/zastavený styl je spojen s řetězcem Bootstrap/font-awesome.
- Pokud bylo téma nebo jiné pluginy již načteny, okamžitě zastavte funkci, aby se zabránilo načtení vlastního Bootstrap/font-awesome pluginu WordPress Tooltip.
- Jinak plugin WordPress Tooltip načte vlastní Bootstrap/font-awesome.
Náš kód je následující:
$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);
}
Další funkční požadavek:
Vyřešme problém s tooltipy, které se posunují na mobilních obrazovkách (tooltipy překrývají obsah po stranách).
Kroky k stabilizaci:
A) Zastavit načítání stylů pluginu, které by neměly být na frontendové straně.
Odstranili jsme/redukce zdrojů Tooltips, které způsobovaly konflikty (admin.css, skin ionRangeSlider, bootstrap/awesome/reset). Minimální cíl:
Řešení B:
Pečlivě jsme prozkoumali kód pluginu WordPress Tooltip. Předchozí verze načítala pouze admin.css a skin ionRangeSlider na panelu, což bránilo jejich načítání na frontendové straně. Kód je organizován následujícím způsobem:
add_action('admin_head', 'tooltips_pro_admin_css');add_action('admin_head', 'tooltips_admin_rangeslider_css_js');
Další funkční požadavek:
B) Načítat FA6 pouze jednou (odstranit opakování na frontendové straně).
Toto řešení vyřeší ikonové problémy (starší verze shim v4 kategorií fa-* jsou k dispozici).
Řešení C:
Tato výzva byla řešena v Řešení A.
Funkční požadavek:
Bylo by skvělé to zrealizovat ve vašem pluginu.
Izolace zdrojů/corner cases:
- Nezahrnovat CSS tématu pro backend na frontend (is_admin()).
Dokončeno. - Poskytněte prosím možnost vybrat Bootstrap/Font Awesome (bez schválení jako výchozí nastavení). Nabídněte 3 možnosti v nastavení:
A) Nenakládat žádný tým ikon (používat tým tématu),
B) Načítat FA6 (core/brands/solid),
C) Načítat pouze starší verze shim fa.
Dokončeno. Starší verze stále používá FA6.5 a plugin Tooltip je na FA6.4. - Načítat styl ionRangeSlider na frontend pouze pokud není slider viditelný.
Dokončeno. - Jména stylů musí být jedinečná a specifická.
Přidat jedinečný kořenový název (např.: .tooltips-pro …) ke všem vašim možnostem v pluginu a vyhnout se používání příliš obecných selektorů, jako jsou .row, .col, .btn, i, .icon, strong.
Dokončeno. Nemůžeme používat obecné selektory jako .row, .col, .btn, i, .icon, strong. - Kdykoli je to nutné, používejte styly podobné Bootstrapu, omezte: .tooltips-pro .btn { … } ne .btn { … }
Dokončeno. - Načítat pouze pokud je to naprosto nezbytné.
Přidat zdroje na frontend pouze tehdy, když jsou tooltipy již přítomny na stránce (zkontrolovat shortcode/obsah nebo použít serverový štítek).
I když podporujeme funkce související s Tooltipem (menu v Tooltipu, použití alternativního textu obrázků jako tooltip, a Tooltip pro pole kontaktního formuláře a další), dosud nebylo nalezeno jednoduché řešení pro tento požadavek. Omlouváme se za to.
Kompatibilita s Font Awesome:
Pokud změníte Font Awesome, prosím používejte FA6 a dokumentujte to. Vyhněte se importu starších verzí z FA do FA6, abyste se vyhnuli problémům s ikonami. Použití SVG jako integrovaných ikon v uživatelském rozhraní je dobrá metoda pro úplné odstranění závislostí na FA.
Dokončeno. Starší verze stále používá FA6.5 a plugin Tooltip je na FA6.4.
Upřímně vám děkujeme za skvělé návrhy a pokud máte další funkční požadavky, neváhejte nás kontaktovat. Těšíme se, až je pro vás realizujeme
Děkujeme vám. Doufáme, že strávíte příjemný čas se svou rodinou
S pozdravem,
Podpora pluginu WordPress Tooltip


Leave a Reply