Přehled odpovědí
-
AutorPříspěvky
-
Řešením by bylo (pokud WordPress běží na Apache) použití htaccess/htpasswd. Nepříjemné je, že správa uživatelů a hesel v htpasswd není moc uživatelsky příjemná a způsob, jak to provádět přímo z WordPressu (anebo jak do toho zamontovat uživatele definované ve WordPressu) jsem nenašel.
Dobrý den,
protože aktuálně řeším podobný problém, napadlo mě, zda není možné soubory médií ukládat přímo do databáze. Možná je to nesmysl s ohledem na velikost db, ale problém s přístupem by to snad řešilo.
JR.Rozumím. Filtry a akce musím nastudovat, nicméně důležité je, že vaše rada opět zafungovala.
Děkuji moc!Nyní mám tedy:
// Odstraníme původní funkci z rodičovské šablony... remove_filter( 'the_content', 'rainforest_remove_forced_spaces', 9 ); // Načteme novou funkci... add_filter( 'the_content', 'rainforest_remove_forced_spaces_NEW', 9 ); // Definice nové funkce... function rainforest_remove_forced_spaces_NEW( $content ) { $string = htmlentities( $content, null, 'utf-8' ); $content = str_replace( ' ', ' ', $string ); $content = html_entity_decode( $content, ENT_QUOTES, 'UTF-8' ); return $content; } // Konec upravy
Bohužel to vypadá, jakoby se nová funkce neprovedla, protože české znaky jsou opět kosočtverečné :-(
V rodičovské šabloně je funkce, kterou bych rád v odvozené šabloně upravil:
function rainforest_remove_forced_spaces( $content ) { $string = htmlentities( $content, null, 'utf-8' ); $content = str_replace( ' ', ' ', $string ); $content = html_entity_decode( $content ); return $content; } add_filter( 'the_content', 'rainforest_remove_forced_spaces', 9 );
Podle návodu na webu jsem tedy použil hook, kdy jsem chtěl původní funkci odebrat a nahradit novou:
function child_remove_parent_function() { remove_action( 'init', 'rainforest_remove_forced_spaces',8 ); } add_action( 'wp_loaded', 'child_remove_parent_function' ); function rainforest_remove_forced_spaces_NEW( $content ) { $string = htmlentities( $content, null, 'utf-8' ); $content = str_replace( ' ', ' ', $string ); $content = html_entity_decode( $content, ENT_QUOTES, 'UTF-8' ); return $content; } add_action( 'init', 'rainforest_remove_forced_spaces_NEW' );
Ale nefunguje mi to.
Díky za rychlou a hlavně účinnou analýzu!!!
Pomohlo upravit řádek 167, jak píšete.Jak jsem psal výše, s nastavením serveru na hostingu to zcela jistě souvisí, protože jsem to zkoušel na jiném hostingu, kde tento problém není. S podporou Onebitu jsme to konzultovali, ale řešení nám nenašli, až vy.
Samozřejmě výše popsané úpravy budeme muset udělat v odvozené šabloně, aby i to aktualizace nevrátila zpět.
Ještě jednou velké díky. Jan Rok
V defaultní šabloně je to OK. Pluginy jsou vypnuté, je to “holá” instalace.
Podle mého je problém na hostingu.
Porovnávám Onebit (kde to nefunguje) a Česky hosting (kde to je ok).Může být problém v nastavení php.ini, kde u Onebitu je parametr “default_charset=no value”, zatímco jinde je default_value=”UTF-8″?
V obou případech jsem založil DB s collation utf8_czech_ci. Ale po instalaci WordPressu mají všechny vytvořené tabulky řazení utf8_general_ci, zatímco na funkčním hostingu mají utf8mb4_unicode_ci.
Že by byl problém zde?V tabulce wp_post je to správně (kontrolováno phpmyadminem).
K vidění zde: http://lucka.ikalbc.cz/ent-future/wordpress/cs/cile-projektu/
Databáze ikalbccz3: porovnávání utf8_czech_ci
Tabulky mají porovnávání utf8_general_ci
V tabulce options: blog_charset=UTF-8 -
AutorPříspěvky