76
бърза разходка из нещата, които превръщат WordPress в платформа за уеб приложения OpenFest Русе 2008 Калоян К. Цветков - [email protected]

Word Press за маниаци

Embed Size (px)

DESCRIPTION

Бърза разходка из нещата, които превръщат WordPress в платформа за уеб приложения.

Citation preview

Page 1: Word Press за маниаци

бърза разходка из нещата, които превръщат WordPress в платформа за уеб приложения

OpenFest Русе 2008

Калоян К. Цветков - [email protected]

Page 2: Word Press за маниаци

Какво е WordPress ?

Page 3: Word Press за маниаци

Какво е WordPress ?

• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/

Page 4: Word Press за маниаци

Какво е WordPress ?

• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/

• в момента може би най-популярната блог платформа http://wordpress.org/about/

Page 5: Word Press за маниаци

Какво е WordPress ?

• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/

• в момента може би най-популярната блог платформа http://wordpress.org/about/

• изисквания: Apache, PHP4/PHP5, MySQLhttp://wordpress.org/about/requirements/

Page 6: Word Press за маниаци

Историята на WordPress

• проект от 2003 година

• версия 1.0 през Април 2004

• настояща версия: 2.6.5

Page 7: Word Press за маниаци

Историята на WordPress

• проект от 2003 година

• версия 1.0 през Април 2004

• настояща версия: 2.6.5

• очакваме:2.7 през Ноември 2008 и ...

3.0 през Август 2009

Page 8: Word Press за маниаци

Традиционни употреби на WordPress

Page 9: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

Page 10: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

• микроблогове платформа: Prologue

(една от многото)

Page 11: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

• микроблогове платформа: Prologue

(една от многото)

• системи за управление на съдържанието (CMS):

Page 12: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

• микроблогове платформа: Prologue

(една от многото)

• системи за управление на съдържанието (CMS): "корпоративни сайтове"

SEO.com, Phone.com, Graphics.net

Page 13: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

• микроблогове платформа: Prologue

(една от многото)

• системи за управление на съдържанието (CMS): "корпоративни сайтове"

SEO.com, Phone.com, Graphics.net

онлайн списания 

Page 14: Word Press за маниаци

Традиционни употреби на WordPress• блогове

примери: колкото искаш ;)

• микроблогове платформа: Prologue

(една от многото)

• системи за управление на съдържанието (CMS): "корпоративни сайтове"

SEO.com, Phone.com, Graphics.net

онлайн списания  новинарски сайтове:

VsekiDen

Page 15: Word Press за маниаци

Нетрадиционни употреби на WordPress

Page 16: Word Press за маниаци

Нетрадиционни употреби на WordPress

• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak

Page 17: Word Press за маниаци

Нетрадиционни употреби на WordPress

• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak

• споделяне на връзки пример: Truemours

Page 18: Word Press за маниаци

Нетрадиционни употреби на WordPress

• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak

• споделяне на връзки пример: Truemours

• агрегатор

платформа (една от многото): FeedWordPress пример: Feminist Blogs

Page 19: Word Press за маниаци

Нетрадиционни употреби на WordPress

• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak

• споделяне на връзки пример: Truemours

• агрегатор

платформа (една от многото): FeedWordPress пример: Feminist Blogs

• календар (event calendar)

Page 20: Word Press за маниаци

Нетрадиционни употреби на WordPress

• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak

• споделяне на връзки пример: Truemours

• агрегатор

платформа (една от многото): FeedWordPress пример: Feminist Blogs

• календар (event calendar)

• конкурси и съзтезания (а ла hot-or-not)

Page 21: Word Press за маниаци

Как може да се "разшири" WordPress ?

Page 22: Word Press за маниаци

Как може да се "разшири" WordPress ?

• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php 

Page 23: Word Press за маниаци

Как може да се "разшири" WordPress ?

• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php 

• приставки (плъгини, разширения): добавяне на нови функционалности и възможности към най-разнообразни области на основното приложение 

Page 24: Word Press за маниаци

Как може да се "разшири" WordPress ?

• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php 

• приставки (плъгини, разширения): добавяне на нови функционалности и възможности към най-разнообразни области на основното приложение 

• теми: промяна на външния вид на WordPress в "клиентската" част, добавяне на нови функционалности и възможности свързани с дизайна на сайта

Page 25: Word Press за маниаци

Приставки (плъгини)

Page 26: Word Press за маниаци

Приставки (плъгини)

• използва се система от "куки" (plugin hooks)

Page 27: Word Press за маниаци

Приставки (плъгини)

• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)

Page 28: Word Press за маниаци

Приставки (плъгини)

• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,

задължително връщат резултат пример: the_content, чрез който се променя

съдържанието на постовете, аналогично the_title, the_excerpt и т.н.

Page 29: Word Press за маниаци

Приставки (плъгини)

• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,

задължително връщат резултат пример: the_content, чрез който се променя

съдържанието на постовете, аналогично the_title, the_excerpt и т.н.

• действия (екшъни): извършват определено действие, не връщат резултат пример: template_redirect, чрез който се

избира кой файл от темата да се използва за отпечатване на избраната страница 

Page 30: Word Press за маниаци

Приставки (плъгини)

• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,

задължително връщат резултат пример: the_content, чрез който се променя

съдържанието на постовете, аналогично the_title, the_excerpt и т.н.

• действия (екшъни): извършват определено действие, не връщат резултат пример: template_redirect, чрез който се

избира кой файл от темата да се използва за отпечатване на избраната страница 

• как се пишат приставки (плъгини) ?

Page 31: Word Press за маниаци

Как се пишат приставки (плъгини)?

Page 32: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 

Page 33: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание

Page 34: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на

новите възможности и функционалности представени от плъгина

Page 35: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на

новите възможности и функционалности представени от плъгина

3. куки: закачане на новата функционалност и възможности към "куките" 

Page 36: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на

новите възможности и функционалности представени от плъгина

3. куки: закачане на новата функционалност и възможности към "куките" 

• повече може да прочетете тук:http://codex.wordpress.org/Writing_a_Plugin 

Page 37: Word Press за маниаци

Как се пишат приставки (плъгини)?

• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на

новите възможности и функционалности представени от плъгина

3. куки: закачане на новата функционалност и възможности към "куките" 

• повече може да прочетете тук:http://codex.wordpress.org/Writing_a_Plugin 

• пример: нещо много елементарно ...

Page 38: Word Press за маниаци

Как се пишат приставки (плъгини)?<?php

/*Plugin Name: ТралалаPlugin URI: http://tralala.bgDescription: Пример за филтър - да поставим "Тралала:" пред всяко заглавие

Author: Калоян К. ЦветковVersion: 0.1Author URI: http://kaloyan.info/*/  /*** някаква безмислена функция* @param string $string* @return string*/ function tralala($string) {return 'Тралала: ' . $string; } /*** закачане към филтъра* @see tralala() */ add_filter('the_title', 'tralala');

Page 39: Word Press за маниаци

Теми

Page 40: Word Press за маниаци

Теми

• основната задача е променяне на външния вид на клиентската част на приложението

Page 41: Word Press за маниаци

Теми

• основната задача е променяне на външния вид на клиентската част на приложението

• използва се PHP като решение за шаблоните от темата

Page 42: Word Press за маниаци

Теми

• основната задача е променяне на външния вид на клиентската част на приложението

• използва се PHP като решение за шаблоните от темата

• добавяне на нови функционалности и възможности в темите (по принцип само такива които до подобрят работата на темата или работата с темата),използване на functions.php

Page 43: Word Press за маниаци

Теми

Примери за нова функционалност в темите:

Page 44: Word Press за маниаци

Теми

• деклариране на нови екранни елементи:

Примери за нова функционалност в темите:

Page 45: Word Press за маниаци

Теми

• деклариране на нови екранни елементи: разделянето на

trackback/pingback от истинските коментари

Примери за нова функционалност в темите:

Page 46: Word Press за маниаци

Теми

• деклариране на нови екранни елементи: разделянето на

trackback/pingback от истинските коментари

различно старинициране

Примери за нова функционалност в темите:

Page 47: Word Press за маниаци

Теми

• деклариране на нови екранни елементи: разделянето на

trackback/pingback от истинските коментари

различно старинициране

• инструменти за оформлението на темата: избор на цвят на фона избор на различно

изображение в заглавната част на страницата

Примери за нова функционалност в темите:

Page 48: Word Press за маниаци

Теми

• деклариране на нови екранни елементи: разделянето на

trackback/pingback от истинските коментари

различно старинициране

• инструменти за оформлението на темата: избор на цвят на фона избор на различно

изображение в заглавната част на страницата

• добавяне на нови джаджи (widgets)

Примери за нова функционалност в темите:

Page 49: Word Press за маниаци

Подмяна на основна функционалност

Page 50: Word Press за маниаци

Подмяна на основна функционалност

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 51: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 52: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

• информация и работа с потребителите (get_currentuserinfo();  и т.н.)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 53: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

• информация и работа с потребителите (get_currentuserinfo();  и т.н.)

• паролите на потребителите (wp_generate_password(); и т.н.)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 54: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

• информация и работа с потребителите (get_currentuserinfo();  и т.н.)

• паролите на потребителите (wp_generate_password(); и т.н.)

• изпращане на електронни писма (wp_mail();)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 55: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

• информация и работа с потребителите (get_currentuserinfo();  и т.н.)

• паролите на потребителите (wp_generate_password(); и т.н.)

• изпращане на електронни писма (wp_mail();)

• пренасочване (wp_redirect(); и т.н.)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 56: Word Press за маниаци

Подмяна на основна функционалност

• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)

• информация и работа с потребителите (get_currentuserinfo();  и т.н.)

• паролите на потребителите (wp_generate_password(); и т.н.)

• изпращане на електронни писма (wp_mail();)

• пренасочване (wp_redirect(); и т.н.)

• извличане на аватари (get_avatar();)

има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php

Page 57: Word Press за маниаци

Какво може да си използва на готово ?

Въпрос: Освен да разширяваме WordPress с нови функционалности и възможности, какво може да се

използва на готово ?

Page 58: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #1: библиотеки с отворен код, използвани от WordPress: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате

Page 59: Word Press за маниаци

Какво може да си използва на готово ?

• PHP Snoopy: HTTP клиент PHP Mailer: решение за изпращане на елекронни

писма MagpieRSS: RSS кретен KSES: HTML/XHTML филтър Text_Diff POP3 и SMTP решения

Отговор #1: библиотеки с отворен код, използвани от WordPress: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате

Page 60: Word Press за маниаци

Какво може да си използва на готово ?

• PHP Snoopy: HTTP клиент PHP Mailer: решение за изпращане на елекронни

писма MagpieRSS: RSS кретен KSES: HTML/XHTML филтър Text_Diff POP3 и SMTP решения

• Javascript jQuery + ThickBox + jQuery.UI и т.н. Prototype + Script.aculo.us

Отговор #1: библиотеки с отворен код, използвани от WordPress: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате

Page 61: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

Page 62: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

Page 63: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

• набор от функции за работа с изображения

Page 64: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

• набор от функции за работа с изображения• възможност за  локализация (чрез gettext)

Page 65: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

• набор от функции за работа с изображения• възможност за  локализация (чрез gettext)• система за работа с потребители: аутентификация,

работа с профили

Page 66: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

• набор от функции за работа с изображения• възможност за  локализация (чрез gettext)• система за работа с потребители: аутентификация,

работа с профили• система за работа с "хубави" URL адреси: например

"/alabala/page/12" вместо "catname=alabala&p=12"; има възможност не само да се добавят нови "хубави" URL адреси, но и да се подменят URL адресите от основното приложение

Page 67: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• wpdb - решението, които WordPress използва за работа с базата данни

• набор от функции за работа с изображения• възможност за  локализация (чрез gettext)• система за работа с потребители: аутентификация,

работа с профили• система за работа с "хубави" URL адреси: например

"/alabala/page/12" вместо "catname=alabala&p=12"; има възможност не само да се добавят нови "хубави" URL адреси, но и да се подменят URL адресите от основното приложение

• работа с теми

Page 68: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)

Page 69: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява

зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите

Page 70: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява

зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите

• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)

Page 71: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява

зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите

• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)

• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]

Page 72: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява

зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите

• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)

• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]

• джади (widgets): възможност за самостоятелно изграждане на екранни комбинации от "джаджи", както и за деклариране на нови "джаджи"

Page 73: Word Press за маниаци

Какво може да си използва на готово ?

Отговор #2: възможностите, които предоставя самия WordPress

• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява

зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите

• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)

• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]

• джади (widgets): възможност за самостоятелно изграждане на екранни комбинации от "джаджи", както и за деклариране на нови "джаджи"

• WordPress MU

Page 74: Word Press за маниаци

Защо и кога ?

Page 75: Word Press за маниаци

Защо и кога ?

Защо и кога да се използва

WordPress като платформа за разработка

на уеб приложения ?

Page 76: Word Press за маниаци

Въпроси ?

http://kaloyan.info/[email protected]://codex.wordpress.org