Jednoduchý firemní web na WordPressu

Včera 13.11.2013 proběhl WordPress meeting v Praze Hubu. S Láďou a Tomášem jsme dali každý jednu prezentaci a rozpoutali diskuzi. Tento sraz je jeden ze tří zahřívacích kol přes WordCamp Praha 2014 který připravujeme.

Přednášející:

Připojte se k naší Meetups skupině na Facebooku https://www.facebook.com/groups/1432345460318366/

Prazentace

Prezentace je stručný seznam bodu jak tvořím jednoduché firemní weby na WordPressu.

The post Jednoduchý firemní web na WordPressu appeared first on wpmax.cz.

Kontaktujte nás

Vážený zákazníku, prosíme, věnujte pozornost tomuto oznámení ….

Váš zákaznický účet vykazuje k dnešnímu dni nedoplatek. O této skutečnosti jste již byl v souladu se Všeobecnými podmínkami  informován emailem nebo SMS.

Pokud jste již dlužnou částku uhradil(a), prosíme, poznačte si:

– datum odepsání částky z vašeho bankovního účtu, popř. den podání u České pošty
– zda souhlasí variabilního symbol na poslední faktuře se symbolem na vašem příkazu k platbě.

Teprve poté nás kontaktujte.

Dlužnou částku je možné pro urgentní platby složit i na přepážce FIO banky ve Zlíně, Dlouhá ul. 489. Číslo našeho účtu je:  2100074073 / 2010,  KS: 0308, VS=variabilní symbol=číslo vaší poslední faktury. Pokud VS neznáte, můžete použít VS vaší předchozí FA a předřadit “99” (99xxxxxx).
Pokud je částka složena hotově na přepážce FIO nebo převodem z jiného účtu FIO banky, proběhne transakce okamžitě.  Z ostatních bank je třeba počítat s prodlevou 1.-2. prac. dnů.  Služba bude zprovozněna po připsání dlužné částky na náš účet.

Pokud máte částku odepsánu z vašeho účtu již více než 2 prac. dny a toto oznámení se vám přesto zobrazuje, prosíme, kontaktujte nás:

774 160 060, prac. doba v pracovní dny 8.30 – 16.30 hod.

Můžete použít i  SMS na 774-160060  nebo email:  uctarna@optimax.cz . V těchto případech však nemůžeme zaručit okamžitou reakci na váš požadavek.

Pokud vás pravidelné platby časově zatěžují, můžete po zvážení využít zadání pravidelného platebního příkazu, což zařídí bez problémů každá banka. Návod naleznete na našich stránkách www.optimax.cz. Prosíme, neposílejte žádné platby předem, bez příslušné faktury. Nelze je účetně spárovat a budou vám obratem vráceny!

Děkujeme.

Optimax, účtárna

 

Čeština pro WordPress 3.6.1

První opravná a bezpečnostní verze WordPressu 3.6.1 sice vyšla už před třemi týdny, ale oficiální čeština ji následuje až dnes, kdy opravuje některé nepřesnosti a doplňuje další přeložené řetězce. Původně jsme ji už ani nechtěli vydávat, ale patrně půjde o poslední češtinu pro „malé“ verze, protože od WordPressu 3.7 už bude vše probíhat automaticky bez zásahu […]

Jak je na tom WordPress.com (statistiky)

Logo WordPressNení to tak dlouho, co zde vyšel článek o WordPress.com, tedy blogovacím systému běžícím na WordPressu, který provozuje společnost Automattic Inc., mimo jiné hlavní vývojář WordPressu.

Za rok 2010 hlasil WordPress.com 6 milionů nových blogů a 23 miliard zobrazených stránek.

Nyní jich zobrazuje 12 miliard za jediný měsíc.

Na WordPress.som je aktuálně téměř 71 milionů blogů, které každý měsíc navštíví 377 milionů čtenářů a vloží při tom přes 62 milionů komentářů. Sami autoři blogů vyprodukují za měsíc zhruba 38 milionů příspěvků ve více jak 120 jazycích.

Nejpoužívanějším jazykem je angličtina (66 %) následována s velkým odstupem španělštinou (8,7 %) a portugalštinou (6,5 %). Ostatní jazyky mezi top desítkou se drží na úrovni okolo jednoho procenta.

WordPress.com tedy stále roste a nemusíme se u něj obávat toho, co se v minulosti stalo podobným systémům (zde článek o konci Bloguje nebo Posterous).

Co nabízí WordPress.com

Po založení účtu na WordPress.com se uživatel dostane na klasickou přihlašovací stránku WordPressu, kterou známe s vlastních instalací open-source WordPress.org. Ve skutečnosti si totiž skutečně nový blog na WordPressu založil. (Použita funkce Multi-WordPressu, která je běžně součástí WP od verze 3.0.)

Kromě běžných funkcí nabízí WordPress.com další doplňky sloužící k rozvoji komunity. Jde například o možnost odebírat příspěvky z jiných blogů přímo ve vlastní administraci nebo o správu komentářů, které sám uživatel napsal na jiné blogy v rámci systému.

Omezení spočívá v tom, že nejde o vlastní instalaci systému a uživatel tudíž nemá práva správce. Nemůže instalovat nové motivy vzhledu, pluginy, a nemůže zasahovat do zdrojových kódů.

Jak vytvořit ve WordPressu šablonu stránky

HTMLToto je aktualizovaný článek z počátku roku 2010. V době jeho vydání ještě nebylo možné vytvářet ve WordPressu více typů obsahu a tím web dělit i jinak, než na příspěvky a stránky. Nyní to možné je, ale přesto se šablony stránek stále hodí.

Jde zkráceně o to, že si při vytváření nové stránky (nebo editování stránky starší) zvolíte, jaký soubor bude v motivu vzhledu použit.

To znamená, že stránky mohou různě vypadat a mohou mít i jiné prvky. Jak bylo naznačeno, jde jenom o vytvoření dalšího souboru v adresáři s motivem vzhledu, tedy kromě page.php (šablona klasické stránky) přidáte ještě další soubor s vlastním pojmenováním, který bude sloužit jako další šablona pro jiný typ stránek.

Jak na to

Asi nejjednodušším způsobem je vytvořit soubor, zkopírovat do něj obsah právě page.php a potom upravit dle svých představ. Můžete použít jiné styly a tím pádem jiné rozměry stránky apod. V již hotových motivech vzhledu je často tento systém použit pro šablonu stránky bez postranního bloku, tedy sidebar.php.

Každý soubor přitom musí mít definován svůj název hned na začátku souboru. Zápis vypadá takto:

/*

Template Name: bez menu

*/

Název bez menu potom dostanete při vytváření nebo editování stránky ve výběru pravého panelu administrace, na názvu souboru samotného přitom nezáleží.

Takto můžete např. vytvořit deset různých šablon stránek (sablona1.php, sablona2.php atd.). Při tvorbě obsahu v administraci se pak rozhodnete, jakou šablonu zrovna chcete použít.

WordPress - panel administrace

V šablonách můžete provést libovolné úpravy. Třeba použít jinou barvu pozadí, stránku udělat širší nebo naopak užší. Nezapomínejte ale, že napojení na stylopis je už v souboru header.php, takže když budete chtít použít jiné stylování, musíte ho do stylopisu zapsat a v šabloně změnit.

Bez menu

Ve stránce s názvem bez menu můžete třeba, jak název napovídá, vynechat menu, neboli navigaci webu ve formě postranní nabídky s odkazy.

Uděláte to tak, že zjistíte, jak layout webu vypadá a jak je zapsán v souboru style.css. Předpokládejme třeba, že obsahová část je od levého okraje webu odsazena pomocí zápisu CSS třeba: margin-left:200px (200px od levého okraje). Ve vzniklém prostoru o šířce 200px je potom vloženo menu.

Napřed tedy ze stránky odstraňte kód, který menu vkládá:

<?php get_sidebar(); ?>

A aby po něm nezůstalo prázdné místo, změňte název obsahové části a ve stylopisu zapište, že bude vzdálen například pouhých 5px. Tím místo vyhrazené pro postranní panel zmizí.

Tip na závěr – zobrazení seznamu článků

Může sloužit jako mapa webu, ale můžete nechat zobrazit třeba jenom posledních deset článků v jednoduchém seznamu. Používá se právě šablona stránky, do níž vložíte tento kód:


<ul>

<?php $archive_query = new WP_Query('showposts=10');

while ($archive_query->have_posts()) : $archive_query->the_post();?>

<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Trvalý odkaz příspěvku <?php the_title(); ?>"><?php the_title(); ?></a></li>

<?php endwhile; ?>

</ul>

Na místo čísla 10 doplňte vlastní požadovaný počet zobrazených článků.

Add a custom argument to WordPress filter function

Sometimes we’d appreciate a possibility to add another parametr to function called as a filter callback. WordPress „prefills“ the callbacked function with it’s own, pre-defined, parameters and we often have to look for workarounds (global variables, transitions etc.). With PHP 5.3, anonymous function and closures, we don’t have to look for this anymore. Have a look on this simple snippet:

$my_var = 10; //can be just anything...
add_filter( 'the_content', function( $content ) use ($my_var){
	my_real_callback_function( $content, $my_var );
}, 10, 1 );

my_real_callback_function( $content, $my_var ){
... //do whatever you want to do with the content and you variable
}

If you’d appreciate a tip for removing filter with anonymous function, checkout my another post.

Add a custom argument to WordPress filter function

Sometimes we’d appreciate a possibility to add another parametr to function called as a filter callback. WordPress „prefills“ the callbacked function with it’s own, pre-defined, parameters and we often have to look for workarounds (global variables, transitions etc.). With PHP 5.3, anonymous function and closures, we don’t have to look for this anymore. Have a look on this simple snippet:

$my_var = 10; //can be just anything...
add_filter( 'the_content', function( $content ) use ($my_var){
	my_real_callback_function( $content, $my_var );
}, 10, 1 );

my_real_callback_function( $content, $my_var ){
... //do whatever you want to do with the content and you variable
}

If you’d appreciate a tip for removing filter with anonymous function, checkout my another post.

WordPress remove filter with anonymous function / object

PHP 5.3 introduced anonymous functions and those can passed as an argument to WordPress add_filter function

add_filter( 'the_content', function( $content ){ 
	return trim( $content ); 
}, 10 );

This is super helpful as we don’t have to create new functions for such simple filtering as trimming of the content is. Plus this approach gives us an option to add custom arguments/parameters to a WordPress filter (checkout my another article on this topic).

A problem might arise when we need to remove such filter. How do we do that? WordPress is storing all filters in a global associative array. And does it store with unique filter_id generated by a _wp_filter_build_unique_id function.

This function is called from inside of add_filter and remove_filter function and it’s output stay constant for same input ( tag, function, priority ). So we can take advantage of this function and create our remove_filter_by_unique_id function. It’s derived from original remove_filter function, just with one line left (commented out in this example):

function remove_filter_by_unique_id( $tag, $function_to_remove, $priority = 10 ) {
	//$function_to_remove = _wp_filter_build_unique_id($tag, $function_to_remove, $priority);
	$r = isset($GLOBALS['wp_filter'][$tag][$priority][$function_to_remove]);
	if ( true === $r) {
		unset($GLOBALS['wp_filter'][$tag][$priority][$function_to_remove]);
		if ( empty($GLOBALS['wp_filter'][$tag][$priority]) ){
			unset($GLOBALS['wp_filter'][$tag][$priority]);
		}
		unset($GLOBALS['merged_filters'][$tag]);
	}	
	return $r;
}

We can use that function in this way:

$filter_id = _wp_filter_build_unique_id( 'the_content', function( $content ){
	return trim( $content );
}, 10  );
add_filter( 'the_content', function( $content ){
	return trim( $content );
}, 10 );
the_content();
remove_filter_by_unique_id( 'the_content', $filter_id, 10 );

But wait, we have still have to copy the anonymous function itself twice. This is not good. Let’s create our own add_filter function returning unique_filter_id for us. Again, simple, it’s just about updating a single line:

function add_annonymous_function_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
	global $wp_filter, $merged_filters;
	$idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
	$wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add, 'accepted_args' => $accepted_args);
	unset( $merged_filters[ $tag ] );
	//return true; -- we've replaced this line by the following one
	return $idx;
}

So the final usage will look like this:

$filter_id = add_annonymous_function_filter( 'the_content', function( $content ){
	return trim( $content );
}, 10 );
the_content();
remove_filter_by_unique_id( 'the_content', $filter_id, 10 );

This example is really simple, we could use get_the_content() instead of the_content() function and trim the output just before echoing it, but keep in mind, that this is just an example of anonymous function in WordPress filters.