Štítek Jak na to ×

Android Apache Ant Chrome CSS Data Databáze Desocializace Download ESRI Facebook Flash GIS Google Google Maps GPS Hardware HTML Hudba Internet iOS iPhone Jak na to jQuery Kindle mapa Maps Mapy Mashup Mobile MySQL Nezařazeno Obrázky PHP Programování Silverlight Software Studentská tvorba Test Video Všechno možné Webdesign Weblbinky Windows Wordpress Zajímavosti

7. 2. 2011

Windows Live Writer a čeština v titulku

Windows Live Writer defaultně escapuje české znaky v titulku příspěvků. To má za následek nejen hnusně vypadající titulek, ale hlavně chybně generovaný trvalý odkaz.image

Chování blogovacích klientů ovlivňuje soubor wlwmanifest.xml, který je standardní součástí WordPress. Stačí jej upravit a přepnout přidat requiresHtmlTitles jehož hodnota bude NO – odkaz na dokumentaci.

...
<options>
  <clientType>WordPress</clientType>
  <supportsKeywords>Yes</supportsKeywords>
  <supportsGetTags>Yes</supportsGetTags>
  <requiresHtmlTitles>No</requiresHtmlTitles>
</options>
...

Nezapomeňte znovu Aktualizovat informace o účtu tlačítko se nachází v nastavení každého účtu:

image

#jak-na-to, #live-writer, #wordpress
10. 1. 2011

Přidání užitečných CSS tříd do WordPress

WordPress má několik funkcí, které se starají o generování seznamu CSS tříd. První z nich se jmenuje body_class a generuje seznam tříd pro tag body. Její správné použití (v header.php) by mělo vypadat takto:

<body <?php body_class(); ?>>

Funkce vygeneruje celkem bohatý seznam různých CSS tříd, v závislosti na právě zobrazeném obsahu. Tyto třídy je pak možné využívat při stylování jak celého webu, tak konkrétní stránky. Výsledný HTML kód vypadá třeba takto:

<body class="page page-id-4 logged-in"> 

Jenže já si bohužel nikdy nepamatuji jaké ID která stránka má. A nepřipadá mi přehledné, stylovat obsah stránek pomocí nicneříkajících čísel. Vždy mi zde prostě chyběl nějaký dobře zapamatovatelný, snadno čitelný a jedinečný identifikátor – jakým vždy byl slug příspěvku.

Slug, jako třídu, přidáte jednoduše! Do function.php ve svém template stačí přidat následující kód:

function body_class_filter($class)
{
  global $post;
  if (is_page())
  {
    $class[] = $post->post_name;
  }
  // + bonus přidávající třídu se jménem webu
  $class[] = sanitize_title(get_option('blogname'));
  return $class;
}

add_filter('body_class', 'body_class_filter');

Alternativní způsob je ještě jednodušší a počítá s využitím funkce post_class  v page.php. Na patřičné místo (obvykle k nějakému obalovému DIV tagu) stračí vložit:

<?php post_class(basename(get_permalink())); ?>
#jak-na-to, #php, #programovani, #wordpress
27. 12. 2010

Seznam všech nainstalovaných programů

Seznam všech nainstalovaných programů je velmi užitečná pomůcka při reinstalaci systému. Jeho vytvoření je velmi jednoduché. Nejprve spustíte příkazový řádek (Win+R – cmd). Do něj napíšete příkaz: 

WMIC /output:C:\install.txt product get name,version

Seznam aktuálně nainstalovaných programů se uloží do souboru C:\install.txt – v tomto souboru naleznete na řádku jméno programu a jeho verzi (name,version). Další parametry, které je možné získat úpravou příkazu jsou Description, IdentifyingNumber, InstallDate, InstallLocation, InstallState, PackageCache, SKUNumber nebo Vendor.

#jak-na-to, #windows
3. 10. 2010

Snadné stránkování ve WordPress bez pluginu

Pokud chcete své příspěvky ve WordPress stránkovat, musíte obvykle sáhnout po nějakém pluginu. Což rozhodně není ideální řešení. Stránkování obsahu je prostě základní funkce. Je škoda, že to WordPress neumí bez nějakého zbytečného pluginu!

Jenže on to umí. V administraci se stránkování obsahu používá téměř všude. Což mimo jiné znamená, že na to existuje funkce. Stačí ji tedy jen dobře použít:

$pagination = array(
	'base' => str_replace('91919', '%#%', get_pagenum_link(91919)),
	'format' => 'page/%#%',
	'total' => ceil($wp_query->found_posts / get_settings('posts_per_page')),
	'current' => absint( get_query_var( 'paged' ) ),
	'show_all' => false,
	'prev_next' => true,
	'prev_text' => __('&laquo; Previous'),
	'next_text' => __('Next &raquo;'),
	'end_size' => 3,
	'mid_size' => 5,
	'type' => 'plain',
	'add_args' => false,
	'add_fragment' => ''
);

echo paginate_links($pagination);

Funkce paginate_links má řadu vstupních parametrů, které jsou podrobně popsány v dokumentaci.

Nejdůležitější je samozřejmě total - měl by obsahovat počet stránek. Ten jsem vypočítal jako zaokrouhlený podíl celkového počtu příspěvku a počtu příspěvků na stránku (tohle se nastavuje se v administraci).

Parametr current by měl obsahovat číslo aktuálně prohlížené stránky. Zjistíte jej snadno pomocí get_query_var. Další dva neméně důležité parametry jsou base a format – pomocí kterých se tvoří URL odkazu.

Base by měl obsahovat základní část URL. Což je ta část, které se při procházení jednotlivých stránek nemění. Nenapadl mě lepší způsob, než zavolat funkci get_pagenum_link. Řetězec %_% bude při tvorbě URL nahrazen obsahem parametru format.

Format je ono samotné stránkování. Měl by obsahovat tu část URL, která se bude měnit. V mém příkladu využívám tzv. hezké URL. Takže číslo stránky je očekávané za page. Řetězec %#% bude nahrazen čísly. Výsledná URL tak bude vypadat například takto http://www.nabito.net/page/2

Ostatní parametry jsou spíš doplňkové.

#jak-na-to, #programovani, #wordpress