Přehled odpovědí
-
AutorPříspěvky
-
Léta praxe bych tomu neříkal, ale dejme tomu, že už mám drobnou představu, jak to asi funguje.. :)
Neco jsem našel tady:
http://kapler.cz/wordpress-filtry-a-akce-pro-zacatecniky/
a tady:
http://wordpress-sensei.cz/filtry-a-akce/Mohu poprosit o adresu webu, abychom to mohli případně vidět?
http://codex.wordpress.org/Login_Trouble
Zkuste zavřít záložku s vaším webem a vyčistit prohlížeč (CTRL + SHIFT + DELETE), od všeho (mimo hesla – ty si klidně nechte uložená) a potom přejděte na svou stránku a zkuste se přihlásit.Jinak něco podobného jsem našel na oficiálním WP foru (AJ):
https://wordpress.org/support/topic/admin-login-problem-12To bylo bohužel složitější – webhosting kvůli hackerům přidal bezpečnostní opatření a museli to řešit napsáním správcům hostingu
Wordpress pouze nadefinoval funkci comment_class, která vypíše všechny třídy, které se různými aplikovanými filtry dostanou do pole tříd (je jedno s jakým indexem, proto se používá
$classes[] = ''
pro přidání), potom vezme pole tříd, spojí je mezerou a vloží do HTML prvku.Filtry fungují tak, že si jednotlivé funkce vzájemně předávají upravenou hodnotu pole, tedy:
nejprve přeskočím na apply_filters – tato “funkce” je použita až po definici všech filtrů, ale je klíčová – tady se pouze zavolají a spustí všechny filtry. Do prvního filtru se vloží $hodnota ze zadání, tedy 123, a dalšími parametry, ovlivňujícími práci filtru 999 a text ‘aligator’:
apply_filters('abc', $hodnota = 123, $dalsipromenna = 999, $adalsipromenna = 'aligator');
muj_filtr_a($hodnota, $dalsipromenna, $adalsipromenna){ //dělej něco s hodnotou if ($adalsipromenna == 'aligator') $hodnota = $hodnota / $dalsipromenna; //vrátíme hodnotu vydělenou číslem 999, tedy 123/999 return $hodnota; //0,123123123123 } /*identifikator filtru je 'abc' tak tedy pokud zadáme 'abc', provede se 'muj_filtr_a' je název funkce. Klidně tam může být metoda ze třídy (OOP), tedy místo 'muj_filtr_a' bude array('nazevtridy','nazevmetody') na třetím místě je důležitost. Čím je číslo vyšší, tím později se funkce v řadě spustí - pokud chcete např. vymazat celý obsah, dejte nějaké vysoké číslo, jinak vám tam naskáčou další úpravy. Poslední je počet parametrů, které je funkce schopna přijmout - tedy pokud tam nebude nic, funkce dostane zadánu pouze proměnnou $hodnota, pokud tam jsou 3, dostane všechny 3, tedy $hodnota, $dalsipromenna, $adalsipromenna */ add_filter('abc','muj_filtr_a',5,3); /*další filtr dostane do par. $hodnota upravenou hodnotu z filtru a, parametry $druhahodnota, $tretihodnota dostane stejné jako předchozí hodnoty $dalsipromenna, $adalsipromenna, protože tyto se nemění, jen přidávají další pokyny*/ function muj_filtr_b($hodnota, $druhahodnota, $tretihodnota){ //dělej něco s hodnotou if ($tretihodnota == 'aligator') $hodnota = $hodnota / $tretihodnota; //vrátíme hodnotu vydělenou číslem 999, tedy 0,123123123123/999 return $hodnota; //0,000123246369492 } add_filter('abc','muj_filtr_b',9,3);
Takto si mezi sebou předává pole
$tridy
třeba 20, 30 funkcí:1. fce - přidá třídu 'a', do prázdného pole array{} 2. fce - přidá třídu 'b' do pole, které již obsahuje jednu hodnotu 'a' 3. fce - prohledá pole $tridy a vymaže záznam, který obsahuje 'a' 4. fce - dostává pole, obsahující jen 'b'. Když zjistí, že třída 'a' v poli není, přidá třídu 'c' 5. dejme tomu, že poslední funkce (nechce se mi psát :) ) projede celé pole a ke každé třídě přidá koncovku, třeba '-z', a je jí jedno, že tím zkazí celý vzhled webu :)
Tedy na konci si apply_filters zavolá všechny funkce postupně, a prvnímu zadá hodnotu (prázdné pole):
$tridy = apply_filters('comment_class',array()); /*aby se nerozpadl design pouze se třídami 'b' a 'c', přidáme třídu 'comment', tu ovlivnit - odebrat ani změnit koncovkou nemůžeme, protože se přidá až po všech filtrech*/ $tridy[] = 'comment'; $tridy = implode(' ',$tridy); echo "<div class="$tridy"></div>
Na konci získá (podle rozpisu fcí 1-5 a nakonec přidání ‘comment’) obsahový DIV komentáře třídy ‘b’, ‘c’ a ‘comment’, které spojí mezerou a vloží do DIV
______
Filtr pouze zařídí to, že proměnnou, kterou předchozí funkce “vyplivne” (return $hodnota;), dostane další funkce, která ji dále zpracovává.
Mělo by teď být jasné, jak se tam dostávají ty původní třídy –
1. z jádra WordPressu, které přidává možnosti pro webdesignery
2. z nejrůznějších pluginů, které je mohou používat třeba pro JavaScriptové úpravy ap.:)
Pole je proměnná, která obsahuje více oddělených hodnot, které můžeme najít pod tzv. Indexy – $pole[1], $pole[14], atd.
Třídy proto, aby se mohly měnit filtrem, umístí se do takovéto proměnné. Nakonec se všechny spojí a tvoří HTML atribut class.
Aby mohly jednotlivé funkce přidávat / odebírat třídy, jak se programátorovi zachce, musí si tyto třídy – tedy celou proměnnou (pole) – mezi sebou předávat. To dělají tak, že přijmou toto pole jako parametr funkce, udělají s ním, co potřebují, a vyplivnou výsledek, který si do parametrů dá další funkce. Nakonec si je všechny vyzbírá HTML atribut class a všechny jje vypíše ;-)
Vím, zní to jako válečná románová tetralogie, ale zhruba tak nějak to funguje :-)
Ahoj
No, předpokládám, že je to filtr, přidaný přesadd_filter()
?V tom případě musí funkce nejdříve přijmout staré pole s třídami, přidat jednu navíc a teprve potom vrátit pole s přidanou třídou, čili tak nějak;
<?php function my_comment_classes( $puvodni, $class, $comment_id ){ $puvodni[] = 'mojetrida'; return $puvodni; } add_filter('comment_class', 'my_comment_classes',10,3); ?>
Pokud jsem to odhadl špatně prosím napiš znovu sem do topicu
Nemáte tam nějaký Cache plugin, který by změny mohl zachytávat? Pokud ne, zkuste si zavřít stránku, vymazat mezipaměť prohlížeče – CTRL + SHIFT + DELETE (popř. nastavení -> vymazat mezipaměť) a potom tu stránku opět otevřít
No a chyba je na světě, a jako vždy mezi židlí a klávesnicí.
Mám tam v jiném souboru nastavenou hlášku o updatu verze pluginu a zapomněl jsem v ní na takovou drobnost; Na return :)
BTW: Ještě dotaz, jak mohu porovnat uložené verze (>, <, =) u string jako třeba ‘2.0.1.4932’? Mám to explodovat tečkou, pak intval a teprv porovnávat, nebo je lepší technika? Odstranit tečky str_replace a pak převést na číslo?
Děkuji za trpělivost, snad už se někdy poučím ;)
function wpsb_version() { if (WPSB_VERSION == $this->option('version')) add_filter('wpsb_notice', function($m) { $m[] = $this->option('old'); return $m; }); else{ add_filter('wpsb_notice', function($m) { $m[] = sprintf(__('Now you successfully upgraded your WordPress Songbook plugin from your old version %1$s to the newest %2$s. Be happy for you can now enjoy all new features of this version! :)', WPSB_LANGDOM), $this->option('old'), WPSB_VERSION ); return $m; }); $this->option('old', 'save', $this->option('version')); $this->option('version', 'save', WPSB_VERSION); } }
Díky :)
Omlouvám se, ze zoufalství jsem sáhnul pro zálohu dřívější verze a nenapadlo mně, že nemůžu zkopírovat pouze část souboru :)
Každopádně – výsledek je stejný – “NULL” v hlavičce admina (tam kde mají být zprávy)..
Upravený soubor přikládám v *.txt (novější – č. 2)
Výsledek je vidět v přiloženém obrázku (oba stejné ;) )Šablona TW14 neobsahuje prostor pro 3 obrázky. Nejjednodušší pro vás bude vložit tři obrázky do jednoho obrázku.
Jiné řešení mně nenapadá, resp. bylo by dost drsné.. :)
Na Winech jsem servery nedělal ale hádám, že po instalaci virtuálu by mělo všechno pokračovat, jako všude jinde? Nejjednodušší mi přijde použít místo filezilla server tzv. WAMP
Dál se asi musí zapojit někdo jiný :)
Jednu dobu jsem úspěšně používal toto:
Recent posts widget extendedHledal jsem:
Keyword to URL
SEO automatic linksno a pro reklamní odkazy;
Easy text links____________
P.S.: Netestováno (ani na dětech, ani na zvířatech) :)
Jde o to, že po kliknutí na fotku chcete, aby se otevřela větší ve Fancyboxu (popř. jiném lightboxu)?
Problém asi bude, že by bylo potřeba odkázat náhledový obrázek na originální obrázek, protože tyto lightbox pluginy zpracovávají všechny odkazy, kde v adrese je
jpg
,png
,jpeg
apod. Vzhledem k tomu, že je tam nějaká podivná funkcelayers_post_featured_media
( asi ji všichni znají, jen já to v životě neviděl :) ) tak nemám tušení, jak to provést. No jádro problému jsem asi našel? ;)Super. Hledal jsem to v “Translators handbook”, no tam zejména k importu a uploadu vůbec nic inteligentního není, až jsi poslal ten odkaz :D
Tzn. mám plugin WordPress Songbook v adresáři
wp-content/plugins/wp-songbook/
, takže Textdomain musím taky mítwp-songbook
?Díky :)
Takže se to plánuje, a zatím nemusím nic řešit?
Slug (zkrácená URL) znamená co? Název adresáře pluginu?Jak to bude fungovat? Budou se při každém použití pluginu stahovat fráze z WP.org, nebo to automaticky vytvoří z databáze .MO soubor a vloží jej do wordpressu?
Tak bych obalil celý blok, rozhodující o umístění obrázku odkazem
<a href="http://sbl.sokrates.cz/"></a>
tzn. nějak takto:<a href="http://sbl.sokrates.cz/"> <?php if(lang(‚pripona‘)==‘-es‘){ ?> <img src=“<?php echo get_template_directory_uri(); ?>/images/facebook-esp.png“ alt=““ class=“fcb“> <?php }elseif(lang(‚pripona‘)==‘-en‘){ ?> <img src=“<?php echo get_template_directory_uri(); ?>/images/facebook-eng.png“ alt=““ class=“fcb“> <?php }else{ ?> <img src=“<?php echo get_template_directory_uri(); ?>/images/facebookpr.png“ alt=““ class=“fcb“> <?php } ?> </a>
No, bylo by lepší to publikovat přímo, ne přes přílohy – obzvláště pak ne DOC :)
Pro všechny je tu obsah přílohy:
adresa banneru: http://www.prigo.cz/wp-content/themes/prigo-g/images/facebookpr.png
`<?php if(lang(‘pripona’)==’-es’){ ?>
<img src=”<?php echo get_template_directory_uri(); ?>/images/facebook-esp.png” alt=”” class=”fcb”>
<?php }elseif(lang(‘pripona’)==’-en’){ ?>
<img src=”<?php echo get_template_directory_uri(); ?>/images/facebook-eng.png” alt=”” class=”fcb”>
<?php }else{ ?>
<img src=”<?php echo get_template_directory_uri(); ?>/images/facebookpr.png” alt=”” class=”fcb”>
<?php } ?>
<a href=”<?php echo get_page_link(’40’); ?>” target=”_self”>
<img src=”<?php echo get_template_directory_uri(); ?>/images/linka<?php echo lang(‘pripona’); ?>.png” class=”infolinka” alt=””>
</a>`P.S.: Word dělá z kódu humus… Říká se, že humus je úrodný, ale v tomto případě to neplatí
Tak můžete použít query_posts, před smyčkou obsahu:
<?php query_posts('cat=hotely&orderby=date&order=ASC'); if(have_posts()) while(have_posts()): the_post(); ?> <div id=“post-<?php the_ID(); ?>“ <?php post_class(); ?>> <div class=“page-content“> <?php the_content(); ?> </div> </div> <?php endwhile; ?>
Pardon, možná jsem teď navečer úplně blbý, ale můžete mi vysvětlit, co se tam vlastně má stát? Nějak jsem to z toho kódu nepochytil :)
Jde o to, že chcete vypsat na hlavní stránce příspěvky jen z dané kategorie? Nebo chcete u příspěvku vždy jen jednu kategorii?
Roboots.txt by se měl nacházet v kořenovém adresáři webu. Pokud tam není, je dobré jej vytvořit
-
AutorPříspěvky