Zpět z Tumblr na WordPress

Důvod odchodu z Tumblru

Z Tumblru jsem byl původně nadšený. Líbil se mi jeho systém likování příspěvků interním srdíčkem, nebo funkce reblog, kdy můžete na svůj blog jedním tlačítkem převzít pěkný článek někoho jiného. Funguje to dobře u blogů sdílejících nějaký jednoobrázkový obsah apod. Mě to ale nefungovalo a na blog jsem psal čím dál méně.

V této době jsem zároveň udělal několik webů na WordPressu. Hlavním důvodem byla hotová administrace a typ webů, kdy klienti chtěli publikovat pár stránek o své firmě a občas přidat nějakou novinku. Pro tento typ webů se mi WordPress zdál dostačující. Eliška udělá grafiku, já nakóduji WordPress šablonu a pomohu klientovi naplnit obsah. Žádný velký vývoj, vesměs špagetový kód, ale třeba programování template, nebo pluginu, je otázkou chvilky.

Možnost si občas něco doprogramovat, nebo upravit, také hrála svou roli. U Tumblru můžete jen upravovat HTML a CSS zvolené šablony.

Plugin pro převod Tumblru na WordPress

Pomocí pluginu Tumblr Importer to byla poměrně hračka. Chtěl bych jen upozornit na dvě záludnosti:

  • po instalaci pluginu se skrývá v administraci > Nástroje > Import – přidá se mezi importní možnosti
  • když úspěšně zvládnete podle pokynů vytvořit Tumblr aplikaci a zadat API a secret key, vyberete blog, ze kterého importovat, a začne se točit „loading“ kolečko, je potřeba klikat po vašem WordPress blogu! Po několika pokusech, kdy se kolečko jen několik minut točilo a mých chabých 21 příspěvků z Tumblru se neimportovalo, jsem to vygooglil na supportu pluginu. Je prostě potřeba PHP udržovat v chodu, aby mohlo importovat.

Takže jestli také uvažujete o přechodu z Tumblr na WordPress, snad vám to pomůže 🙂

Bubenská

Info o pár pracovních změnách posledního měsíce.

S Milanem jsme si pronajali kancelář v baráku Bubenská 1. Máme tady veganský akvárko, ale hlavní důvod, proč tu sedíme je, že chcem dělat to co umíme: vyrábět weby.

image

Plán se zatím daří, práce je dost. Měli jsme i chvilku zajet do Olomouce a s kamarádama tam vymyslet kulturní magazín Olomoucké špeky, který spustíme asi začátkem prosince.

Pak jsem taky vyrobil web ségře, která chce dělat grafiku: www.eliskavanova.cz. Pokud by někdo potřeboval vyrobit pozvánku/plakát/vizitky apod. určitě se jí ozvěte.
Při tvorbě jsem se naučil dědit WordPress téma a zjistil, že nová WordPress template TwntyThirteen je pěkná.

Když už jsem byl u těch osobních webů, trochu jsem si zlepšil www.fabian.cz

WordPress plugin s Nette formularem

WordPress je skvely nastroj, pokud potrebuji udelat rychle web s publikaci clanku a nekolika strankami, ktere se meni jednou za cas. Opruz obvykle nastava ve chvili, kdy je potreba udelat neco na miru. Existuje spoustu pluginu, ale ne vzdy najdu vyhovujici.

Pri programovani v Nette jsem si zvyknul na jednoduchost formularu a jejich pohodlnou validaci. Rozhodl jsem se je tedy pouzit i ve WordPressu.

Zkusim jednoduse popsat, jak vytvorit formular pomoci Nette na pluginu, ktery bude zobrazen na frontendu. Predpokladam zakladni znalost tvorby WordPress pluginu.

Napr. do adresare _libs/ si dame minified verzi Nette. Potom v php souboru s pluginem pripravim funkci, ktera bude vytvaret formular:

function createNetteForm() {
    include_once $_SERVER['DOCUMENT_ROOT'] . '/_libs/nette.min.php';

    $form = new NetteFormsForm;
    $form->addText('title', 'Jméno')
        ->setRequired('Zadejte prosím jméno');
    $form->addText('email', 'E-mail:')
        ->addRule(NetteApplicationUIForm::FILLED, 'Zadejte prosím email')
        ->addRule(NetteApplicationUIForm::EMAIL, 'email nemá správný formát');
    $form->addTextArea('pozn', 'Poznámka');
    $form->addSubmit('send', 'Odeslat');
    
    return $form;
}

Dale vytvorime funkci pro zobrazeni:

add_shortcode('nette-form', 'myplugin_nette_form');
function myplugin_nette_form() {
    return createNetteForm();
}

Ve wordpress strance, kde chceme mit formular, potom vlozime pouzity shortcode: [nette-form]

A nakonec funkce na zpracovani odeslanych dat:

function nette_form_post() {
    $form = createNetteForm();
    
    if ($form->isSuccess()) {
        $data = $form->getValues();
        
        // ulozit data atd. 

        wp_redirect('/');
        exit;
    }
}
add_action('init','nette_form_post');

Tato funkce je diky akci typu init volana pri kazdem nacteni stranky s pluginem, takze je dulezite vzdy kontrolovat, jestli formular byl odeslan a az potom delat nejake ukladani dat.
Po ulozeni je dobre uzivatele nekam presmerovat, aby nemohl reloadnout stranku a odeslat tak data znovu.

Sikovne je take pridat Nette javascript pro validace, treba do pouzivane template:

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/netteForms.js"></script>

Překlad wordpress pluginu

Pokud narazíte na WP plugin, který chcete svým uživatelům dopřát v rodném jazyce, můžete ho přeložit.

O tom, jak se to dělá, se samozřejmě dočtete na WordPress Codexu zde. To se vám bude hodit, pokud fráze v kódu nejsou obalené překladovou funkcí.

Další problém může být, když původní autor zapomene některou z frází zahrnout do pot souboru, ze kterého vyrábíte překlad. Pak se hodí příkaz
xgettext —keyword=__ —keyword=_e plugin.php
který vyhledá všechny fráze k překladu.

Narazil jsem na to, že se mi utilitku xgettext nedařilo na Max OS X najít (resp. pořád mi terminal nabízel xgettext.pl, ale ten neuměl přepínač —keywords). Je totiž součástí gettext. Pokud jste si ho nainstalovali pomocí homebrew hledejte v /usr/local/Cellar/gettext/<VERZE>/bin/./xgettext