SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Řešili jste někdy
import/export
dat do WP
?
#wpweekendcz | @hlavacm
● WordPress Tools -> Import/Export
● WordPress Importer
● WordPress Exporter
● ...
Pluginy
#wpweekendcz | @hlavacm
Tak o tom to dnes
vážně nebude 
Pluginy
#wpweekendcz | @hlavacm
● PHP soubor(y) obvykle v rootu WP
● Zpracování vlastní logiky nad
rámec WP (pro CRON)
● Plná funkčnost šablony, ale bez UI
“root” skripty
#wpweekendcz | @hlavacm
Integrating WordPress with
Your Website
https://codex.wordpress.org/Integrating_WordPress_with_Your_Website
Codex
#wpweekendcz | @hlavacm
?php
define(WP_USE_THEMES, false);
require(wp-blog-header.php);
// @todo: custom code
“root” skript
#wpweekendcz | @hlavacm
?php
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
wp-blog-header.php
#wpweekendcz | @hlavacm
It's a global variable that can be
checked by user functions and
filters to see whether or not
WordPress has already sent
headers. It's just there to help.
Zdroj: “EAMann” https://wordpress.stackexchange.com/a/20629
$wp_did_header = true;
#wpweekendcz | @hlavacm
/** Set up the WordPress query. */
function wp( $query_vars = '' ) {
global $wp, $wp_query, $wp_the_query;
$wp-main( $query_vars );
if ( !isset($wp_the_query) )
$wp_the_query = $wp_query;
}
wp()
#wpweekendcz | @hlavacm
?php
/**
* Loads the correct template based on the visitor's url
* @package WordPress
*/
if (defined('WP_USE_THEMES')  WP_USE_THEMES)
...
= 404 template (anebo filter “template_include”)
template-loader.php
#wpweekendcz | @hlavacm
?php
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
wp-blog-header.php
#wpweekendcz | @hlavacm
?php
require(wp-load.php);
// @todo: custom code
“root” skript v2
#wpweekendcz | @hlavacm
● CRON
● Konzole (příkazový řádek)
● URL
○ GET
○ POST
Možnosti (vy)volání
#wpweekendcz | @hlavacm
CRON na ITHost.cz
#wpweekendcz | @hlavacm
● {home_url}/root-file-name.php
● např.:
○ localhost/my-blog/my-maintenance.php
○ www.my-blog.com/my-maintenance.php
URL
#wpweekendcz | @hlavacm
● Libovolný vlastní PHP kód
● PHP knihovny (přes Composer?)
● WP kód (WP_Query, WPDB, ...)
● Kód ze šablony
○ WPFW - “pomocné” třídy
Jak na to, aneb co použít?
#wpweekendcz | @hlavacm
● Import/export/údržba dat
● Propojení s API třetích stran
● Generování PDF, XML, atd.
● Print Label
● Download skrytých souborů
● OAuth2 callback
Příklady využití
#wpweekendcz | @hlavacm
DEMO
#wpweekendcz | @hlavacm
github.com/hlavacm/
wpweekend3-demo
Zdrojové kódy
#wpweekendcz | @hlavacm
wp-config.php:
/** MySQL hostname */
define('DB_HOST', '127.0.0.1');
Problém s konzolí...
#wpweekendcz | @hlavacm
WP Feed =XML Parser =  = 
http://{base_url}/feed/?paged=n,
kde n = číslo stránky 1 - n
TIP
#wpweekendcz | @hlavacm
WordPress "root" skripty - WP Weekend #3

Más contenido relacionado

Similar a WordPress "root" skripty - WP Weekend #3

PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018Brilo Team
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůPeckaDesign.cz
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciMartin Krištof
 
Optimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchOptimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchSUPERKODERS
 
WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018Brilo Team
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnostiVladimír Smitka
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikacíVašek Purchart
 
Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyVladimír Smitka
 
Zabezpečení WordPressu
Zabezpečení WordPressuZabezpečení WordPressu
Zabezpečení WordPressuRadek Kucera
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Martin Hujer
 
Petr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testyPetr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testyAnna Kovárová
 

Similar a WordPress "root" skripty - WP Weekend #3 (20)

PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
 
Úvod k Wordpressu
Úvod k WordpressuÚvod k Wordpressu
Úvod k Wordpressu
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaci
 
Optimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonáchOptimalizace obrázků v (responsivních) šablonách
Optimalizace obrázků v (responsivních) šablonách
 
Drupal Front-end
Drupal Front-endDrupal Front-end
Drupal Front-end
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018WP Frameworky - WordCamp Praha 2018
WP Frameworky - WordCamp Praha 2018
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnosti
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
TNPW2-2011-03
TNPW2-2011-03TNPW2-2011-03
TNPW2-2011-03
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikací
 
Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránky
 
Zabezpečení WordPressu
Zabezpečení WordPressuZabezpečení WordPressu
Zabezpečení WordPressu
 
Testování v PHP
Testování v PHPTestování v PHP
Testování v PHP
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
CSS preprocesory
CSS preprocesoryCSS preprocesory
CSS preprocesory
 
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
 
Petr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testyPetr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testy
 

Más de Brilo Team

Nástroj Calfou.cz - WP Weekend #3
Nástroj Calfou.cz - WP Weekend #3Nástroj Calfou.cz - WP Weekend #3
Nástroj Calfou.cz - WP Weekend #3Brilo Team
 
WPML - jak na vícejazyčný web - WP Weekend #3
WPML - jak na vícejazyčný web - WP Weekend #3WPML - jak na vícejazyčný web - WP Weekend #3
WPML - jak na vícejazyčný web - WP Weekend #3Brilo Team
 
HTML stack pro WP šablonu - WP Weekend #3
HTML stack pro WP šablonu - WP Weekend #3HTML stack pro WP šablonu - WP Weekend #3
HTML stack pro WP šablonu - WP Weekend #3Brilo Team
 
PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018Brilo Team
 
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17Brilo Team
 
WP Weekend #2 - Corcel, aneb WordPress přes Laravel
WP Weekend #2 - Corcel, aneb WordPress přes LaravelWP Weekend #2 - Corcel, aneb WordPress přes Laravel
WP Weekend #2 - Corcel, aneb WordPress přes LaravelBrilo Team
 
WordCamp Bratislava 2017 - Jakub Hladký
WordCamp Bratislava 2017 - Jakub HladkýWordCamp Bratislava 2017 - Jakub Hladký
WordCamp Bratislava 2017 - Jakub HladkýBrilo Team
 
Pux 28.2.2017 Úvod do internetového marketingu
Pux 28.2.2017 Úvod do internetového marketinguPux 28.2.2017 Úvod do internetového marketingu
Pux 28.2.2017 Úvod do internetového marketinguBrilo Team
 
WordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajWordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajBrilo Team
 
Jihočeské vzdělávání dospělých - SEO část
Jihočeské vzdělávání dospělých - SEO částJihočeské vzdělávání dospělých - SEO část
Jihočeské vzdělávání dospělých - SEO částBrilo Team
 
Jihočeské vzdělávání dospělých
Jihočeské vzdělávání dospělýchJihočeské vzdělávání dospělých
Jihočeské vzdělávání dospělýchBrilo Team
 
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016Brilo Team
 
Základy Sociálních médií - WP Konference 2016 Praha
Základy Sociálních médií - WP Konference 2016 PrahaZáklady Sociálních médií - WP Konference 2016 Praha
Základy Sociálních médií - WP Konference 2016 PrahaBrilo Team
 
Základy Marketingu - WP Konference 2016 Praha
Základy Marketingu - WP Konference 2016 PrahaZáklady Marketingu - WP Konference 2016 Praha
Základy Marketingu - WP Konference 2016 PrahaBrilo Team
 
Plánování webu - WP Konference 2016 Praha
Plánování webu - WP Konference 2016 PrahaPlánování webu - WP Konference 2016 Praha
Plánování webu - WP Konference 2016 PrahaBrilo Team
 
Brilo team zaklady SEO WPkonference 25.6.2016
Brilo team zaklady SEO WPkonference 25.6.2016Brilo team zaklady SEO WPkonference 25.6.2016
Brilo team zaklady SEO WPkonference 25.6.2016Brilo Team
 
WP Weekend - Úvod do WP Frameworku
WP Weekend - Úvod do WP FrameworkuWP Weekend - Úvod do WP Frameworku
WP Weekend - Úvod do WP FrameworkuBrilo Team
 
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016Prezentace - Základy komunikace s klientem - WordCamp Praha 2016
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016Brilo Team
 
Prezentace - Prémium šablony WordCamp Praha 2016
Prezentace - Prémium šablony WordCamp Praha 2016Prezentace - Prémium šablony WordCamp Praha 2016
Prezentace - Prémium šablony WordCamp Praha 2016Brilo Team
 
Ranni kava-jhk.4.2.2016
Ranni kava-jhk.4.2.2016Ranni kava-jhk.4.2.2016
Ranni kava-jhk.4.2.2016Brilo Team
 

Más de Brilo Team (20)

Nástroj Calfou.cz - WP Weekend #3
Nástroj Calfou.cz - WP Weekend #3Nástroj Calfou.cz - WP Weekend #3
Nástroj Calfou.cz - WP Weekend #3
 
WPML - jak na vícejazyčný web - WP Weekend #3
WPML - jak na vícejazyčný web - WP Weekend #3WPML - jak na vícejazyčný web - WP Weekend #3
WPML - jak na vícejazyčný web - WP Weekend #3
 
HTML stack pro WP šablonu - WP Weekend #3
HTML stack pro WP šablonu - WP Weekend #3HTML stack pro WP šablonu - WP Weekend #3
HTML stack pro WP šablonu - WP Weekend #3
 
PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018PoSobota 96 ČB 28.4.2018
PoSobota 96 ČB 28.4.2018
 
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17
Jak spolehlivě potopit web nebo e-shop | Pux 1.11.17
 
WP Weekend #2 - Corcel, aneb WordPress přes Laravel
WP Weekend #2 - Corcel, aneb WordPress přes LaravelWP Weekend #2 - Corcel, aneb WordPress přes Laravel
WP Weekend #2 - Corcel, aneb WordPress přes Laravel
 
WordCamp Bratislava 2017 - Jakub Hladký
WordCamp Bratislava 2017 - Jakub HladkýWordCamp Bratislava 2017 - Jakub Hladký
WordCamp Bratislava 2017 - Jakub Hladký
 
Pux 28.2.2017 Úvod do internetového marketingu
Pux 28.2.2017 Úvod do internetového marketinguPux 28.2.2017 Úvod do internetového marketingu
Pux 28.2.2017 Úvod do internetového marketingu
 
WordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš KocifajWordCamp Praha 2017 - Tomáš Kocifaj
WordCamp Praha 2017 - Tomáš Kocifaj
 
Jihočeské vzdělávání dospělých - SEO část
Jihočeské vzdělávání dospělých - SEO částJihočeské vzdělávání dospělých - SEO část
Jihočeské vzdělávání dospělých - SEO část
 
Jihočeské vzdělávání dospělých
Jihočeské vzdělávání dospělýchJihočeské vzdělávání dospělých
Jihočeské vzdělávání dospělých
 
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016
Chytrá propagace e-shopu pomocí témat - Eshopvíkend 2016
 
Základy Sociálních médií - WP Konference 2016 Praha
Základy Sociálních médií - WP Konference 2016 PrahaZáklady Sociálních médií - WP Konference 2016 Praha
Základy Sociálních médií - WP Konference 2016 Praha
 
Základy Marketingu - WP Konference 2016 Praha
Základy Marketingu - WP Konference 2016 PrahaZáklady Marketingu - WP Konference 2016 Praha
Základy Marketingu - WP Konference 2016 Praha
 
Plánování webu - WP Konference 2016 Praha
Plánování webu - WP Konference 2016 PrahaPlánování webu - WP Konference 2016 Praha
Plánování webu - WP Konference 2016 Praha
 
Brilo team zaklady SEO WPkonference 25.6.2016
Brilo team zaklady SEO WPkonference 25.6.2016Brilo team zaklady SEO WPkonference 25.6.2016
Brilo team zaklady SEO WPkonference 25.6.2016
 
WP Weekend - Úvod do WP Frameworku
WP Weekend - Úvod do WP FrameworkuWP Weekend - Úvod do WP Frameworku
WP Weekend - Úvod do WP Frameworku
 
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016Prezentace - Základy komunikace s klientem - WordCamp Praha 2016
Prezentace - Základy komunikace s klientem - WordCamp Praha 2016
 
Prezentace - Prémium šablony WordCamp Praha 2016
Prezentace - Prémium šablony WordCamp Praha 2016Prezentace - Prémium šablony WordCamp Praha 2016
Prezentace - Prémium šablony WordCamp Praha 2016
 
Ranni kava-jhk.4.2.2016
Ranni kava-jhk.4.2.2016Ranni kava-jhk.4.2.2016
Ranni kava-jhk.4.2.2016
 

WordPress "root" skripty - WP Weekend #3

  • 1.
  • 2. Řešili jste někdy import/export dat do WP ? #wpweekendcz | @hlavacm
  • 3. ● WordPress Tools -> Import/Export ● WordPress Importer ● WordPress Exporter ● ... Pluginy #wpweekendcz | @hlavacm
  • 4. Tak o tom to dnes vážně nebude  Pluginy #wpweekendcz | @hlavacm
  • 5. ● PHP soubor(y) obvykle v rootu WP ● Zpracování vlastní logiky nad rámec WP (pro CRON) ● Plná funkčnost šablony, ale bez UI “root” skripty #wpweekendcz | @hlavacm
  • 6. Integrating WordPress with Your Website https://codex.wordpress.org/Integrating_WordPress_with_Your_Website Codex #wpweekendcz | @hlavacm
  • 7. ?php define(WP_USE_THEMES, false); require(wp-blog-header.php); // @todo: custom code “root” skript #wpweekendcz | @hlavacm
  • 8. ?php if ( !isset($wp_did_header) ) { $wp_did_header = true; // Load the WordPress library. require_once( dirname(__FILE__) . '/wp-load.php' ); // Set up the WordPress query. wp(); // Load the theme template. require_once( ABSPATH . WPINC . '/template-loader.php' ); } wp-blog-header.php #wpweekendcz | @hlavacm
  • 9. It's a global variable that can be checked by user functions and filters to see whether or not WordPress has already sent headers. It's just there to help. Zdroj: “EAMann” https://wordpress.stackexchange.com/a/20629 $wp_did_header = true; #wpweekendcz | @hlavacm
  • 10. /** Set up the WordPress query. */ function wp( $query_vars = '' ) { global $wp, $wp_query, $wp_the_query; $wp-main( $query_vars ); if ( !isset($wp_the_query) ) $wp_the_query = $wp_query; } wp() #wpweekendcz | @hlavacm
  • 11. ?php /** * Loads the correct template based on the visitor's url * @package WordPress */ if (defined('WP_USE_THEMES') WP_USE_THEMES) ... = 404 template (anebo filter “template_include”) template-loader.php #wpweekendcz | @hlavacm
  • 12. ?php if ( !isset($wp_did_header) ) { $wp_did_header = true; // Load the WordPress library. require_once( dirname(__FILE__) . '/wp-load.php' ); // Set up the WordPress query. wp(); // Load the theme template. require_once( ABSPATH . WPINC . '/template-loader.php' ); } wp-blog-header.php #wpweekendcz | @hlavacm
  • 13. ?php require(wp-load.php); // @todo: custom code “root” skript v2 #wpweekendcz | @hlavacm
  • 14. ● CRON ● Konzole (příkazový řádek) ● URL ○ GET ○ POST Možnosti (vy)volání #wpweekendcz | @hlavacm
  • 16. ● {home_url}/root-file-name.php ● např.: ○ localhost/my-blog/my-maintenance.php ○ www.my-blog.com/my-maintenance.php URL #wpweekendcz | @hlavacm
  • 17. ● Libovolný vlastní PHP kód ● PHP knihovny (přes Composer?) ● WP kód (WP_Query, WPDB, ...) ● Kód ze šablony ○ WPFW - “pomocné” třídy Jak na to, aneb co použít? #wpweekendcz | @hlavacm
  • 18. ● Import/export/údržba dat ● Propojení s API třetích stran ● Generování PDF, XML, atd. ● Print Label ● Download skrytých souborů ● OAuth2 callback Příklady využití #wpweekendcz | @hlavacm
  • 21. wp-config.php: /** MySQL hostname */ define('DB_HOST', '127.0.0.1'); Problém s konzolí... #wpweekendcz | @hlavacm
  • 22. WP Feed =XML Parser =  =  http://{base_url}/feed/?paged=n, kde n = číslo stránky 1 - n TIP #wpweekendcz | @hlavacm