Přehled odpovědí
-
AutorPříspěvky
-
Vřele doporučuji pluginy, které najdete při vyhledávání “Widget Logic”, které vám umožní zobrazovat obsah v sidebarech různě pro prakticky jakoukoliv reálnou podmínku (z WP kódu) a některé fungují i v grafickém provedení, kde si jen vyberete, co kde chcete nebo nechcete. Můžete si tam dávat widgety podle ID příspěvku, stránky, vlastního typu příspěvků, přihlášeného uživatele a dalších kritérií
Používám to všude, kde něčeho podobného potřebuji dosáhnout. Asi to není tak elegantní, jako to co používáte, ale funguje to perfektně ;)
rbow_topbar_menuje název menu (tedy parametrtheme_locationve wp_nav_menu), te to kvůli identifikaci a propojení registrovaného menu s místem, kde se má načíst____
Edit: asi je to to ID menu v hlavičce :)
A ještě upozorním, že asi potřebujete upravit funkci pro kategorii, takže toto asi nebude fungovat úplně, jak chcete.
function rbow_menuitems_classes($nav_items, $args) { if ($args->theme_location === 'rbow_topbar_menu') { $count = 0; for ($i = 1; $i <= count($nav_items); $i++) { $item = $nav_items[$i]; if (strpos( $item->url, rb_oftype() ) > -1) $item->classes[] = 'current-menu-item'; $item->classes[] = 'item-' . $i; if (isset($item->post_title)) $count++; } } return $nav_items; }funkce
rb_oftype()vrací název typu příspěvku (custom post type) a ten potom vyhledá v adrese. Pokud se tam nachází, přidá se k položcecurrent-menu-item.Dále se k položkám menu přidají třídy číslované od 1 – pro potřeby CSS stylů :)
No a nakonec se to musí spustit; :)
add_filter('wp_nav_menu_objects', 'rbow_menuitems_classes', 11, 2);1. Kategorie se do permalinku (URL) mohou přidat pomocí tagu
%category%, což předpokládám máte… Zde máte popis toho, co se zřejmě děje na vašem webu děje. Doslova je tam, že v adrese může být použita jen jedna rubrika (kategorie) a vždy je to ta první v abecedě (v případě podrubrik v uzavřené skupině)2. Toto jsem kdysi taky řešil, jde o to, že každý odkaz v menu se označuje třídou
.current-menu-itempouze v případě, že jste na dané adrese (tedy archiv – výpis produktů / hráček…). Pokud to chcete jinak, můžete si napsat vlastní filtr, aby tuto třídu přidával pokaždé, když se v URL objeví například “hracky”. Pokud chvíli vydržíte, najdu příklad :)To by byl velký posun pro Češtinu na WP, a doufám, že to bude opravdu nějak fungovat :)
Uznávám, dost hrozné řešení, ale pokud není jiná možnost, asi by to bylo – minimálně na malém webu plynule – schopno fungovat :)
_____Pardon.. Měl jsem tušení, že
define('DB_COLLATE', '');změní v DB i porovnáváníJo, to by mohlo být… Díval jsem se na to z mobilu a PHP jsem nějak přeskočil
Ještě dodám tak zpětně, že v tom mém příkladu (který snad funguje? možná) načítám skript do administrační části. Pro načtení do frontendu je potřeba místo
admin_enqueue_scriptspoužítwp_enqueue_scriptsV podstatě metoda pokus – omyl není špatná, ale je dobré si o omylech něco přečíst :D
Já to neudělal a dodnes tápu :)___________
Pardon, po ránu mi to nějak nevychází :D
Všechno už napsal admin, jen jsem skončil u posledního bloku kóduJde o nějaký inline styl – zřejmě asi šablony – takže něco by mělo být v administraci jednoduše k nastavení – pokud mi založíte admin účet na webu a pošlete mi jeho údaje na mail jancikuvmail(at)gmail.com, podívám se na to
Zalomení řádku můžete asi přidat pomocí HTML značky
<br/>, v tom případě bych dal nadpis, odkaz a až potom výčet obsahu:<li>%title% – %permalink% <br/> %excerpt%</li>jinak se dá taky dát výčet obsahu do odstavce:
<li>%title% – %permalink% <p> %excerpt% </p></li>Samozřejmě to závisí na tom, jestli ten plugin přijímá HTML značky, ale asi by měl.
User role editor by vyhovoval ?
Ještě upozorním, že tím, že jsem tento plugin zavrhl, jsem se k němu už nevrátil, takže ani nezaznamenal konstruktory třídy pro PHP7 – tedy místo
class cname{ public function cname(){//...} }musíš (nebo pro kompatibilitu “měl bys” ;) ) použít
class cname{ public function __construct(){//...} }Načtu skript:
wp_register_script('wpxml_script_ajaxxmlcont',$this->pluginfo['basefolder'].'/src/scripts/ajax_xmlcont.js',array('wpxml_script_jsfunctions'));Skript pro získání dat (používám JQuery, které se mi automaticky načítá díky zadání závislosti na jednom předešlém skriptu, který ji má “wpxml_script_jsfunctions”) – jde o načtení dat z XML souboru do formuláře:
jQuery(document).ready(function($) { jQuery('#loadfile').click(function(){ var data = { 'action': 'wpxml_files', 'plnamexmlbone_filename': jQuery('#selectfile').val() }; var title=jQuery(this).prev('.title').html(); var id=jQuery(this).attr('id'); $.post(ajaxurl, data, function(response) { jQuery('#xmlformat').html(response); }); }); jQuery('#postcount').on('change',function(){ if (jQuery(this).val()<1 || jQuery(this).val()>499)alert(); }); });A nakonec akce AJAXu ve WP:
class wpxml_ajax{ public function wpxml_ajax(){ $this->wpxml=new wpxml_feeder(); $this->pluginfo=&$this->wpxml->pluginfo; add_action('wp_ajax_wpxml_files',array($this,'getfcont_xmlbones')); } public function getfcont_xmlbones(){ $ffile=(file_exists($_POST['plnamexmlbone_filename']))?$_POST['plnamexmlbone_filename']:false; if($ffile) echo file_get_contents($ffile); else _e('Sorry, no such file was found. Maybe you\'ll have to use your own ideas to create own structure. I\'m sorry.',$this->pluginfo['langdomain']); die(); } } $wpxml_ajax=new wpxml_ajax();Toto mi fungovalo, ale tento plugin už jsem asi zavrhl, protože sice byl asi tak 4x komplexnější, než ostatní pluginy tohoto typu dohromady (XML feed pro heureku ap.) ,ale myslím, že už jich je na trhu dost, aby si každý vybral podle chuti a já se radši budu věnovat svým unikátním pluginům (těžko věřit, ale opravdu jsou jediné – zatím) ;)
Jo, pardon, nezadal jsem vyhledávací parametr pro nejnovější informace (~1rok):
http://www.timesoft.cz/presun-wordpressu-na-novy-hosting/
http://jecas.cz/wordpress-presunP.S.: Jsou to profíci, je tam víc hrubek, než jsem za život nadělal v mých slohovkách, ale popsané je to přesně ;) :D
Akce, kterou chcete provést se tuším jmenuje “Přesun webu” :)
Našel jsem toto, na webových stránkách (tuším komunitních, ale nevím – nemám to tak prošmejděné :) )
http://www.cwordpress.cz/navody/jak-presunout-wordpress-na-jiny-hosting.html
Pokud bude problém s pochopením, napište :)
AJAX_OBJECTmi nikdy nefungoval, já úspěšně používám toto:$.post(ajaxurl, data, function(response) { jQuery('#xmlformat').html(response); });Snad ti to pomůže :)
Jo, to je věčný problém české diakritiky v programování – viz ASCII tabulka :D
Na toto jsem taky narazil a hledal jsem a nenašel…
Takže jsem se toho vzdal, a řadím příspěvky podle data ;)Napadá mně možný postup (podle mně, možná -určitě ;) – někdo má lepší), je načíst si přispěvky do proměnných (asi do pole array) a potom seřadit podle “vlastní” abecedy:
$abc = str_split('AaÁáBbCcČčDďĎďEeÉéĚěFfGgHhIiÍíJjKkLlMmNnŇňOoÓóPpQqRrŘřSsŠšTtŤťUuÚŮúůVvWwXxYyÝýZzŽz'); $posts = array(); foreach ($prispevky as $prispevek){ //... }Tento postup vřele nedoporučuju, nikdy jsem to nezkoušel :)
U koho máš webhosting (předpokládám, že freehosting zdarma) – Obě stránky jsou u stejného poskytovatele? Nebo to máš na nějakém vlastním (
XAMPP?) serveru / počítači?Většinou jsou problémy s právy zápisu do složek (
CHMOD), ale co zažívám na jednom svém webu, že po mně chce WP údaje odFTPa chce to nahrávat přes něj… Což vůbec nevím proč, když tam má právaCHMOD 777(a normálně mi vždycky funguje naCHMOD 755) :)Používám WP Statistics na 3 webech a nemůžu si stěžovat :)
Existuje mnoho řešení, které umí zálohovat normální weby (soubory i DB), a nemusí být všechno zrovna na WordPressu. Webhosting by vám měl soubory i DB pravidelně zálohovat, pokud o ničem nevíte, poptejte se.
Potom jsou další PHP aplikace, buďto spolupracující s CRONem nebo prostě záloha jednou denně po návštěvě stránky. Možnosti jsou rozmanité. Momentálně bohužel nemám připojení dobré na vyhledávání, takže se omlouvám, ale zkuste hledat něco jako “PHP auto backup”, pokud ještě přidáte “Dropbox” nebo “Cloud” popř. “Google drive”, určitě dostanete i cloud řešení.
-
AutorPříspěvky