Přehled odpovědí
-
AutorPříspěvky
-
Díky za tip, Lukenzi! Plugin Wordfence Security jsem před chvílí zkoušel a musím říci, že na mě zanechal velmi pozitivní dojmy. Skenování souborů a hledání odlišností od originálních souborů je moc pěkná funkce. Teď by to ještě chtělo vyzkoušet na nějakém pořádně zavirovaném webu :-) A asi to neřeší problémy napadené databáze, kde už má útočník třeba nějaký svůj ukrytý login, atd.
Zmiňované útoky byly na tvůj web? Objevily se až po nasazení toho pluginu nebo už tam byly dříve a jen nebyly monitorované? Zklidnila se situace nebo to stále pokračuje? Nešlo by něco vypozorovat ze serverových statistik?
Ten kód stačí zkopírovat do prázdného .php souboru, nahrát do adresáře
wp-content/pluginsa poté v administraci WordPressu přejít do menu Pluginy a aktivovat plugin “Allow UTF-8 Filenames on Windows”. Nic dalšího není potřeba nastavovat…Není potřeba to podle mě dále řešit. WordPress se o to při nahrávání sám postará, aby se tam dostaly jen názvy, které je opravdu možné používat. Bohužel jste narazil na vcelku zajímavou chybu, kdy to u Windows nefunguje. Ale i tato chyba bude určitě časem odstraněna. O žádném pluginu nevím a asi ani není potřeba. Každopádně určitě je možné při nahrávání názvy souborů měnit, a to pomocí filtru
wp_handle_upload_prefilter+ možná nějaké další filtry pro generovaná metadata (nejsem si jist).Majklen: Ano, zmiňovaný kód opravdu nic nedělá, protože tam nemáte upřesněnou cestu k Javascriptovému souboru
disclaimer-adult.js. Takto ho bude WordPress hledat na místědomena.tld/disclaimer-adult.js, ale on je v adresáři se šablonou, tedydomena.tld/wp-content/themes/sablona/disclaimer-adult.js. A jak to tedy udělat správně? Stačí použít funkci get_template_directory_uri(), pomocí které cestu automaticky a jednoduše získáte:<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/disclaimer-adult.js"></script>Kód můžete vložit do souboru header.php tak, aby byl v rámci úvodní hlavičky (HTML značka head). Je to jednoduché a rychlé, ale budete mít problémy při případné automatické aktualizaci šablony.
“Správný” způsob totiž v podstatě popsal uživatel sjiamnocna. Javascriptový soubor nejdříve zaregistrujete pomocí funkce wp_register_script() a poté načtete pomocí funkce wp_enqueue_script(). Příklad:
function separatista_disclaimer_script() {
wp_register_script( 'disclaimer', get_template_directory_uri() . '/disclaimer-adult.js' );
wp_enqueue_script( 'disclaimer' );
}
add_action( 'wp_enqueue_scripts', 'separatista_disclaimer_script' );Tento krátký kód můžete vložit do souboru functions.php (v adresáři aktuálně používané šablony) nebo z něj vytvořit jednoduchý plugin. Výhodou tohoto řešení je fakt, že je oddělené od šablony a správně podle manuálu :-)
Některé soubory šablony (konkrétně GreyBox) jsou nesmyslně odkazovány na FTP. Příklad:
<script type="text/javascript" src="ftp://plamen.skauting.cz/wp-content/themes/cloudland/greybox/AJS.js"></script>Nevím, proč se pouze Chrome pokouší na FTP připojovat a ostatní prohlížeče nikoliv. Ale každopádně je to špatně! Podle webu tam máte nějakou šablonu Cloudland vytvořenou v prastaré verzi programu Artisteer. Tuto šablonu jste tvořil sám nebo jste ji někde stáhnul (nemohu ji nikde na internetu dohledat)? Patrně bude problém přímo v této šabloně, můžete ji poslat (zabalenou) na email pavelevap@separatista.net, zkusíme se na to podívat…
peekaa: Myslím, že i v zahraničí ten obrázek bez problémů uvidí. Když na českém počítači zobrazíte URL s azbukou, tak lze předpokládat, že jiné země budou mít zase nainstalovanou češtinu… Pomohl ten plugin?
Lukenzi: Asi jsme se nepochopili :-) Problém byl zejména v tom, že v případě hostingu fungujícího na platformě Windows se u WordPressu objevuje výše zmiňovaná chyba a nahraný obrázek s diakritikou v názvu bohužel není správně zpracován a zobrazován. Jinak proces nahrávání souborů s diakritikou ve WordPressu v pozadí funguje (až na zmiňované chybky) a nepředpokládám, že by uživatel ručně (pomocí HTML) odkazoval na soubor “Žluťoučký kůň.jpg”, ale naopak použije interní funkce WordPress pro zobrazování obrázku a správného odkazu na něj.
Náhledový obrázek patrně vypisujete v šabloně velmi brzy, takže se podle toho zařazuje při zobrazování. Zkuste funkci pro zobrazení náhledového obrázku posunout v cyklu (loop) trochu dále, až za funkci the_title(), která je používána pro zobrazení názvu příspěvku. Podrobněji asi neporadíme, protože používáte nějakou vlastní šablonu…
Pokud se náhledové obrázky nezarovnávají správně vlevo, tak jim můžete zkusit přiřadit třídu
alignleft, pročtěte si prosím pozorně náš návod.Záhadný off-topic :-)
Lukenzi: Díky, snad opraveno. Chudák fórum, já jsem věděl, že ho brzy rozbijete :-) Moc ale nechápu v čem byl konkrétně problém, možná nějaké neviditelné znaky (ale ty by měly být při ukládání formátovány)…
peekaa: Jakým způsobem jste tvořil úvodní příspěvek? Psal jste text rovnou na fóru nebo jste to měl někde předpřipravené, např. zkopírované přímo z editoru WordPressu (HTML či vizuálního)?
Obávám se, že nikoli. Mediální soubory bohužel nemají funkcionalitu koše a jsou rovnou nenávratně smazány (jak samotný soubor na FTP, tak i záznam v databázi). Pro zajímavost také nemají možnost nepublikovaného konceptu, takže jakmile soubor nahrajete, tak je automaticky publikován…
Pokud nemáte smazané obrázky nikde zálohovány, tak bych je alespoň zkusil najít v cache vyhledávače, možná tam budou alespoň některé uložené…
Je to docela zajímavá problematika… Podle mě by to měl řešit přímo WordPress, pokud tedy vývojáři chtějí, aby ho mohli používat i běžní uživatelé. Nikdo dnes nebude řešit, jestli může použít v názvech souborů diakritiku, případně jaké konkrétní znaky (ne)jsou povolené. WordPress to až na drobné problémy řeší vcelku dobře.
Budu se tedy držet uvedeného příkladu, tedy obrázku s názvem “Žluťoučký kůň.jpg”, který jsem zkusil nahrát na standardním hostingu (s nejnovější verzí WordPressu 3.5). Soubor se bez problémů nahrál (mezera byla automaticky odstraněna) a je možné si ho nechat zobrazit:
https://www.separatista.net/wp-content/uploads/2013/01/Žluťoučký-kůň.jpg
Nevím, jak to přesně funguje s adresním řádkem v prohlížeči, ale patrně to zobrazuje s diakritikou a adresu překládá nějak takto:
Uživatel peekaa ale v tomto případě narazil na problém, kdy to na Windowsovém hostingu nefunguje. Ale není to neřešitelné, stačí si na webu vytvořit malý plugin, aktivovat ho a vše by mělo fungovat (používám ho na provizorním Windowsovém localhostu).
Lukenzi: Ano, diakritika jsou jen problémy, souhlas. Ale dnešní uživatel to vůbec nechce řešit. Prostě si pojmenuje na počítači soubor “Žluťoučký kůň.jpg” a je mu jedno, jaká jsou pravidla. Prostě ho chce nahrát do WordPressu a zobrazovat na webu. Nic víc ho nezajímá. A chce aby to fungovalo. Takže WordPress se to snaží řešit, mezery likviduje a diakritiku podporuje. Nikdo myslím nechce nahrávat soubor “Žluťoučký kůň.jpg”, odkazovat na něj a trvat na tom, že tam musí být mezera :-) Uživatelé si ale soubory často pojmenovávají s diakritikou a prostě to musí nějak fungovat. Teoreticky by WordPress mohl názvy osekávat (jako u hezkých odkazů), ale z nějakého důvodu to nedělá. Zatím jsem to blíže nezkoumal, ani přesně nevím, jak to vlastně funguje a jestli si Korejec bez nainstalované češtiny v operačním systému bude moci tento obrázek zobrazit. Ale uvítám případné odkazy na nějaké zajímavé počtení :-)
peekaa: Ano, byla tam jedna oprava. A nedávno jsem řešil zrovna jeden problém přímo s hostingem – jaký používáte hosting? Obecně ale když nahrajete v nejnovějším WordPressu soubor s názvem “Žluťoučký kůň.png”, tak by se měl bez problémů nahrát a zobrazovat…
peekaa, Libor-Matejka: Používáte nejnovější verzi WordPressu 3.5? Nahrávání souborů s diakritikou v názvu by neměl být žádný zásadní problém… Napište prosím příklad názvu obrázku, u kterého se objevily problémy, abych to mohl otestovat…
peekaa: Nesouvisí to cachování spíše s použitým prohlížečem a jeho nastavením (jednou stažený obrázek si nějaký čas pamatuje)?
Překopírování souboru pomocí FTP bohužel není ideální, protože nejsou automaticky vytvořené všechny potřebné velikosti obrázku (např. náhled). Doporučil bych použít plugin Enable Media Replace, který většinu zmiňovaných problémů automaticky řeší…
Všechny odkazované katalogy fungují na stejném systému PHP Link Directory (dole je vždy malý odkaz). Předpokládám, že tam budou mít autoři katalogů nějakou starší verzi s touto chybou :-) Nebo jste narazil i na nějaký jiný katalog, který by hlásil podobný problém?
P.S. Je skoro půlnoc (pondělí) a na fóru to žije, že nestíhám číst nové příspěvky… Co se to děje?
Obecně je samostatné řešení (např. PrestaShop) lepší pro specializovanější obchod. Soustřeďuje se na rozvoj funkcí vhodných pro eshop a proto také nabízí mnohem více funkcí a optimalizaci na nabídku a prodej zboží. Pokud ale potřebujete prodávat několik desítek produktů a nepotřebujete žádné speciální funkce, tak si plně vystačíte s WordPressem a nějakým pluginem (WP e-Commerce, WooCommerce, JigoShop, eShop a další)…
Plugin Add Link to Facebook je pravidelně aktualizován a dobře hodnocen, takže bych asi nehledal problém přímo v něm.
Používám většinou oficiální plugin Facebook a také jsem občas míval problémy s autorizací. Každopádně si projděte kompletně celý návod (může jít o nějakou opomenutou drobnost).
Možné problémy (nejsem si ale zcela jist):
– Při autorizaci musíš být myslím přihlášen k Facebookovému účtu jako správce autorizované stránky (musíte být tedy vlastník stránky).
– Facebooková aplikace musí mít možná povolenou URL adresu, ze kterého může být autorizována.
Podobné problémy se už na fóru autora vyskytly (1 a 2), zkuste si projít odpovědi, zkontrolujte si také nastavení samotného pluginu. Dále si můžete nechat zobrazit debugovací informace a podívat se, zda tam není něco podezřelého. A pokud nic nepomůže, tak můžete také kontaktovat samotného autora, vypadá to, že je velmi vstřícný a o svůj plugin se poctivě stará…
A dejte prosím vědět, jak to nakonec dopadlo…
Na jakém konkrétním katalogu jste svůj web registroval a nefungovalo to? Nemůže to být spíše problém toho katalogu? Nebo nefunguje pouze tento jeden odkaz? Patrně to ale s WordPressem nemá nic společného…
Nahráváte ho pomocí administrace WordPressu? Instalační balíček má kolem 16 MB, což bude už často za hranicí standardních hostingových limitů pro nahrávání souborů (8 – 16 MB). Hlavně to už ale ani nemusíte dále řešit, protože PrestaShop je zcela samostatné řešení eshopu a nemá s WordPressem nic společného (není to žádný plugin).
Můžete se však pokusit WordPress a PrestaShop integrovat, např. pomocí pluginu pro WordPress PrestaShop Integration. Potom budete moci vkládat do stránek ve WordPressu pomocí zkrácených zápisů (shortcode) různé přehledy nabízeného zboží.
Dále existují také integrační placené pluginy pro PrestaShop, např. Prestahop to WordPress (vytvoří speciální widgety pro WordPress s obsahem eshopu) či
WordPress Sync (naopak přenáší obsah z WordPressu do PrestaShopu).
Zajímavá problematika a uvítáme veškeré zkušenosti, ale pokud se chcete držet WordPressu, tak použijte spíše některý z mnoha dostupných pluginů.
Lukenzi: Koukal jsem, že máš Disqus i na svém webu – nějaké pozitivní/negativní zkušenosti? Je to lepší než standardní správa komentářů ve WordPressu? Přece jen to je externí služba – jsou komentáře ukládané i přímo do databáze?
Bohužel pro moje účely by byla nejvhodnější kombinace výše zmiňovaných pluginů “Plugin updates blocker” a “Plugin Update Hider”. Každý z nich je ale napsaný trochu jinak, takže se mi je nepodařilo narychlo sloučit. A zase tolik jsem to nepotřeboval, abych se tomu mohl věnovat několik hodin :-) Každopádně se třeba časem něco vhodného objeví…
-
AutorPříspěvky