Upload
kaloyan-tsvetkov
View
2.446
Download
4
Embed Size (px)
DESCRIPTION
Бърза разходка из нещата, които превръщат WordPress в платформа за уеб приложения.
Citation preview
бърза разходка из нещата, които превръщат WordPress в платформа за уеб приложения
OpenFest Русе 2008
Калоян К. Цветков - [email protected]
Какво е WordPress ?
Какво е WordPress ?
• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/
Какво е WordPress ?
• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/
• в момента може би най-популярната блог платформа http://wordpress.org/about/
Какво е WordPress ?
• open-source проект, публикуван под GPL лицензhttp://wordpress.org/about/gpl/
• в момента може би най-популярната блог платформа http://wordpress.org/about/
• изисквания: Apache, PHP4/PHP5, MySQLhttp://wordpress.org/about/requirements/
Историята на WordPress
• проект от 2003 година
• версия 1.0 през Април 2004
• настояща версия: 2.6.5
Историята на WordPress
• проект от 2003 година
• версия 1.0 през Април 2004
• настояща версия: 2.6.5
• очакваме:2.7 през Ноември 2008 и ...
3.0 през Август 2009
Традиционни употреби на WordPress
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
• микроблогове платформа: Prologue
(една от многото)
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
• микроблогове платформа: Prologue
(една от многото)
• системи за управление на съдържанието (CMS):
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
• микроблогове платформа: Prologue
(една от многото)
• системи за управление на съдържанието (CMS): "корпоративни сайтове"
SEO.com, Phone.com, Graphics.net
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
• микроблогове платформа: Prologue
(една от многото)
• системи за управление на съдържанието (CMS): "корпоративни сайтове"
SEO.com, Phone.com, Graphics.net
онлайн списания
Традиционни употреби на WordPress• блогове
примери: колкото искаш ;)
• микроблогове платформа: Prologue
(една от многото)
• системи за управление на съдържанието (CMS): "корпоративни сайтове"
SEO.com, Phone.com, Graphics.net
онлайн списания новинарски сайтове:
VsekiDen
Нетрадиционни употреби на WordPress
Нетрадиционни употреби на WordPress
• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak
Нетрадиционни употреби на WordPress
• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak
• споделяне на връзки пример: Truemours
Нетрадиционни употреби на WordPress
• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak
• споделяне на връзки пример: Truemours
• агрегатор
платформа (една от многото): FeedWordPress пример: Feminist Blogs
Нетрадиционни употреби на WordPress
• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak
• споделяне на връзки пример: Truemours
• агрегатор
платформа (една от многото): FeedWordPress пример: Feminist Blogs
• календар (event calendar)
Нетрадиционни употреби на WordPress
• виртуални общности (community сайтове), социални мрежи, сайтове за запознанства платформа: BuddyPress пример: ChickSpeak
• споделяне на връзки пример: Truemours
• агрегатор
платформа (една от многото): FeedWordPress пример: Feminist Blogs
• календар (event calendar)
• конкурси и съзтезания (а ла hot-or-not)
Как може да се "разшири" WordPress ?
Как може да се "разшири" WordPress ?
• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php
Как може да се "разшири" WordPress ?
• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php
• приставки (плъгини, разширения): добавяне на нови функционалности и възможности към най-разнообразни области на основното приложение
Как може да се "разшири" WordPress ?
• подменяне на основна функционалност: предефиниране на възможностите предоставени от wp-includes/pluggable.php
• приставки (плъгини, разширения): добавяне на нови функционалности и възможности към най-разнообразни области на основното приложение
• теми: промяна на външния вид на WordPress в "клиентската" част, добавяне на нови функционалности и възможности свързани с дизайна на сайта
Приставки (плъгини)
Приставки (плъгини)
• използва се система от "куки" (plugin hooks)
Приставки (плъгини)
• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)
Приставки (плъгини)
• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,
задължително връщат резултат пример: the_content, чрез който се променя
съдържанието на постовете, аналогично the_title, the_excerpt и т.н.
Приставки (плъгини)
• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,
задължително връщат резултат пример: the_content, чрез който се променя
съдържанието на постовете, аналогично the_title, the_excerpt и т.н.
• действия (екшъни): извършват определено действие, не връщат резултат пример: template_redirect, чрез който се
избира кой файл от темата да се използва за отпечатване на избраната страница
Приставки (плъгини)
• използва се система от "куки" (plugin hooks)• два типа куки: филтри и действия (екшъни)• филтри: променят подадените им данни,
задължително връщат резултат пример: the_content, чрез който се променя
съдържанието на постовете, аналогично the_title, the_excerpt и т.н.
• действия (екшъни): извършват определено действие, не връщат резултат пример: template_redirect, чрез който се
избира кой файл от темата да се използва за отпечатване на избраната страница
• как се пишат приставки (плъгини) ?
Как се пишат приставки (плъгини)?
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на
новите възможности и функционалности представени от плъгина
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на
новите възможности и функционалности представени от плъгина
3. куки: закачане на новата функционалност и възможности към "куките"
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на
новите възможности и функционалности представени от плъгина
3. куки: закачане на новата функционалност и възможности към "куките"
• повече може да прочетете тук:http://codex.wordpress.org/Writing_a_Plugin
Как се пишат приставки (плъгини)?
• три основни момента: мета данни, функции и куки 1. мета данни: име на плъгина, версия, автор, описание2. функции: функциите (или класовете и методите) на
новите възможности и функционалности представени от плъгина
3. куки: закачане на новата функционалност и възможности към "куките"
• повече може да прочетете тук:http://codex.wordpress.org/Writing_a_Plugin
• пример: нещо много елементарно ...
Как се пишат приставки (плъгини)?<?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');
Теми
Теми
• основната задача е променяне на външния вид на клиентската част на приложението
Теми
• основната задача е променяне на външния вид на клиентската част на приложението
• използва се PHP като решение за шаблоните от темата
Теми
• основната задача е променяне на външния вид на клиентската част на приложението
• използва се PHP като решение за шаблоните от темата
• добавяне на нови функционалности и възможности в темите (по принцип само такива които до подобрят работата на темата или работата с темата),използване на functions.php
Теми
Примери за нова функционалност в темите:
Теми
• деклариране на нови екранни елементи:
Примери за нова функционалност в темите:
Теми
• деклариране на нови екранни елементи: разделянето на
trackback/pingback от истинските коментари
Примери за нова функционалност в темите:
Теми
• деклариране на нови екранни елементи: разделянето на
trackback/pingback от истинските коментари
различно старинициране
Примери за нова функционалност в темите:
Теми
• деклариране на нови екранни елементи: разделянето на
trackback/pingback от истинските коментари
различно старинициране
• инструменти за оформлението на темата: избор на цвят на фона избор на различно
изображение в заглавната част на страницата
Примери за нова функционалност в темите:
Теми
• деклариране на нови екранни елементи: разделянето на
trackback/pingback от истинските коментари
различно старинициране
• инструменти за оформлението на темата: избор на цвят на фона избор на различно
изображение в заглавната част на страницата
• добавяне на нови джаджи (widgets)
Примери за нова функционалност в темите:
Подмяна на основна функционалност
Подмяна на основна функционалност
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
• информация и работа с потребителите (get_currentuserinfo(); и т.н.)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
• информация и работа с потребителите (get_currentuserinfo(); и т.н.)
• паролите на потребителите (wp_generate_password(); и т.н.)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
• информация и работа с потребителите (get_currentuserinfo(); и т.н.)
• паролите на потребителите (wp_generate_password(); и т.н.)
• изпращане на електронни писма (wp_mail();)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
• информация и работа с потребителите (get_currentuserinfo(); и т.н.)
• паролите на потребителите (wp_generate_password(); и т.н.)
• изпращане на електронни писма (wp_mail();)
• пренасочване (wp_redirect(); и т.н.)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Подмяна на основна функционалност
• достоверяване на автентичността на потребителите (wp_authenticate(); и т.н.)
• информация и работа с потребителите (get_currentuserinfo(); и т.н.)
• паролите на потребителите (wp_generate_password(); и т.н.)
• изпращане на електронни писма (wp_mail();)
• пренасочване (wp_redirect(); и т.н.)
• извличане на аватари (get_avatar();)
има възможност да се подменят някои от основните функционалности в WordPress чрез предефинирането им в приставки (плъгини); тези функционалности са са декларирани във файла wp-includes/pluggable.php
Какво може да си използва на готово ?
Въпрос: Освен да разширяваме WordPress с нови функционалности и възможности, какво може да се
използва на готово ?
Какво може да си използва на готово ?
Отговор #1: библиотеки с отворен код, използвани от WordPress: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате
Какво може да си използва на готово ?
• PHP Snoopy: HTTP клиент PHP Mailer: решение за изпращане на елекронни
писма MagpieRSS: RSS кретен KSES: HTML/XHTML филтър Text_Diff POP3 и SMTP решения
Отговор #1: библиотеки с отворен код, използвани от WordPress: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате
Какво може да си използва на готово ?
• 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: вътре в приложението се намират няколко библиотеки с отворен код, които вие може да използвате
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
• набор от функции за работа с изображения
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
• набор от функции за работа с изображения• възможност за локализация (чрез gettext)
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
• набор от функции за работа с изображения• възможност за локализация (чрез gettext)• система за работа с потребители: аутентификация,
работа с профили
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
• набор от функции за работа с изображения• възможност за локализация (чрез gettext)• система за работа с потребители: аутентификация,
работа с профили• система за работа с "хубави" URL адреси: например
"/alabala/page/12" вместо "catname=alabala&p=12"; има възможност не само да се добавят нови "хубави" URL адреси, но и да се подменят URL адресите от основното приложение
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• wpdb - решението, които WordPress използва за работа с базата данни
• набор от функции за работа с изображения• възможност за локализация (чрез gettext)• система за работа с потребители: аутентификация,
работа с профили• система за работа с "хубави" URL адреси: например
"/alabala/page/12" вместо "catname=alabala&p=12"; има възможност не само да се добавят нови "хубави" URL адреси, но и да се подменят URL адресите от основното приложение
• работа с теми
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява
зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява
зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите
• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява
зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите
• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)
• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява
зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите
• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)
• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]
• джади (widgets): възможност за самостоятелно изграждане на екранни комбинации от "джаджи", както и за деклариране на нови "джаджи"
Какво може да си използва на готово ?
Отговор #2: възможностите, които предоставя самия WordPress
• работа с приставки (плъгини)• JS & CSS зависимости (dependencies): спестява
зареждането на всички Javascript и CSS файлове, вместо това зарежда само необходимите
• псевдо крон (cron): удобно решение за извикване и изпълняване на задачи във "фонов" режим - неща което трябва да се активира автоматично през определен период (или еднократно)
• "къси кодове" (shortcodes): деклариране на собствени къси кодове - [alabala], [tralala]проба[/tralala]
• джади (widgets): възможност за самостоятелно изграждане на екранни комбинации от "джаджи", както и за деклариране на нови "джаджи"
• WordPress MU
Защо и кога ?
Защо и кога ?
Защо и кога да се използва
WordPress като платформа за разработка
на уеб приложения ?
Въпроси ?
http://kaloyan.info/[email protected]://codex.wordpress.org