word press за маниаци

Post on 20-Jun-2015

2.446 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

OpenFest Русе 2008

Калоян К. Цветков - kaloyan@kaloyan.info

Какво е 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/kaloyan@kaloyan.infohttp://codex.wordpress.org

top related