Přehled odpovědí
-
AutorPříspěvky
-
Pokud se nikdo nenajde, budeme časem spouštět možnost školení, které pak můžete využít.
WPtuts+: Používejte zkrácené zápisy chytře a načítejte potřebné funkce a soubory pouze pokud je opravdu potřebujete. Vysvětleno na příkladu vlastní funkce has_shortcode().
humanshell.net: Povinná četba pro vývojáře aneb jak vlastně postupně probíhá inicializace WordPressu.
WPtuts+: Povedený návod na rozšíření funkčnosti Rychlých úprav pro metadata u vlastní taxonomie.
studiograsshopper: Pokud jste ještě něčemu neporozuměli v ohledně obrázků ve WordPressu, tak to určitě napraví tento vyčerpávající a názorný přehled.
WordPress Answers: Úpravy vlastní funkce pro integraci jQuery pluginu Cycle na webu ve WordPressu.
Bainternet: Jak přidat vlastní pole s informacemi k rubrikám?
Theme.it: Podrobný návod na tvorbu vlastních widgetů na Nástěnce.
BinaryMoon.co.uk: Využití jednoduše změnitelných funkcí ze souboru pluggable.php.
WordPress Answers: Zajímavá diskuze o tom, zda je lepší mít více menších souborů s kaskádovými styly (více požadavků na server) nebo jeden větší (nepřehlednost).
Zdroják: Potřebují vůbec uživatelé službu OpenID?
WPtuts+: Velmi názorná ukázku tvorby vlastních metaboxů (i se zdrojovými kódy), např. možnost volby zobrazení různého počtu postranních panelů šablony Twenty Eleven pro každou stránku jinak.
codediesel: Nový přehledný přístup ke stránkování webu.
Podobný dotaz se tu již objevil, prozkoumejte prosím tento příspěvek (a zejména následné odpovědi), mělo by to tam být vysvětleno. Stručně řečeno to musíte jednou nastavit a prohlížeč si to bude příště pamatovat.
O jakou šablonu pro zajímavost šlo? Byla gettextovaná nebo se to muselo přeložit natvrdo v souborech šablony? Jak to, že byla pomíchaná čeština s angličtinou? Šablona využívala nějakou funkci WordPressu a upravovala ji k obrazu svému?
Jednotlivá fóra nejsou moc ideálně odlišitelná, takže se občas splete výběr konkrétního fóra. Vlákno jsem přesunul…
n3s4: Překlady na zakázku provádíme, ale samozřejmě záleží na požadované kvalitě. Může jít jen o samotný překlad (což někdy stačí), ale pokud jde o práci pro klienta, tak je třeba řetězce testovat přímo v aplikaci, takže jde o mnohem více práce. Překlad je pak také samozřejmě výrazně kvalitnější. Škoda, že nepoužíváte podobný plugin WP e-Commerce, jehož překladu se účastníme a patrně bude uvolněn zdarma (či za drobný poplatek). Čeština pro něj již sice existuje, ale bohužel jde právě jen o (doslovný) překlad textů bez podrobnějšího testování, takže není moc kvalitní pro náročnější klienty. Mohli bychom zkusit překlady propojit (mnoho řetězců by mohlo být podobných), ale stejně bude potřeba otestovat konkrétní kontext.
Každopádně, pokud se nenajde nikdo jiný a máte zájem o kvalitní překlad, tak se prosím ozvěte na email pavelevap@separatista.net. Ale protože půjde spíše o desítky hodin práce, tak to bude drahé :-) Případně je možné přeložit pouze “viditelnou” část pluginu (bez administrace).
mirekk: Zajímavé, s podobným problémem jsem se ještě nesetkal. Můžete nám poslat přihlašovací údaje (administrátor WordPressu a FTP) k dotyčnému webu na email pavelevap@separatista.net? Zkusíme se na to podívat…
Michaela: Přehledný návod na využití tohoto pluginu vyšel nedávno zde (anglicky, ale podle obrázků lze pochopit mnohé).
mirekk: Máte aktuální verzi WordPressu i pluginu NextGEN Gallery? Jakou to přesně vypíše chybu?
Pravda, nějak jsem to přehlédl (konkrétní vysvětlení kódu v .htaccess)…
Mimochodem, zkoušel jsem vypnout Akismet i na tomto fóru a jak si někteří všimli, tak se tu hned začaly objevovat spamy…
Zatím jsem neměl čas sepsat podrobnější odpověď, ale dnes to už konečně zkusím.
Skript TimThumb nepoužívám a většinou se snažím najít řešení přímo v rámci WordPressu. I zde jsou možnosti, jak generovat náhledy až během jejich zobrazení na webu a různě modifikovat velikost obrázků. TimThumb nedávno dost utrpěl poměrně závažnou bezpečnostní chybou, v tomto případě ale objevená chyba akcelerovala další vývoj a tak byl celý skript výrazně přepsán, chyby byly odstraněny a následně vyšla nová verze TimThumb 2.0. Takže bezpečnosti bych se už asi příliš neobával.
Celé vlákno už se také trochu promíchalo různými podružnými tématy, takže se pokusím držet pouze základního dotazu. I když už si občas myslím, že mě některé dotazy nepřekvapí, tak tento byl velmi zajímavý, protože obsahuje poměrně logický požadavek, který však není nějak jednoduše proveditelný. Samozřejmě ideálním způsobem je nahrávat již připravené (upravené) obrázky…
Myslím, že je určitě lepší nadefinovat si nové vlastní velikosti náhledu pomocí funkce add_image_size(). Jedna velikost bude slider, druhá klasický thumbnail a třetí třeba slider_thumbnail. Pokud bude definovaná jen jedna velikost, která bude uváděna s různými rozměry (ať v HTML či CSS), tak může docházet k problémům s vykreslováním a hlavně budete načítat větší obrázek (zbytečně), ale zobrazovat ho v menší podobě.
Pokud mám obrázek široký 350px a definovanou velikost 400px, tak je podle mě vcelku logické, že nebude možné tuto velikost ořezávat, protože to bude vlastně originální velikost. V tomto případě bych doporučil jeho zobrazení nastylovat tak, aby byl ve středu a po jeho okrajích byly nějaké barevné okraje, které by doplnily požadované rozměry.
A pokud jde o výřezy jiných velikostí, tak existuje jeden povedený plugin Post Thumbnail Editor. Umožňuje totiž jednoduše oříznout původní obrázek (aneb nahraný originál) a aplikovat změny na vybrané velikosti obrázků (tedy např. na slider, thumbnail a slider_thumbnail). Po jeho instalaci a aktivaci stačí přejít do Knihovny médií, vybrat obrázek a kliknout na Upravit. Pod náhledem se zobrazí další tlačítko Upravit obrázek, čímž se dostanete do online editoru obrázků. Přibyl tam nový malý odkaz Post Thumbnail Editor, kde můžete online ořezávat původní velikost obrázku a aplikovat ji na zvolené velikosti. Myslím, že by to mělo být přesně to, co hledáte…
Celá problematika ořezávání obrázků je ale ještě složitější. Probírá se např. v oficiálním fóru (anglicky) a existuje i nahlášená chyba, kdy vlastní velikosti obrázků nejsou ovlivněny ručním oříznutím, pokud ho necháte aplikovat na všechny velikosti (mělo by být opraveno ve WordPressu 3.3). Pokud byste si chtěl ale připravit ještě něco speciálního, tak můžete začít tímto návodem.
neteyescz: Plugin WP Vivtiger Image Resizer je už velmi zastaralý a podle uživatelů asi i nefunkční.
n3s4: Díky za ukázky využití skriptu TimThumb, někdy je to možná rychlejší, i když osobně raději externí skripty moc nepoužívám (viz problém s bezpečností). Zajímavý je také plugin s widgetem pro chatování.
Pokud nejde o stovky spamů za hodinu, tak by to měl standardní web nějaký čas bez problémů vydržet. Spambot si web moc neprohlíží, pouze se snaží vložit komentář… Máte pravdu, že černá listina povoluje komentář vložit (bude označen jako Spam), ale myslím, že byl tento způsob trochu méně náročnější než přímé zpracování Akismetem.
Ani ochrana prostřednictvím souboru wp-comments-post.php není špatná, máte určitě pravdu v tom, že je zabráněno vložit samotný komentář do databáze (pro napadení prostřednitvím trackbacků je to zase soubor wp-trackback.php). Spambot sice musí tento soubor také načíst, ale už ho nevloží do databáze. Takže vždy ušetříte nějaké databázové dotazy (requesty na server zůstanou), což zase není taková úspora (pokud jich není několik desítek za minutu). Jediná výtka směřuje ke způsobu provedení, kde byl upravován samotný zdrojový soubor WordPressu wp-comments-post.php, místo aby byla využita akce pre_comment_on_post, která slouží právě k tomuto účelu. Takže pokud si myslíte, že je nápor na server opravdu příliš velký, tak můžete použít např. následující kód (vložit do souboru funkctions.php v adresáři se šablonou):
add_action( 'pre_comment_on_post', 'separatista_odstranit_vyhledavace' );
function separatista_odstranit_vyhledavace() {
$zakazane_url = array( 'http://www.facebook.com/', 'http://www.google.com/', 'http://www.bing.com/', 'http://www.yahoo.com/' );
$url_autora = ( isset( $_POST['url'] ) ) ? trim( $_POST['url'] ) : null;
if ( $url_autora && in_array( $url_autora, $zakazane_url ) ) {
wp_die( 'Klidně to zkus ještě jednou, spambote!' );
}
}Pozor, skript zabrání pouze vložení přesně definované URL adresy, tedy musí mít http://, www i zpětné lomítko na konci. Pokud by měly být ošetřeny všechny další možnosti, tak to bude ještě trochu složitější…
Jinak myslím, že šlo opravdu o nějaký nový útok, Akismet ho hned nezachytil, a tak se spambot v případě úspěchu na web opakovaně vracel. Jen pořád nechápu, k čemu je dobré spamovat odkazy na vyhledávače. Pokud je ale někdo paranoidní, tak může jít pouze o nějaký test (třeba i ověření funkčnosti Akismetu) a můžeme se “těšit” na nové vylepšené útoky. A docela by mě zajímalo, jestli je nějaká souvislost mezi napadenými weby (žádný z našich webů s různými tématy na různých serverech napaden nebyl)… Pokud časem zjistíte ještě nějaké podrobnosti, tak se určitě podělte…
P.S. Ještě jsem našel jedno vcelku jednoduché řešení, kdy se ověřuje, zda má autor komentáře uvedeného referera. Pro běžného uživatele to není problém (komentuje přímo z nějakého příspěvku), ale spambot jde většinou rovnou po souboru wp-comments-post.php a referera nemá.
Plugin Contact Form 7 by měl podporovat (manuál) vícejazyčné verze formulářů prostřednictvím WPML.
Ohledně tohoto pluginu (a nejen o něm) jste na našem fóru již zadával několik dotazů. Mohu poprosit o reakce a doplnění, jak jste tyto problémy nakonec vyřešil?
Smashing Magazine: Zajímavé jQuery pluginy pro efektní obrázkové galerie a jejich implementace.
WP Roots: Přehledný a zároveň popisný návod na tvorbu vlastních widgetů. A další povedený návod (dokonce dvoudílný).
WordPress TextMate Bundle: Povedený editor TextMate s podporou všech funkcí WordPressu a dalších vylepšení.
WP-Snippets: Jak získat všechny štítky, které jsou přiřazené k příspěvkům pouze z určité rubriky?
WPtuts+: Kvalitní a podrobný návod na tvorbu vlastních meta boxů (a další podobný návod).
DevPress: Podmínky pro zjišťování informací o zobrazeném vlastním typu obsahu.
RAMP: Zajímavý (placený) nástroj pro synchronizaci změn prováděných na testovací a veřejné verzi WordPressu.
WP-Snippets: Jak zjistit pro libovolnou podřazenou stránku jejího hlavního rodiče (nezávisle na počtu zanoření)?
Do It With WordPress: Jak odstranit z odkazů u komentářů atribut “nofollow”?
WordPress Answers: Jak používat WordPress v podobě XML-RPC klienta?
WPMU.org: Jak přidat do statistik Google Analytics použitých ve WordPressu ještě sledování sociálních sítí?
WPLift: HTML5 se pomalu začíná prosazovat a tak tu máme 20 šablon a frameworků pro jejich tvorbu, které HTML5 podporují.
Profile Builder: Další z prémiových pluginů, které řeší registrace uživatelů, jejich správu a profil mimo administraci WordPressu.
Theme.fm: 5 zajímavých přednášek (video), které se urodily na letošním WordCampu v Seattlu. A ještě jedna várka.
Mohlo by to zůstat v cache prohlížeče. Zkuste cache vyčistit, případně zkusit jiný prohlížeč. Dále můžete zkusit deaktivovat plugin TinyMCE Advanced.
Soubor style.css je základní soubor se vzhledem šablony a každá šablona ho musí obsahovat. Soubor editor-style.css je pak dodatečným (volitelným) souborem pro definici vzhledu vizuálního editoru. Pokud ho šablona neobsahuje, tak si ho můžete vytvořit, ale nemělo by jít o přesnou kopii souboru style.css. Prozkoumejte výchozí šablonu Twenty Eleven, která obsahuje oba soubory a můžete si je prohlédnout a vycházet z nich při případných úpravách.
Míchá se tu několik různých informací a napadů, takže dodám několik postřehů a zkusím to celé trochu zpřehlednit…
Příčinou útoku může být cokoliv. Nějaký spambot např. na základě naprogramovaného skriptu usoudí, že jde o vhodný web (může být něčím zranitelný web či server, web může obsahovat nějaké klíčové slovo) a pustí se do toho. V tomto případě jste v tom nevinně a budete to muset vydržet, případně podpořit Akismet nějakým dalším pluginem, který funguje trochu jiným způsobem…
Občas však může být náhlý příval spamu způsoben nějakým bezpečnostním problémem. Používáte hosting Endora, neobjevil se tam třeba poslední dobou nějaký hacknutý web či jiný bezpečnostní problém? Pokud se spamový útok objevil opravdu až v přímé spojitosti s WordPressem 3.2.1, tak by mohlo jít teoreticky také o nějakou zatím neobjevenou (neopravenou) chybu, ale je to velmi nepravděpodobné. Dále by to mohl způsobovat nějaký plugin, ve kterém existuje neobjevená bezpečnostní díra. Pro jistotu bych zkusil preventivně použít nějaký antivirus, např. plugin Exploit Scanner. Konkrétní postup naleznete v našem starším vlákně a ujistíte se tak, že je vše v pořádku.
Spíše to ale bude pouze klasický spamový útok. Byl plugin pro CAPTCHA zprovozněn určitě správně? O jaký plugin konkrétně šlo? Nechce se mi totiž věřit, že by měl někdo zapotřebí, aby najímal “živé” lidi, kteří by vkládali komentáře s odkazy na weby vyhledávačů. Poznáte to asi také na neserverových statistikách (např. Google Analytics), které by měly započítávat pouze “živé” návštěvníky a nikoli roboty.
Pokud jste už našel nějaký jednotící prvek (např. pravidelně se opakující URL adresy), tak je můžete zablokovat jednoduše v menu Nastavení – Komentáře – Černá listina pro komentáře a nemusíte nikde upravovat zdrojové kódy WordPressu (či šablony). Mimochodem, kam jste uvedený kód vložil? Objevují se v textech komentářů nějaké další odkazy nebo je tam vždy uveden pouze ten vyhledávač jako autor?
Problém by mohl být také trochu v samotném pluginu Akismet. Sice to neřeší nárůst celkového počtu spamů, ale spíše v rostoucím počtu neodchycených spamů. Zkuste se podívat na statistiky Nástěnka – Statistika Akismet, kde by měl být vidět přehled zachycených spamů a úspěšnost pluginu. Nedávno totiž patrně docházelo k úpravám funkčnosti tohoto pluginu. Objevil se i jeden report o snížené úspěšnosti Akismetu v poslední době. A můžeme spekulovat dále. Pokud spambot vkládá automaticky spam, tak se poté asi i přesvědčí, zda se mu to podařilo (= je vidět na webu). A v kombinaci se změnami u Akismetu, mohlo v určitou dobu projít více spamů a spambot tak po kontrole usoudil, že občas něco pronikne a může se tedy vašemu webu nadále plně věnovat :-) Samotný Akismet ani dnes ještě nezadrží veškerý spam?
Možné řešení:
– Vydržet! Akismet by se měl časem naučit podobný spam rozeznávat a likvidovat. O žádné velké vytěžování serveru podle mě nejde. Kolik spamů se objeví denně? Spambot se na webu moc dlouho nezdrží, zkusí vložit komentář (a možná ho zkontroluje) a jde o dům dál (a za chvílis e zase vrátí).
– Prozatím můžete vyzkoušet další možnosti. Výše uvedená je již Černá listina pro komentáře, případně můžete zkusit nějaký další plugin, např. Block Spam By Math Reloaded (doplní k formuláři pro komentáře náhodný jednoduchý matematický příklad) nebo Raven’s Antispam (obecně nepouští spamboty, protože nemají zapnutý JavaScript).
Zkuste prosím upřesnit, co je v současné chvíli největší problém, abychom se v tomto vlákně trochu vyznali…
20. srpna 2011 (12:01) odpověď na téma: Rozdělení dlouhého příspěvku a výpisu rubrik na více stran #8860BorgMcz: Díky, takže to je docela jednoduché. Je to vcelku užitečný plugin, ani jsem ho dříve neznal, ale stránkování textů pak vypadá ještě o trochu lépe…
A k čemu tento modul vlastně tolik potřebuješ? Nějaký plugin ho přímo vyžaduje? Nebo nějaká jiná aplikace?
19. srpna 2011 (19:22) odpověď na téma: jde nějak vypnout, když píšu v HTML, aby mi WP sám vkládal tagy? #9028max: Co to znamená “tedy bez toho uzavření v tagu”?
Rozhodně nedoporučuji upravovat nějaký soubor jádra WordPressu, tedy ani soubor wp-includes/post-template.php. Při další automatické aktualizaci by se to nemuselo vyplatit, protože může být soubor přemazán novou verzí. Funkce remove_filter() je ideální pro použití v samostatném pluginu nebo přímo v souboru functions.php (v adresáři šablony).
Stačí tedy vložit tento kód do souboru functions.php (třeba na konec):
remove_filter( 'the_content', 'wpautop' );Pokud vkládáte do fóra nějaký zdrojový kód, můžete ho označit (na začátku a na konci) pomocí znaků obráceného apostrofu ( ` ). Pokud ho nemůžete na klávesnici najít, tak si ho zkopírujte přímo z fóra (je uveden na řádku pod tlačítkem “Odeslat příspěvek”). Můžete nám sem ještě jednou pro přehlednost vložit úvodní kód, který je neúplný a bylo by hezké na něm názorně vidět popisovaný problém?
V podstatě tedy chcete nějakou stránku (rubriku), kde bude uveden výpis (pod)rubrik? Takže “Článek o houbách” je v tomto případě název rubriky a nikoli příspěvku? Zkuste to prosím ještě trochu upřesnit…
První částí tedy bude speciální výpis rubrik a druhou částí budou další informace přidané k základní charakteristice rubriky.
S tímto modem žádné osobní zkušenosti nemám, jeho nasazení asi nebude nějak moc složité. Díval jsem se a na jednom hostingu ho mám, zatímco na druhém ne (další jsem nekotroloval). Modul mod_expires by měl být nainstalován s Apachem na každém serveru, zbývá ho tedy hlavně povolit. Možná s ním ale mají na hostingu nějaké špatné zkušenosti, těžko říci. Zkuste se zeptat přímo na podpoře hostingu. Mimochodem, o jaký hosting se pro zajímavost jedná?
Takže shrnuto, nainstalovat by ho neměl být problém, ale pokud server funguje bez problémů, tak se v tom asi administrátoři nebudou chtít moc “vrtat”.
Třeba se ale ještě někdo s názorem přidá…
-
AutorPříspěvky