Přehled odpovědí
-
AutorPříspěvky
-
19. srpna 2011 (12:28) odpověď na téma: Rozdělení dlouhého příspěvku a výpisu rubrik na více stran #8858
Ano, každý způsob je lepší pro něco trochu jiného. Značka pro pokračování textu je zase vhodnější, když chcete mít v úvodníku ucelené texty, které budou u každého článku trochu jinak dlouhé…
Otázky směřovaly k použití pluginu Number My Post Pages. Musel jste v nějaké podobě vložit funkci pluginu s názvem mysinglepages() do šablony a s nějakými parametry?
Součástí češtiny pro WordPress je pouze překlad výchozích šablon Twenty Ten a Twenty Eleven. Všechny ostatní šablony jsou v původní jazykové (většinou anglické) verzi a každý uživatel si je musí přeložit sám, případně si najít někoho, kdo to pro něj udělá…
V jakém redakčním systému jsou stávající stránky? Nebo jde pouze o HTML?
Samotná úprava stávajícího layoutu je samozřejmě složitější než výběr nějaké existující šablony, ale také je to samozřejmě možné, záleží to na každém webu. Šablony dostupné zdarma jsou k dispozici v oficiálním adresáři šablon nebo si můžete pořídit nějakou prémiovou šablonu.
Můžete poslat nějaké podrobnosti na email pavelevap@separatista.net, zkusíme se na to podívat a připravit nějaký časový a cenový odhad…
18. srpna 2011 (11:21) odpověď na téma: Rozdělení dlouhého příspěvku a výpisu rubrik na více stran #8856BorgMcz: Jak jste přesně použil ten plugin pro stránkování stránek (textů)? Jaké parametry pro funkci v šabloně? Jinak výpis nejnovějších příspěvků na úvodní stránce nejčastěji řeší soubor index.php. V případě této šablony však vidíte, že pomocí funkce get_template_part() ihned odkazuje na loop.php. Pozor, úprava souboru loop.php se načítá nejen na úvodní stránce, ale i ve výpis rubrik, štítků či výsledků vyhledávání… V tomto souboru je také více různých podmínek, takže tu funkci musíte nahradit na více místech. na druhou stranu ji vlastně ani nemusíte nahrazovat, ale stačí používat značku pro pokračování textu? Vlastně jde o uživatelské rozdělení textu na dvě části (úvodník a samotný text), tedy podmnožina stránkování textů na libovolné množství stránek.
Funkce the_excerpt() pouze automaticky zkracuje obsah získaný pomocí funkce the_content() – pokud ovšem nepoužíváte speciální pole v administraci pro Stručný výpis příspěvku. je to ale celé ještě trochu zamotanější a existuje mnoho dalších (nepříliš častých) kombinací…
Na uvedených odkazech se již popisovaný problém patrně nevyskytuje. Můžete nám sem pro ostatní čtenáře popsat řešení?
Obecně jde o funkce v souborech single.php (zobrazení příspěvku) a archive.php (výpis rubriky). U prémiových šablon to však může být trochu odlišné (vlastní funkce, speciální hooky). Pro zobrazení autora příspěvku se nejčastěji používá funkce the_author(), zatímco pro formát data jsou to funkce the_date a the_time (s příslušnými parametry pro formát data/času). A pokud se v upraveném textu zobrazuje čtvereček místo české diakritiky, tak bude problém s kódováním upravovaného souboru šablony, který musíte uložit ve formátu UTF-8. Pokud s tím máte problém, tak použijte vestavěný editor ve WordPressu (menu Vzhled – Editor), který při úpravách tyto problémy nezpůsobuje…
Soubor šablony asi netrefíme, ale pravděpodobně se bude jednat o funkci comments_popup_link, před kterou budete muset dát podmínku, aby se v určité rubrice nezobrazovala (příklad je na odkazované stránce, zcela dole). Možná to ale půjde i nějakým jiným způsobem bez zásahu do šablony, mnoho prémiových šablon má své vlastní hooky. Pokud se nezadaří, pošlete přihlašovací údaje (administrátor WordPressu) na email pavelevap@separatista.net, zkusíme se na to podívat…
Pokud vám jde o jiné URL adresy vkládaných obrázků (a ještě by měly být relativní), tak zkuste pročíst tento příspěvek (a vlastně i celé související vlákno). Měnit URL adresu při vkládání obrázku jde jednoduše i automaticky bez vkládání PHP kódu (ale záleží to samozřejmě na dalších detailech).
Už jen doplním některé informace z emailů, které by mohly být užitečné i pro ostatní uživatele…
jardab:
Dobrý večer,
na chyby se můžete podívat:
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-content/plugins/eshop/eshop.php on line 48
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-content/plugins/eshop/eshop.php on line 48
plugins/eshop jsem přejmenoval na plugins/eshop_ -> takže by neměl být aktivní
Při prihlašování do administrace je zase chyba:
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-login.php on line 353
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-login.php on line 365
A po zadání jména a hesla zase toto:
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-login.php on line 353
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-login.php on line 365
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-includes/pluggable.php on line 737
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-includes/pluggable.php on line 738
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-includes/pluggable.php on line 739
Warning: Cannot modify header information – headers already sent by (output started at /data/web/virtuals/7035/virtual/www/jbl/wp-config.php:1) in /data/web/virtuals/7035/virtual/www/jbl/wp-includes/pluggable.php on line 934
Verze WP je poslední cz – 3.2.1
admin:
Dobrý den,
problém patrně vznikl po úpravě souboru wp-config.php?
V jakém programu jste ho upravoval?
Patrně došlo k nesprávné úpravě tohoto souboru, kde se vytvořil tzv. BOM.
Pošlete mi prosím přihlašovací údaje k FTP, zkusíme se na to podívat.
jardab:
Dobrý den,
ano problém vznikl po úpravě wp-config.php (posílám ho v příloze) a upravoval jsem ho v PSPadu s nastavením kódování na UTF-8.
Dělal jsem v minulosti více úprav a vždy to fungovalo.
Ještě mě napadlo buď úplně zrušit nebo dát FALSE do řádku
define(‘WP_CACHE’, true); //Added by WP-Cache Manager
ale nevím…
Ještě mě napadlo, že jsem na odkazu ve Cache Manageru nechal generovat příslušné řádky (ty 3) a ty se otevřely v okně Firefoxu a nenapadlo mě u nich zkontrolovat kódování, ty jsem pak zkopíroval do wp-configu a uložil.
Jestli jsem tomu dobře porozumněl, tak v Cache Man. psali, že se jedná hlavně o zabezpečení Cookies, proto mi divné, že to nejde vrátit. Ale možná jsem to špatně pochopil. Zatím jsem si jen něco překládal do CZ.
admin:
Dobrý den,
byl to klasický problém s BOM.
BOM byl ale nejen v souboru wp-config.php (naposledy editováno 11.8.2011 19:57), ale i v souboru wp-includes/pluggable.php (naposledy editováno 10.8.2011 16:54).
BOM jsem z obou souborů odstranil a nic jiného jsem neupravoval.
Bezpečnostní nastavení cache pluginu s tím nemá nic společného a můžete postupovat přesně podle jeho pokynů. Jen pokud používáte PSPad, tak ho musíte mít správně nastaven, viz také nápověda hostingu Wedos.
Dejte prosím vědět, zda je již vše v pořádku a proč byl upravován i soubor pluggable.php.
jardab:
Dobrý večer,
děkuji za úpravu. V minulosti jsem prováděl nějaké úpravy ve WP a vždy bez problémů, proto jsem problém v PSPadu neočekával (a neověřil).
Soubor wp-config.php jsem upravoval já, a soubor pluggable.php jsem otevře a asi i uložil také já, protože se mi zobrazovala hláška, že v něm je chyba, tak jsem koukal na uvedený řádek.
Teď celý web kopíruji raději do čerstvé zálohy a pak tedy zkusím tu změnu.Snad se povede.
Děkuji moc.
Takže vyřešeno a pro ostatní: Nezapomeňte u PSPadu na správné nastavení!
Podobných dotazů na úpravy URL je stále více a nikde jsem v češtině nenašel nějaké jednoduché řešení (existují pouze zbytečně složité konstrukce, které již dávno nejsou aktuální). Zkusím to tedy celé trochu vysvětlit. I v tomto vlákně jsou míchány dvě různé funkce:
1) Filtr get_pagenum_link se používá pouze pro změnu URL adresy, viz výše uvedená funkce separatista_zmena_url_strankovani(), která pouze přesměrovává jednu funkční URL adresu na druhou. Změněná URL adresa, ale musí existovat! Takže funkce neteyescz_zmena_url_strankovani() fungovat nebude, protože chcete sice původní adresu přesměrovat z “page” na “stranka”, ale WordPress už neví, že má najednou pro stránkování používat jinou proměnnou.
2) Změnu proměnné (a tedy i URL) pro stránkování na celém webu lze ale udělat velmi jednoduše, využít je ale třeba poměrně složitou třídu WP_Rewrite().
Do souboru functions.php (v adresáři šablony) nebo do samostatného pluginu je třeba vložit následující kód:
add_action( 'init', 'separatista_globalni_strankovani' );
function separatista_globalni_strankovani() {
global $wp_rewrite;
$wp_rewrite->pagination_base = "stranka";
}A poté je ještě třeba jít do menu Nastavení – Trvalé odkazy a kliknout dole na tlačítko “Uložit změny”, i když jste vlastně žádné změny neprovedli. Cílem je spuštění funkce flush_rules(), která provedenou změnu “zaregistruje” přímo ve WordPressu. Šlo by ji samozřejmě přidat i k výše uvedené funkci, ale musely by tam být nějaké podmínky, aby se nespouštěla pro každou načtenou stránku, ale pouze jednou, což se mi teď nechce celé psát :-)
Změnu stránkování (a další možnosti) umí i plugin WP htaccess Control, který na to jde trochu jinak a využívá filtru rewrite_rules_array.
1) Nejsem si jist, zda je problém způsoben ukládáním starších verzí příspěvků. Byl po jejich vypnutí problém odstraněn? Zkoušel jsem plugin jen letmo aktivovat a na podobnou chybu jsem vůbec nenarazil… Upravoval jste příspěvek s ID = 7 a pro administrátora (ID = 1) se tak vytvořil záznam, že tyto změny příspěvku ještě na webu neviděl. A chybová hláška by měla upozornit, že chce plugin tuto informaci uložit do databáze ještě jednou. Defacto by se tak chyba měla objevit spíše u vypnutých starších verzí, protože každá starší verze má své vlastní ID a vlastně tak ani nemůže dojít k duplicitě… Ale je to celkově podivné…
2) Starší verze jsou vlastně ukládané články vždy ve chvíli, kdy je aktualizujete. Můžete se tak vrátit k nějaké dřívější verzi článku, pokud jste ho v zápalu invence pozměnili. Ideální je to ale zejména pro weby s více uživateli, kde můžete sledovat kdo provedl jakou změnu. Sice se tím “zaplácává” databáze, protože je článek vždy znovu uložen s celým textem, ale není to ještě tak strašné. Každopádně je třeba předem zvážit, zda tuto funkci potřebujete. I později je ale ještě možné všechny starší verze pomocí různých pluginů smazat a celou databázi tak pročistit.
Co myslíte tím “rozčtverečkuje”? Pokud je nahraný obrázek pro pozadí menší než rozměry webu, tak se bude na pozadí opakovat, aby bylo zaplněné celé pozadí. V menu Vzhled – Pozadí si můžete tyto možnosti změnit (dole na stránce), a to pomocí položek pro Nastavení zobrazení (Umístění, Opakování, Upevnění). Pokud jsem se s odpovědí netrefil, tak zkuste prosím problém lépe popsat, ideálně i s URL adresou, kde je situace k nahlédnutí…
Asi si neumím úplně představit funkčnost a logiku celého procesu, takže uvítáme pro zajímavost nějaké podrobnosti o používaném řešení. Ale hlavně, že to funguje…
Smashing Magazine: Tipy a triky pro práci s externími knihovnymi (správný výběr, pravidla).
Wptuts+: Jak přidat definici kaskádových stylů do své šablony a usnadnit tak uživatelům případný tisk zvolených stránek?
VoododPress: Speciální vlastní velikost obrázků v RSS zdroji pro ideální zobrazení odlišující se od samotného webu.
WordPress Answers: Jak zobrazit ve výpisu příspěvků v administraci i automaticky uložené koncepty?
Pro Blog Design: Návod na tvorbu vlastního pohybujícího se boxu s odkazy na nejznámnější sociální sítě.
Six Revisions: Jak vytvořit přehledný uživatelský filtr pro vyhledávání příspěvků, který bude fungovat na základě používaných uživatelských polí?
The Website Weaver: Tentokrát zajímavý plugin pro vizuální tvorbu šablony.
Brad Williams Blog: Jak přidat vlastní odkaz do přehledu webů ve víceuživatelské verzi WordPressu?
Adii: Proč existuje tak málo kvalitních prémiových pluginů (narozdíl od šablon)?
WishList Member: Prémiový plugin pro prémiové členství uživatelů na vašem webu.
alexking.org: Ve WordPressu 3.1 byla opravena chyba, která mohla způsobovat duplicitní hodnoty GUID, ale bohužel už neproběhl automaticky žádný skript, který by opravil starší chybné hodnoty (GUID musí být také platná URL adresa).
WordPress Answers: Jak transformovat specifický vlastní SQL dotaz na standardní smyčku (loop) a využívat tak proměnnou $post (a tedy i návazné funkce pro využití v šabloně).
Pokud jste dočasné stránky smazal a nalezené odkazy na ně již v Googlu nefungují, tak časem zmizí i z vyhledávače. A pokud jste je pouze přejmenoval, tak existují i pod původním názvem, který ale WordPress automaticky přesměruje na nový název (pomocí 301). Nějakou chvíli ale bude trvat, než to vyhledávač přeindexuje, u nových webů to může být až týdny. V testovací fázi webu doporučujeme kvůli těmto problémům skrývat web před vyhledávači (menu Nastavení – Viditelnost). Rychlejší změně můžete napomoci různými triky, odkazy již výše uváděl neteyescz (existují i různé pluginy pro tvorbu sitemapy, správu souboru robots.txt a pokročilé SEO techniky). Jedinou jistotou je ale trpělivost…
neteyescz: Ufff, vyčerpávající odpověď :-)
Doplnil jsem k tématu pouze štítek IC.cz, kde je možné zjistit, že u tohoto freehostingu se podobné problémy vyskytují neustále. Pokud by si každý zaplatil hosting za pár desetikorun měsíčně, tak by nemusel řešit tolik zbytečných problémů… Ale všichni jsme nějak začínali, takže zpět k věci…
Pro samotnou úpravu souboru .htaccess je opravdu nejlepší plugin od Lukenziho. Neumí nic zbytečného navíc a funguje tak, jak by měl. Budete ho ale asi muset nedjříve vytvořit ručně nebo změnit CHMOD na hlavní složce a pak přeuložit nastavení trvalých odkazů. Také obrázky nejdou nahrávat právě kvůli nedostatečnému (či restriktivnímu) oprávnění u adresářů wp-content a uploads.
Funkce content_url() by měla fungovat i v záhlaví (header.php), testováno u šablony Twenty Eleven. Tato funkce vypisuje konkrétní URL adresu pro adresář “wp-content”, tedy např.
http://mojedomena.cz/wp-content. Narozdíl od WP_CONTENT_URL zkoumá, jaký protokol je na webu právě používán (http či https).Co vám na tom konkrétně nefunguje? Nedefinujete $gurl v nějakém jiném souboru než ji vypisujete? Pokud jdou oba řádky kódu hned za sebou, tak by to mělo v pořádku fungovat.
Předání proměnné můžete řešit i vlastní funkcí v souboru functions.php, např.
function separatista_content_url() {
$gurl = content_url() . '/gallery/akce/';
echo $gurl;
}Tuto funkci pak můžete libovolně volat, např. v souboru header.php:
<?php separatista_content_url(); ?>Ano, můžete použít např. plugin Posts By Tag, který umožňuje i zkrácené zápisy. Do textu stránky na zvolené místo pak vložíte např. následující zkrácený zápis:
[posts-by-tag tags = "stitek"]Plugin umožnuje i volbu dalších parametrů (např. počet), vše najdete na výše uvedeném odkazu…
Justin Carroll: Zamyšlení o tom, co všechno by nemělo být vůbec součástí šablon?
Digging into WordPress: Přesměrovávání přihlášených uživatelů.
WP Roots: Kompletní průvodce pro metaboxy ve WordPressu. A další podrobný návod (už spíše pro programátory).
VoodooPress: podrobně vysvětlený filtr pre_get_posts a možnosti jeho využití.
WP Theming: Návod na zprovoznění vlastního upozornění pro uživatele v administraci WordPressu (a podobný článek).
VoodooPress: Návod na úpravu výchozí šablony Twenty Eleven – přidání dvou widgetizovaných postranních panelů na stránku se zobrazeným příspěvkem.
CSS-Tricks: Jak využít hromadný sprite obrázek jako pozadí v kaskádových stylech i v případě, že neznáte přesné rozměry (např. odstavec textu)?
Yoast: Jak vylepšit zobrazování informací o autorech z hlediska SEO ve WordPressu pomocí specifických atributů rel.
Wptuts+: Podrobný průvodce přesunováním webu na jiný hosting či jinou doménu.
Wade Wegner: Využití cloudu Azure pro WordPress.
Smashing Magazine: Návod na používání pseudoelementů (:before a :after) v kaskádových stylech.
Monday by Noon: Jeden z oslavných článků na využití CSS preprocesoru SASS (a české vysvětlení).
tripwire magazine: Obrovská sbírka 50 různých návodů pro WordPress. Na mnohé jsme na fóru již upozorňovali, ale každopádně stojí za prohlédnutí, třeba tam zrovna najdete něco, co by se mohlo hodit.
Funkční email je stále pavelevap@separatista.net. Nefunkční však bude částečně ještě asi týden majitel této emailové adresy :-)
Alex: Pochlub se :-) Nebo jde o web uvedený v profilu?
13. srpna 2011 (19:38) odpověď na téma: Rozdělení dlouhého příspěvku a výpisu rubrik na více stran #8850Ano, admin je částečně na dovče a neteyescz to tu naštěstí zachraňuje :-) Každé takové vlákno je ale hlavně pro admina asi hodina práce, protože to musí přečíst, pochopit a pokusit se vysvětlit případné záhady, případně problém uvést do souvislostí. A protože se na fóru objevuje stále více dotazů a zároveň mám mnoho placené práce a připravuju novou verzi fóra, tak by se musel admin velmi brzo zbláznit :-)
Prošel jsem si už ale celé vlákno a jen to nakonec celé shrnu a trochu okomentuju…
Je třeba rozlišovat rozdíly mezi stránkami a příspěvky. Pokud máte nějakou stránku (dlouhý text), tak je možné ji rozdělit na několik částí pomocí
<!--nextpage-->. Dříve bývalo v editoru speciální tlačítko, které sice postupně zmizelo, ale jde “obnovit” a funkčnost zůstala zachována. V šabloně pak musíte ještě použít funkci wp_link_pages(). Jde ale pouze o rozdělení jedné stránky (textu). Uvedený kód (BorgMcz) je zajímavý a na první pohled mě nenapadá jednodušší řešení tak, aby byly v odkazech jak čísla, tak textové odkazy (ale zkusím se na to ještě podívat). Zajímavý je také zmíněný plugin Number My Post Pages, jakou funkci jste nakonec vložil do šablony? Je možné někde vidět online, jak nakonec toto rozdělění stránky vypadá?Trochu se plete také pojem “stránka” (jako nějaký text) a stránka ve výpisu příspěvků (či obecně stránka webu), která vznikla stránkováním mnoha příspěvků a není to vlastně nic jiného než rozdělěný výpis příspěvků na dílčí stránky (které ale nemůžete upravovat v administraci). Pro stránkování je ideální plugin WP-PageNavi (další pluginy jsem ani neznal, díky za zmínku, neteyescz). Výše uváděný kód
<?php if( function_exists( 'wp_pagenavi' ) ) { wp_pagenavi(); } ?>je však třeba vložit až na konec výpisu příspěvků (tedy po ukončení loopu = smyčky).
Používaná šablona Engineering and Machinering využívá funkce get_template_part() (novinka WordPressu 3.0), která je už trochu složitější na pochopení, ale stručně řečeno jde o to, že např. z klasického souboru pro zobrazení příspěvku (single.php) vyčleňuje samotnou smyčku (loop) pro výpis příspěvku a odkazuje na příslušný soubor loop-single.php, který to řeší samostatně. Cokoliv je ale součástí souboru loop-cokoliv.php, tak je součástí loopu (pro související obsah webu). A pokud tedy potřebujete něco vložit až za konec loopu, musíte to provést v původním souboru (tedy např. single.php či archive.php), a to až po funkci get_template_part(). Je to ale námět na celý dlouhý článek :-)
Takže výše uvedený kód pro stránkování by se správně neměl dávat do souboru footer.php (načítá se na všech stránkách), ale pouze tam, kde bude potřeba, tedy ve výpisu příspěvků v rubrikách (v našem případě tedy soubor category.php) + případně ve výpis příspěvků z různých rubrik na úvodní stránce (tedy soubor index.php). Soubory attachment.php a loop-attachment.php slouží pro zobrazování nahraných souborů z Knihovny médií na vlastních URL adresách…
Očekávám další doplňující dotazy :-)
-
AutorPříspěvky