Přehled odpovědí
-
AutorPříspěvky
-
Jenom si to zatím shrneme, jestli to celé dobře chápu, protože se tady plete několik různých věcí.
Chcete použít nějakou vlastní šablonu pro zobrazení jednotlivých příspěvků, které jsou zařazeny do nějaké rubriky? Nebo chcete pouze jinak zobrazovat výpis příspěvků v určité rubrice? Nezaměňovat s šablonami stránek, které byly výše uvedeny jako příklad (tedy např. “Showcase” či “Sidebar”).
První případ, tedy vlastní zobrazení jednotlivých příspěvků v nějaké specifické rubrice je možné jednoduše řešit pomocí stylování. Každý příspěvek v šabloně Twenty Eleven má pro HTML značku
articledefinováno několik specifických tříd, jednou z nich je i konkrétní rubrika. Podle toho je pak můžete dále stylovat.A pokud jde o stylování výpisu příspěvků, tak je lepší postupovat podle zmiňovaného návodu a vytvořit nový soubor category-nazev-kategorie.php, který upravíte tak jak potřebujete. Ale pokud si vystačíte s použitým HTML, tak je možné opět pouze stylovat v souboru style.css, protože výpisy rubrik mají zase speciální třídy pro HTML značku
body.Pořádně si zopakovat: “NIKDY nebudu upravovat zdrojové soubory WordPressu!” :-)
Podobné problémy se řeší tak, že místo klasického uživatelského pole si vytvoříte nový vlastní box, který bude třeba hned pod editorem a bude právě v podobě textarea. Můžete si tam pak nadefinovat i různou velikost (počet řádků) podle délky textu. Ale musí tam být samozřejmě nějaká výchozí délka pro prvotní zadávání – aby se pole automaticky roztahovalo podle délky textu, tak tam už by musel být implementován nějaký JavaScript. Návod na tvorbu podobné vlastní sekce, naleznete např. zde. Stačí pouze nahradit zaškrtávátko a trochu upravit některé drobnosti + dodělat flexibilní velikost.
Pokud si na úpravy netroufáte, tak i pro tyto účely existují pluginy. Mezi nejlepší patří asi Advanced Custom Fields, Custom Fields Template a Magic Fields. S jejich pomocí si jednoduše “naklikáte” vlastní sekci v administraci, která bude pro popisovaný příklad mnohem lepší než standardní uživatelské pole. Data zůstanou stejná, pouze se vizuálně změní možnosti jejich zadávání…
Ano, WP-Polls už sice není dále rozvíjen, ale stále bez problémů funguje a je velmi často používán (a také podporován).
Velmi kvalitní je také plugin Polldaddy Polls & Ratings, ale zdarma je pouze pro omezené použití, např. 200 odpovědí na anketu, 10 různých možností ankety, atd. Pro menší weby ale samozřejmě stačí, plugin je pravidelně aktualizován…
Za zmínku pak ještě stojí např. plugin SodaHead Polls.
Používáte nějaké speciální nastavení šablony? Máte nainstalovanou nejnovější verzi šablony Twenty Eleven? Jakým způsobem jste konkrétně odstranila vyhledávání? Před chvílí jsem to zkoušel a myslím, že by se to tam měl celý text vejít. Možná bude problém s nějakou vaší úpravou, podle mě se tam v kaskádových stylech uplatňuje následující kód, který by tam ale asi být neměl:
#branding .only-search + #access div {
padding-right: 205px;
}A právě tento kód způsobuje zbytečně velkou mezeru v pravé části menu. Problém patrně bude ve způsobu, jak jste odstranila vyhledávací pole…
Myslím, že použití těchto funkcí, které využívají tabulku options je správné. Pokud použijete vlastní tabulku, tak si budete muset napsat vlastní funkce na ukládání (upravování, mazání) dat, protože add_option() a další nebudou v tomto případě fungovat, stejně tak jako automatické cachování při načítaání hodnot z nastavení. Možná by stálo za to ukládání nastavení nějak optimalizovat, tedy seskupit je podle nějakého logického klíče a pracovat s nimi najednou v podobě pole, které bude při ukládání automaticky serializováno. Ale těžko říci…
Můžete také zkusit použít nějaký stávající framework pro správu různých nastavení, který může uspořit mnoho práce. Nedávno se mi docela zalíbil plugin Options Framework, mezi další patří např. Plugin Options Starter Kit. Výhodou je právě snadnější tvorba početných nastavení a možnost jejich snadného přenosu (myslím, že fungovala pomocí .xml souborů).
Co to přesně znamená “v DB jsem udělal nutné změny”? Pokud byly v databázi změněny všechny odkazy ze staré na novou doménu, tak je chyba 404 nejčastěji způsobena chybějícím souborem .htaccess. Obvykle bývá skrytý, takže se na něj při kopírování souborů někdy zapomene. Stačí jít do menu Nastavení – Trvalé odkazy a přeuložit nastavení struktury trvalých odkazů, soubor .htaccess by se měl automaticky vygenerovat… Další možností je nutnost povolení mod_rewrite u hostingu, ale to už záleží na konkrétním hostingu…
Zcela nejjednodušší způsob je nechat v nastavení vybrané nejnovější příspěvky a do souboru s šablonou pro úvodní stránku (obvykle index.php) doplnit následující kód:
query_posts( $query_string . '&cat=2' );kde 2 je ID rubriky, kterou chcete zobrazovat. Další podrobnosti naleznete v našem návodu.
neteyescz: Proměnnou $query_string je třeba použít, aby fungovalo třeba stránkování příspěvků. Pokud by se to řešilo pomocí speciální šablony stránky (což je také možnost), tak se nedoporučuje používat funkci query_posts(), ale raději přímo WP_Query(), protože jde o sekundární smyčku (loop). P.S. Všimnul jsem si, že občas používáš “gustom” místo správného “custom” :-)
Stačí použít klasické embedování, dole pod každým videem je tlačítko “Embed”. Klikněte na něj a zkopírujte celý kód, poté ho vložte ve WordPressu přímo do textu (musíte mít přepnuto na HTML editor).
Příklad:
Video je na URL adrese:
http://www.stream.cz/jaknato/661305-jak-nezamrznout-s-autemVložíte kód:
<object height="382" width="624"><param name="movie" id="VideoSpot" value="http://www.stream.cz/object/661305-jak-nezamrznout-s-autem"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.stream.cz/object/661305-jak-nezamrznout-s-autem" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="382" width="624"></object>Mělo by to fungovat a dokonce by šel napsat i jednoduchý plugin, kde by pomocí funkce wp_embed_register_handler() šlo udělat, aby pak stačilo do příspěvků vkládat samotnou URL adresu videa. Až bude trochu volněji, tak se na to můžeme zkusit podívat, teoreticky stačí jednoduchý regulární výraz, možná by to pak ještě chtělo dořešit nastavení šířky a výšky zobrazeného videa…
pchramo: Pěkné, s tím jsem se ještě nesetkal…
Brummie: Jen pro zajímavost – jaké jste tam měl heslo?
Někdy se ale pluginy hodí, i když vlastním zkoumáním se zase něco naučíte :-)
Přikládám kód pro vlastí sekci v administraci (metabox) s možností zaškrtávání.
<?php
// Vytvoříme vlastní sekci (metabox) v administraci...
add_action( 'add_meta_boxes', 'separatista_vytvorit_meta_box' );
function separatista_vytvorit_meta_box()
{
add_meta_box( 'separatista-meta-box-zobrazovani-stranky', 'Zobrazování stránky', 'separatista_meta_box_zobrazovani_stranky', 'page', 'side', 'high' );
}
// Konkrétní zobrazení sekce...
function separatista_meta_box_zobrazovani_stranky()
{
global $post;
$values = get_post_custom( $post->ID );
$check = isset( $values['_separatista_zobrazeni_stranky'] ) ? esc_attr( $values['_separatista_zobrazeni_stranky'][0] ) : '';
// Nonce pro ukládání hodnoty uživatelského pole...
wp_nonce_field( 'separatista_meta_box_nonce', 'separatista_nonce' );
?>
<p>
<input type="checkbox" id="_separatista_zobrazeni_stranky" name="_separatista_zobrazeni_stranky" <?php checked( $check, 'ano' ); ?> />
<label for="_separatista_zobrazeni_stranky">Zaškrtnutím zobrazíte stránku na webu</label>
</p>
<?php
}
// Uložíme hodnotu checkboxu...
add_action( 'save_post', 'separatista_meta_box_ulozeni_hodnot' );
function separatista_meta_box_ulozeni_hodnot( $post_id )
{
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST['separatista_nonce'] ) || !wp_verify_nonce( $_POST['separatista_nonce'], 'separatista_meta_box_nonce' ) ) return;
if( !current_user_can( 'edit_page' ) ) return;
$chk = isset( $_POST['_separatista_zobrazeni_stranky'] ) && $_POST['_separatista_zobrazeni_stranky'] ? 'ano' : 'ne';
update_post_meta( $post_id, '_separatista_zobrazeni_stranky', $chk );
}
?>Vytvořte si z něj plugin, případně ho použijte ve functions.php, snad to bude fungovat. Při úpravě stránky se nahoře objeví nové zaškrtávátko. Pokud bude zaškrtnuto, tak se do uživatelského pole
_separatista_zobrazeni_strankyuloží hodnota “ano”. Potom s tímto polem můžete dále pracovat při zobrazování stránek na webu, viz zmiňovaná funkce wp_list_pages() a parametry meta_key a meta_value.Přiznám se, že dotazu moc nerozumím. Musíte rozlišovat šablony (Theme, např. Twenty Eleven) a šablony stránek (Template, určují vzhled konkrétních stránek). Např. soubor page-template-full.php obsahuje na začátku zápis
Template Name: Full Width, no sidebar(s). Pokud si tedy vytvoříte nějakou stránku s názvem “Test” a přiřadíte ji tuto šablonu stránky, tak se bude tato stránka na webu zobrazovat patrně jinak než normální stránky (nebude mít patrně žádný postranní panel).Podívejte se ještě jednou na výše uvedený odkaz, najdete tam další podrobnosti.
Zkoušel jsem to a podle mě parametry
meta_keyameta_valuev pořádku fungují.Problém bych viděl v parametru
include– proč je tam použito$post->post_parent? Pro výpis podřazených stránek u nějaké konkrétní stránky je třeba použít spíše parametrchild_of.Také nulová hodnota parametru
echoznamená, že se stránky nebudou na webu zobrazovat, ale uloží se do příslušné proměnné pro další práci.Uvedený plugin se pro popisované účely nehodí?
Já tedy vůbec nechápu o co jde :-) Kde se tam to id vůbec bere? To je definováno někde v šabloně?
Díky za odpověď! Každopádně to byl vcelku zajímavý problém. Kdyby byla dostupná nějaká záloha databáze z doby, kdy se už chyba objevila, tak bychom ji uvítali k dalšímu testování… Každopádně chválím průběžné zálohování a doporučuji ho i všem ostatním – určitě se vyplatí :-)
Díky za odkazy. Ano, pluginy mohou někdy dost znepříjemnit život :-) Škoda, že je to i případ pluginu, který je používán pro snadný přístup k našemu fóru přímo z administrace WordPressu. Zkusíme to napravit…
Díky za report, nejsem sice autorem, ale pokusím se ho kontaktovat, případně to nějak opravit…
Ano, občas se stává, že nějaký soubor není z nějakého důvodu zcela přenesen, ale po dalších podrobnostech jsem moc nepátral (může to být problém připojení na straně uživatele či hostingu, nastavení programu, atd). Obvykle to vyřeší automatická reinstalace, která má nějaké ověřovací mechanismy nebo nové nakopírování souborů…
Myslím, že lepším postupem by bylo doplnit zatím chybějící překlad ve zmiňované online aplikaci. Odtud pak bude oficiální čeština automaticky distubuována pomocí automatických aktualizací přímo k uživatelům (chystá se to pro WordPress 3.4). A vzhledem k tomu, že je tam přeloženo (zatím neschváleno) už cca 80 %, tak je mnohem jednodušší doplnit stávající překlad než se pouštět do zcela nového. Můžete tam také navrhnout jiné možnosti překladu některých řetězců, atd. Ostatní pak mohou reagovat a nejlepší návrh pak bude případně schválen. Právě proto jsem se chtěl podívat na soubor .po, abych se mohl zběžně podívat na kvalitu překladu…
Dostanete se do administrace WordPressu? Podle mě je tam pouze aktivován nějaký plugin pro údržbu webu (tzv. maintenance mode), např. WP Maintenance Mode. Teď je jen otázkou, zda to tam dal z legrace nějaký registrovaný uživatel (není na webu více administrátorů) nebo k tomu došlo nějakým jiným způsobem (prolomení hostingu, získání hesla, atd).
-
AutorPříspěvky