Přehled odpovědí
-
AutorPříspěvky
-
Co se týče emailu zatím netuším. Nebyl by problém vytvořit kontrolu uživatelů v databázi podle emailu místo jména, problém by ale byl, že to nebude fungovat na stránce wp-login.php tam se bude muset stejně zadávat jméno.
K registračnímu formuláři odkážu na můj článek, kde jsem sice popsal přihlašovací formulář ale princip je stejný. Rozdíl bude pouze v tom, že neexistuje wp funkce pro zobrazení registračního formuláře tak ji musíte nahradit HTML kódem ze systémového souboru wp-login.php (od řádku 538).
Pak si jej můžete vložit do jakéhokoliv článku nebo stránky.
EDIT: problém nastane pokud uživatel vyplní údaje, které již existují nebo které jsou chybné pak bude přesměrován na soubor wp-login.php, který mu zobrazí výchozí registrační formulář. Pokud by měl zůstat na stejném článku s vlastním registračním formulářem, musela by se funkce vylepšit i o kontrolu a zobrazování chyb, ale to už by bylo asi trochu náročnější. Ale určitě by to šlo…
15. září 2012 (9:43) odpověď na téma: index.php vyspání zkrácených příspěvků s náhledovými obrázky #12701Tohle umí snad každý plugin zobrazující nejnovější články (třeba ve widgetu). Takže bych pohledal “recent post widget” a koukl do zdroje na řešení.
Tyhle věci se ale většinou rozmýšlejí ještě před programováním, opravdu netuším jak máte řešeno samotné ukládání dat nebo jejich kontrolu. Ale asi nejjednodušší způsob je tento:
Do formuláře bych doplnil
<input type="hidden" name="odeslano" value="ok" />Do místa kde se má vypisovat hláška bych vložil i samotné ověřování vstupních dat i ukládání
<?php if(isset($_POST)){ // funkce CheckData() zkontroluje vyplnění a správnost dat // pokud je vše vpořádku vrátí true pokud vrátí false if(CheckData()){ // funkce SaveData() uloží data, v případě úspěchu vrátí true nebo v případě neúspěchu vrátí false a podle toho se zobrazí hláška if(SaveData()){ echo '<div class="update fade">Nastavení bylo uloženo</div>'; }else{ echo '<div class="error fade">Nastavení se nepodařilo uložit!</div>'; } }else{ echo '<div class="error fade">Nebyla vyplněná všechna povinná pole</div>'; } } ?>Mimochodem, každý formulář v administraci by měl být zabezpečen proti CSRF a ten váš není (i když tady to není nic kritického).
Takže do formuláře ještě patří (viz wp_nonce_field)<?php wp_nonce_field('akce','nazev'); ?>a ve funkcích CheckData() a SaveData() by měla být kontrola
if(wp_verify_nonce('akce','nazev')){ ... }else{ wp_die('nepovolený přístup'); }Vy jste nenašel
time() - 31536000? Vždyť je to i na této stránce!!!Mimochodem, právě jsem to zkoušel a vše perfektně funguje. Bez ohledu na to zda jsem nebo nejsem přihlášen do administrace po zadání hesla k článku mohu normálně psát komentáře bez jakýchkoliv zásahů do kódu (WP verze 3.4.2, šablona Twenty Eleven).
Můžete nám tady tedy napsat jakou používáte šablonu vzhledu, popřípadě alespoň odkaz na web? Verze prohlížeče tady taky není…
1) http://wordpress.org/extend/plugins/search.php?q=related+posts
2) http://wordpress.org/extend/plugins/redirection/
3) asi bych to řešil přes user_meta. Jednoduše bych každému uživateli nastavil nějakou spešl hodnotu, například Hanka a Iva by dostali “sekretarky” a na stránce bych si nechal snadno vypsat všechny uživatele s user_meta “sekratarky”. Až jednu z nich propustí tak pouze smažeme tuto hodnotu u jejího účtu a už se mezi sekretářkami zobrazovat nebudou.
Nad nimi by samozřejmě musely být vypsání všichni uživatelé s hodnotou “sef” :)
1. Vytvořil bych si šablonu stránky pro náš výpis aktualit. Je to vlastně stejný soubor kterým vypisujete všechny články na úvodní stránce (index.php?), jen je do hlavičky umístěn malý komentář :
/*
Template Name: Aktuality
*/
2. nad PHP kód v tomto souboru
if (have_posts()) : while (have_posts()) : the_post();
vložím
query_posts("cat=ID");
kde ID je ID kategorie, pouze ze které chci vypsat všechny články. ID zjistíme tak, že v administraci dáme upravit u kategorie “Aktuality” a v URL adrese zobrazené stránky naše ID uvidíme.
3. Upravíme v administraci naší stránku “aktuality” tak, že nyní z nově vytvořeného menu vybereme šablonu stránky “Aktuality” a uložíme.
Pak si stránku zobrazíme a měli by jsme vidět výpis všech článku pouze z rubriky aktuality.
Zkusil jste kontaktovat podporu hostingu? Já kdysi řešil problém s nějakým pluginem pro zálohu, který mi v rootu vytvářel nějaký (prázdný) zip archív o velikosti několika giga! Prostě se nějak zacyklil a zálohoval sám sebe :)
Já mám občas deprese z podobných dotazů…
Četl jsem tuhle diskuzi několikrát celou a doteď nerozumím tomu co nefunguje.
Co čekáte, že tady vyřešíte pokud nám budete dávat informace ve stylu
nevim, asi jsem něco vepisoval do šablony,editor,a nějaký soubor šablon a pak se stránka po ukončení zaheslovala. víc si nepamatuju
Uvědomte si prosím, že my tady o vašem webu nebo o vaších úpravách víme ještě méně než vy takže něco radit je docela těžké ne-li nemožné.
Ale k věcem, kterým nerozumím:
včera ještě se zaheslovaná stránka po odhlášení opět znepřístupnila a dneska aniž jsem s tím cokoliv dělal se nezaheslovala
Opravdu jste se odhlásil? Jak již bylo napsáno pomocí cookies si web pamatuje prohlížeč a pokud se tedy manuálně neodhlásíte, budete přihlášení i při příští návštěvě. Pokud jste se ale odhlásil a stále vidíte stránku, kterou by jste vlastně už vidět neměl může problém způsobovat cache prohlížeče (stačí zmáčknout klávesu F5) nebo cache webu pokud používáte nějaký plugin pro cache.
vložím to tam a chce to po mě právo zápisu. minule to nechtělo.
Kam? Do jakého souboru jste tuto funkci vkládal? Co po vás chce právo zápisu? Ten soubor do kterého jste tuto funkci vkládal? Minule to nechtělo protože jste patrně změnil práva, takže je zase musíte změnit tak aby se do souboru dalo zapisovat.
Nic se neděje “jen tak” a “samo od sebe” :)
Karlinho: cesky hosting viz 4. příspěvek ;)
luigi123: no bez linku na web ti to tady asi těžko někdo vysvětlí :)
Úplně stejně jako v té funkci
function new_new_contactmethods( $contactmethods ) { $contactmethods['filmy'] = 'Oblíbené filmy'; $contactmethods['zajmy'] = 'Vaše zájmy'; return $contactmethods; } add_filter('user_contactmethods','new_new_contactmethods');Další užitečné funkce pro práci s těmito daty jsou:
Přidání informací o uživateli: http://codex.wordpress.org/Function_Reference/add_user_meta
Odstranění informací o uživateli: http://codex.wordpress.org/Function_Reference/delete_user_meta
Zobrazení informací o uživateli: http://codex.wordpress.org/Function_Reference/get_user_meta
Aktualizace informací o uživateli: http://codex.wordpress.org/Function_Reference/update_user_metaPřed chvíli jsem psal postup pro vytvoření šablony stránky tady (musí být v hlavičce komentář “Template name:”). Pak se v administraci při publikování stránky zobrazí rozbalovací menu, kde je jméno této šablony uvedeno. Nic víc v tom není :)
ještě doplním, že místo funkce vypisující vlastní menu můžeme použít rovnou funkci pro výpis stránek a pak třeba pomocí parametru “exclude” ošefovat které stránky zobrazit a které ne. Fantazii se meze nekladou :)
Jsou dva způsoby jak bych to řešil já:
1) Vlastní šablona stránky
Zkopíruji si soubor
page.phpze šablony a přejmenuji jej na třebapage-sitemap.php. Pak jej otevřu a hned na začátek za<?phpvložím hlavičku, která tento soubor nastaví jako šablonu stránky./*
Template Name: Sitemap
*/
Nakonec najdu v tomto souboru místo kde se vypisuje obsah stránky (nejčastěji funkce
the_content();) a odstraním ji + další zbytečnosti (výpis data, komentáře, atd).A místo těchto funkcí vložím funkci pro zobrazení vlastního menu (
wp_nav_menu();). V administraci si pak jednoduše vytvořím menu ze stránek, které chci na této stránce zobrazit. Design a způsob vypsání je už pak jen záležitost CSS.Rozcestník pak vytvořím v administraci jako novou stránku (vyplním název, obsah může být prázdný) a jako šablonu vyberu položku “Sitemap”. A publikujeme. Ve výsledku budete mít stránku na které se zobrazí pouze to menu, které jste předtím vytvořili v administraci. Možná jsem to složitě popsal, ale vytvoření je otázka několika minut.
2) Druhá možnost je pomocí shortcode.
Vytvořím si v souboru
functions.phpšablony vzhledu vlastní shortcode, které vloží do stránky (nebo i článku) stejnou funkci pro zobrazení vlastního menu. Menu si nastavíme v administraci stejně jako v první možnosti, stejně si také vytvoříme stránku, pouze do jejího obsahu vložíme námi vytvořené shortcode. Výsledek bude zhruba stejný.Technici WEDOSu udělali něco pro své platící zákazníky? Tak to tedy koukám…
Když jsem já naposledy potřeboval poradit (opravdu jen poradit – nakopnout správným směrem) tak mi poslali odkaz na neexistující článek v jejich slavné “znalostní bázi” :D
Po dotazu jestli si ze mně dělají srandu mi poslali odkaz na jiný článek, který jsem samozřejmě před tím četl a který pochopitelně můj problém vůbec neřešil.
Vypadám snad jako idiot co neumí používat Google?
Určitě ví o věcech kolem serveru daleko víc než já, každopádně díky jejich arogantnímu chování k lidem kteří je živí si prostě myslím, že to jsou trotlové. Takže jsem velice překvapen.
Byla chyba opravdu v tom pluginu WordPress Custom Sidebar? Pokud ano mělo by se to reportnout autorovi…
ten odkaz na šablonu patrně nefunguje… Widget se nezobrazuje ani po znovu načtení stránky (F5)? Nepoužíváte nějaký plugin pro ukládání stránky nebo widgetů do cache? Nějaké úpravy v souborech šablony?
Ten odkaz na jiný web pod slovem “hodin” u otvírací doby vypadá fakt divně :)
3. září 2012 (7:51) odpověď na téma: úprava admin-bar.php – vlastní menu – Cannot modify header… #12602Můžu vědět proč tuto úpravu nerealizujete přes plugin? Zasahování do systémových souborů není zrovna ideální.
btw problém s mezerami nebo neviditelnými znaky za značkou
?>na konci souboru jednoduše vyřešíte tak, že tuto značku prostě smažete. Pokud za touto značkou v souboru již nic není můžete ji úplně vynechat.Jen doplním… Občas je docela užitečné mít nějaký takový tahák vytisklý i na obyčejném papíře a schován někde “po ruce”. Najít je, je docela snadné existují jich totiž mraky (nejčastěji pdf, sám jich mám v šuplíku snad 20).
Každopádně po čase stejně zjistíte, že je už vlastně nepotřebujete :)
BTW hezký tahák :)
admin: jj 21.prosince se už blíží :D
Dvojka tam je v URL proto, že stejná URL již existuje (třeba tag). Podívejte se do seznamu tagů zda se v něm nenachází stejná URL a tu pak smažte (nebo změňte).
Pokud se nemýlím tak tento plugin umožňuje nastavit v administraci kde se bude navigace zobrazovat.
-
AutorPříspěvky