Přesměrování feedu na feedburner

Existují dvě metody jak přesměrovat feed na feedburner:

1. Použití .htaccess

Tohle je vhodné pro single WordPress instalaci. Netestoval jsem to neb používám WordPress Multisite.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-] )?/?$ http://feeds.feedburner.com/catchinternet [R=302,NC,L]
</IfModule>

2. Pomocí function.php

Tahle varianta je lepší pro WordPress Multisite, neboť pomocí child theme máte možnost vložit přesměrování jen pro danou subdoménu.

//Redirect WordPress Feeds To FeedBurner
add_action('template_redirect', 'ci_rss_redirect');
function ci_rss_redirect() {
if ( is_feed() && !preg_match('/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'])){
header('Location: http://feeds.feedburner.com/bigdwp');
header('HTTP/1.1 302 Temporary Redirect');
}
}

 

 

The post Přesměrování feedu na feedburner appeared first on wpmax.cz.

Jak nainstalovat češtinu do WordPressu

Ano, jak všichni správně víte, tak WordPress je pravidelně překládán do češtiny (v poslední době to trochu vázne, ale měl by to být jen dočasný problém). Ovšem, může se stát, že si stáhnete anglickou verzi nebo vám hosting sám vytvoří cizojazyčnou mutaci. Vy si web nastavíte, vložíte články a ejhle, uvědomíte si, že potřebujete nahodit češtinu.

WordCamp Slovensko 2013

V sobotu 20.4.2013 proběhl v Bratislavě již druhý WordCamp Slovensko. Vždy jsem si říkal, že bych na takovou akcirád vyrazil a něco nového se dozvěděl jinou zajímavou cestou.

Akce se na Fakultě informatiky a informačních technologií (FIIT) se registrovalo 130 lidí a přes 100 jich přišlo. Slovenskou wordpresáckou komunitu neznám, ale podle narážek mě připadlo, že přišlo dost známých lidí – blogeři, developeři a různí jiní kujóni. Jako středně znalý uživatel – neprogramátor jsem si akci užil a zúčastnil jsem se těchto přednášek:

  • Pavol Magic (The Good, The Bad & The Ugly)
  • Mária Jellúšová (Projektový manažment pri tvorbe webov)
  • Alec Kinnear (SEO and WordPress [EN])
  • Peter Šebo (Tak mám stránku! A čo teraz?)
  • Peter Baran (Optimalizácia WordPress pre rýchlosť)
  • Vladimír Rejholec (WordPress MFA a affiliate)

Dokumentace

Videa z prezentací najdete zde (přidám odkaz až budou dostupná)

Fotky z akce jsou zde: http://wp.sk/spravy/aky-bol-wordcamp-2013/

Pár mých fotek:

Trocha kultury - Hrad
Trocha kultury - Na hradě
Wordcamp Slovensko 2013 začátek
Wordcamp Slovensko 2013 úvodní prezentace

Za závěr bych rád nakopnul českou wordpresáckou komunitu za cílem sjednocení. Jsme oproti Slovákům alespoň 5 let pozadu. Slovenská komunita se již 5 let sdružuje okolo wp.sk a mimochodem mají i wordpress.sk. (Obdoby těchto domén s cz koncovkou bohužel drží spekulanti) Jejich komunita dělá překlady, pravidelné setkání kampy, přednášky na uni, překlady dizertace prací okolo WordPressu a další aktivity. Oproti tomu v Čechách byla pouze jedna přednáška ohledně WordPressu „WordPress meeting Praha“. Máme tu tři fóra(cwordpress.cz, separatista.net/forum/ a webtrh.cz/f62 a i překladatele wordpressu do češtiny. Separatista naznačil, že by udělali WordCamp v ČR asi na podzim, tak uvidíme.

Každopádně bych si přál pravidelná setkání a více koordinovaných aktivit pro WordPress Česko.

 

 

 

 

 

The post WordCamp Slovensko 2013 appeared first on wpmax.cz.

Debug a reset cronu ve WordPressu

Po aktualizaci pluginu Post Indexer mě zřejmě přestal fungovat cron –  indexace byla naplánovaná ale nespustila se. Tak jsem na fóru wpmudev jsem dostal pár rad jak debugovat cron a jak cron resetovat. Zde je stručný návod jak na to.

Debugování cronu

debug-cronK tomu jsou zapotřebí nahrát dva pluginy v tomto pořadí:

  1. Debug bar
  2. Debug bar cron

Zde zjistíte jaké procesy jsou v cronu naplánované a hlavně jaká uplynula doba od poslední úlohy cronu. Pokud to porovnáte s informací jak často se má task cronu spouštět, hned vidíte jestli je něco špatně.

Reset cronu

Reset cronu je třeba udělat v MyPHPAdmin – najděte tabulku wp_option a v ní pak řádek cron a ten smažte – pouze ten jeden řádek cron. Pak znovu jděte do administrace WordPressu a tabulka se sama obnoví. Otestováno na WPMU a funguje. Pokud jste si při instalaci WordPressu změnili prefix databáze z wp_ za blb_ tak tabulka se bude jmenovat blb_option.

Problém byl možná jinde

Nicméně u mě byl problém možná v pluginu W3 Total Cache nebo  Better WP Security. Cron se správně rozjel až resetu a po následné aktualizaci těchto dvou pluginů.

Pluginy Post Indexer a Recent post můžete vidět v akci na této stránce vyhledame.cz/posledni-tematicke-clanky/, kde jsem potřeboval aby články z 27 subdomén na wpmu se zobrazovali na jedné stránce.

The post Debug a reset cronu ve WordPressu appeared first on wpmax.cz.

Struktura databáze WordPressu

Pokud chcete pochopit, jak vlastně samotný WordPress funguje, určitě vám pomůže základní znalost struktury jeho databáze. Ta se zkládá z celkem 11 tabulek, které ještě mohou rozšiřovat pluginy. Každá má svůj prefix, nejčastěji wp_, který se nastavuje běhěm instalace WordPressu a vytváření databáze. comments, commentmeta První dvě tabulky obsahují informace o komentářích na webu. V […]

Ultimate guide on redirect to custom page after login / register fails

It’s quite easy to setup a frontend registration or login form. You can find a really extensive ammount of tutorials on this topic. And usually everything works great – your users do not see typical WordPress login/register page and are redirected to frontend of your website. Till either registration or login fails. Than most of solutions fails too – users are not redirected and see typical WordPress login/register screen. What now? It’s quite hard to find a solution on the internet – that’s why I’ve prepared this ultimate howto.

Actually, to redirect after login fails is well documented – there is a special hook for that in WordPress. You can find a great tutorials on this.

So in breaf: here’s my code based on this solution: How to Redirect WordPress Failed Logins (modified as original code stackups login=fail attrs):

// hook failed login
add_action('wp_login_failed', 'my_frontend_login_fail'); 
 
function my_frontend_login_fail($username){
    // Get the reffering page, where did the post submission come from?
    $referrer = add_query_arg('login', false, $_SERVER['HTTP_REFERER']);
 
    // if there's a valid referrer, and it's not the default log-in screen
    if(!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')){
        // let's append some information (login=failed) to the URL for the theme to use
        wp_redirect($referrer . '?login=failed'); 
    exit;
    }
}

Ok, this was easy, wasn’t it? But wait! What has happen when a user submit your custom login form (frontend login form) empty? He/She will land on wp-login.php again instead on your custom login form. To fix this behaviour, add this code also:

add_action( 'login_head', 'my_frontend_login_no_pass_no_username' );

function my_frontend_login_no_pass_no_username(){
    $referrer = add_query_arg('login', false, $_SERVER['HTTP_REFERER']);
    if ( (!isset($_REQUEST['user_login']) || ( isset( $_REQUEST['user_login'] ) && trim( $_REQUEST['user_login'] ) == '' ) ) || (!isset($_REQUEST['user_pass']) || ( isset( $_REQUEST['user_pass'] ) && trim( $_REQUEST['user_pass'] ) == '' ) ) ){
        wp_redirect( add_query_arg('login', 'failed', $referrer) ); 
        exit; 
    }   
}

And now, what if we would like to redirect our user (not registered yet) to a custom page after unsuccessful registration attempt?

Have to say, that I’v originally published this solution, with extensive comment, on WordPress Answers – vote up, if you find this solution helpful, thx.

Again in breaf, here’s the code:

add_action('register_post', 'binda_register_fail_redirect', 99, 3);

function binda_register_fail_redirect( $sanitized_user_login, $user_email, $errors ){
    //this line is copied from register_new_user function of wp-login.php
    $errors = apply_filters( 'registration_errors', $errors, $sanitized_user_login, $user_email );
    //this if check is copied from register_new_user function of wp-login.php
    if ( $errors->get_error_code() ){
        //setup your custom URL for redirection
        $redirect_url = get_bloginfo('url') . '/registrace';
        //add error codes to custom redirection URL one by one
        foreach ( $errors->errors as $e => $m ){
            $redirect_url = add_query_arg( $e, '1', $redirect_url );    
        }
        //add finally, redirect to your custom page with all errors in attributes
        wp_redirect( $redirect_url );
        exit;   
    }
}