Wordpress. Wstęp do tworzenia pluginów. Piotr Wasilewski wasilewski.piotrek (at) gmail.com



Podobne dokumenty
Wordpress. Dla bloggera i webdevelopera. Piotr Wasilewski wasilewski.piotrek (at) gmail.com

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Projektowanie systemów baz danych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Podstawowe wykorzystanie Hibernate

Liczniki odwiedzin. Licznik odwiedzin na plikach

Instalacja MySQL.

Język SQL, zajęcia nr 1

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Backend Administratora

Laboratorium nr 3 Podstawy Ruby on Rails

Bazy danych Ćwiczenia projektowe

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Zrąb webowy dla perfekcjonistów z terminami. autor: Kamil Adamczyk

Wordpress jako prosta witryna Internetowa

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Laboratorium 6 Tworzenie bloga w Zend Framework

git krótki przewodnik

Internetowe bazy danych

Bazy Danych i Usługi Sieciowe

TemplaVoilà alternatywne podejście do szablonów. TemplaVoilà. alternatywne podejście do szablonów

Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW. Wymagania

Krok po kroku... (czyli jak stworzyć i wydrukować krzyżówkę)

Projekt strony internetowej firmy organizującej przyjęcia

Bazy danych i usługi sieciowe

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

PODSTAWY w w w. s e r v i t i u m. p l G u staw L a s e k M a j

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Bazy danych 7. SQL podstawy

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład 5: PHP: praca z bazą danych MySQL

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Manage Qulto database

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Kurs. Podstawy MySQL

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Struktura drzewa w MySQL. Michał Tyszczenko

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.

Frontendowiec.pl Miecho.pl. Strona 1 z 5. Mieszko Domagała 2014 Wszelkie prawa zastrzeżone.

REFERAT O PRACY DYPLOMOWEJ

Maszyna stanu State Machine

Bazy danych i usługi sieciowe

INTRO. {27. Lipca} Jeśli chcesz podszkolić się w obsłudze arkuszy kalkulacyjnych, zapraszam na szkolenie z EXCELA w Poznaniu:

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Baza danych do przechowywania użytkowników

Podstawy technologii WWW

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014

Paweł Rajba

Jerzy Nawrocki, Wprowadzenie do informatyki

Bazy danych 5. Samozłaczenie SQL podstawy

Ten krótki poradnik pomoże Ci zainstalować nasz katalog no-name na swojej stronie internetowej.

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Bazy danych. Polecenia SQL

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

MVC w praktyce tworzymy system artykułów. cz. 1

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Facelets ViewHandler

Bazy danych 10. SQL Widoki

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Komunikacja z bazą danych psql

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Database Connectivity

Lifter LMS-wtyczka nr 2- przegląd darmowych ulubieńców LMS

Laboratorium Kierunki Rozwoju oprogramowania REST, Django

CMS Admin instrukcja administratora

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie i projektowanie obiektowe

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Nowe technologie baz danych

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Hurtownia Świętego Mikołaja projekt bazy danych

Tworzenie modułów. Wymagania aplikacji. Tworzenie modułów. Architektura aplikacji. controllers

OziCE 2. (wersja 2.31 dostępna od dnia ) Pokazuje status urządzenia GPS (On/Off), zielony kolor tła oznacza że pozycja została ustalona

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

KATEGORIA OBSZAR WIEDZY

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Twórcza szkoła dla twórczego ucznia Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Relacyjne bazy danych. Podstawy SQL

Transkrypt:

Wstęp do tworzenia pluginów Piotr Wasilewski wasilewski.piotrek (at) gmail.com Akademickie Stowarzyszenie Informatyczne www.asi.pwr.wroc.pl Wrocław, 14 kwietnia 2011

1 2 3 4

tworzyć własną wtyczkę Czego potrzebujemy? tworzyć własną wtyczkę... sprawdź, czy funkcjonalność której potrzebujesz nie kryje się w odmętach wnętrzności a jeżeli nie, to dokładnie przejrzyj dostępne pluginy może szukasz któregoś z nich a jeśli istnieje wtyczka która ma zbliżoną funkcjonalność, to może wystarczy ją rozbudować (kochamy Open Source!)

tworzyć własną wtyczkę Czego potrzebujemy? Czego potrzebujemy? przynajmniej podstawowa znajomość PHP (i ewentualnie MySQL) ustal nazwę dla swojego plugina powinna być unikatowa

Podstawowy szablon plugina Porządek w kodzie od samego początku Dostęp do bazy danych, tworzenie tabel Instalacja plugina Podstawowy szablon plugina 1 tworzymy katalog dla naszego plugina w wp-content/plugins/ 2 w katalogu zapisujemy plik *.php zawierający nagłówek: <?php / P l u g i n Name : Nazwa Twojej w t y c z k i P l u g i n URI : h t t p : / / a d r e s. s t r o n y. w t y c z k i. p l / D e s c r i p t i o n : Opis Twojego p l u g i n a V e r s i o n : 1. 3. 2 Author : Ty Author URI : h t t p : / / twoja. s t r o n a. p l L i c e n s e : GPL2 /?>

Podstawowy szablon plugina Porządek w kodzie od samego początku Dostęp do bazy danych, tworzenie tabel Instalacja plugina Nie ma jednego określonego sposobu tworzenia pluginów. Warto jednak trzymać się jakiegoś schematu. Ja najchętniej stosuję klasy: i f (! c l a s s e x i s t s ( MyPlugin ) ) { c l a s s MyPlugin { f u n c t i o n c o n s t r u c t ( ) { / Tutaj d e f i n i u j e m y w s z y s t k i e widgety, s t r o n y o p c j i, i n s t a l a c j e i t d. / / W s z y s t k i e p r z y d a n t e metody, c a l l b a c k i i t d. / / Nasze t e m p l a t e t a g i / g l o b a l $ m y p l u g i n ; $ m y p l u g i n = new MyPlugin ( )

Podstawowy szablon plugina Porządek w kodzie od samego początku Dostęp do bazy danych, tworzenie tabel Instalacja plugina Dostęp do bazy danych Klasa wpdb zapewnia nam proste API dla bazy danych g l o b a l $wpdb ; $wpdb >g e t r e s u l t s ( SELECT p o s t t i t l e, p o s t c o n t e n t FROM. $wpdb >p o s t s ) ; $wpdb >g e t v a r ( SELECT count ( ) FROM. $wpdb >p r e f i x. s o m e t a b l e ) ; $wpdb >update ( $wpdb >p r e f i x. t a b l e, a r r a y ( c o l 1 => $value1, c o l 2 => $ v a l u e 2 ), a r r a y ( i d => 69) ) ;...

Podstawowy szablon plugina Porządek w kodzie od samego początku Dostęp do bazy danych, tworzenie tabel Instalacja plugina Tworzenie tabeli g l o b a l $wpdb ; $ t a b l e n a m e = $wpdb >p r e f i x. m y t a b l e ; i f ( $wpdb >g e t v a r ( show t a b l e s l i k e $ t a b le name )!= $ t a b l e n a m e ) { $ s q l = CREATE TABLE. $ table name. ( i d mediumint ( 9 ) NOT NULL a u t o i n c r e m e n t, column 1 v a r c h a r (150) NOT NULL, column 2 t e x t, column 3 i n t DEFAULT 69, UNIQUE KEY i d ( i d ) ) ; ; r e q u i r e o n c e (ABSPATH. wp admin / i n c l u d e s / upgrade. php ) ; dbdelta ( $ s q l ) ;

Podstawowy szablon plugina Porządek w kodzie od samego początku Dostęp do bazy danych, tworzenie tabel Instalacja plugina Instalacja plugina W konstruktorze naszej klasy: r e g i s t e r a c t i v a t i o n h o o k ( F I L E, a r r a y ( $ t h i s, i n s t a l l f u n c ) ) ; Dodajemy metodę: f u n c t i o n i n s t a l l f u n c ( ) { / Wszystko, co chcemy wykonac podczas i n s t a l a c j i, na p r z y k l a d t w o r z e n i e t a b e l i. /

Shortcody Widgety Template tagi Strony opcji Hooki, akcje i filtry Shortcody Proste marka w stylu XML-a wykorzystywane do wstawiania lub modyfikowania treści stron. f u n c t i o n s h o r t c o d e ( $ a t t s, $ c o n t e n t=n u l l ) { e x t r a c t ( s h o r t c o d e a t t s ( a r r a y ( v a r => ), $ a t t s ) ) ; $html = ; i f ( $ v a r ) $html.= <p>p r z e k a z a l e s parametr :. $ v a r. </p> ; i f ( $ c o n t e n t!= ) $html.= <p>tresc :< br />. $ c o n t e n t. </p> ; i f ( $html == ) $html = <p>nie p r z e k a z a l e s parametru a n i t r e s c i </p> ; r e t u r n $html ;

Shortcody Widgety Template tagi Strony opcji Hooki, akcje i filtry Widgety r e g i s t e r s i d e b a r w i d g e t ( Simple w i d g e t, a r r a y ( $ t h i s, w i d g e t ) ) ;... f u n c t i o n w i d get ( $ a r g s ) { g l o b a l $wpdb ; e x t r a c t ( $ a r g s ) ; echo $ b e f o r e w i d g e t ; echo $ b e f o r e t i t l e. Simple w i d g e t. $ a f t e r t i t l e ; $my query = $wpdb >g e t r o w ( SELECT [... ] LIMIT 1 ) ; echo <p>r e s u l t s : [... ] </p> ; echo $ a f t e r w i d g e t ;

Shortcody Widgety Template tagi Strony opcji Hooki, akcje i filtry Template tagi W kodzie plugina: f u n c t i o n h e l l o w o r l d t a g ( ) { echo <h3>h e l l o, World!</h3> ; echo <p>oto p r z y k l a d o w y t e m p l a t e tag.</p> ; W szablonie: i f ( f u n c t i o n e x i s t s ( h e l l o w o r l d t a g ) ) { h e l l o w o r l d t a g ( ) ;

Shortcody Widgety Template tagi Strony opcji Hooki, akcje i filtry Strony opcji f u n c t i o n c o n s t r u c t ( ) { a d d a c t i o n ( admin menu, a r r a y ( $ t h i s, menu ) ) ; f u n c t i o n menu ( ) { add menu page ( Page T i t l e, Menu t i t l e, manage options, s l u g, a r r a y ( $ t h i s, menu page ) ) ; f u n c t i o n menu page ( ) { i f (! c u r r e n t u s e r c a n ( manage options ) ) { wp die ( ( You do not have [... ]. ) ) ; / Pokaz s t r o n e /

Shortcody Widgety Template tagi Strony opcji Hooki, akcje i filtry Hooki pozwalają nam wpiąć się w niemal każde miejsce a. Dzielimy je na: akcje (actions) są wywoływane na różnych etapach wykonywania funkcji jądra a filtry (filters) służą do modyfikowania treści generowanej przez a a d d f i l t e r ( t h e c o n t e n t, t h e c o n t e n t f i l t e r ) ; f u n c t i o n t h e c o n t e n t f i l t e r ( $ c o n t e n t ) { r e t u r n <s t r o n g >. $ c o n t e n t. </s t r o n g > ;

Pytania Koniec Dla kogo właściwie ten?

Pytania Koniec Pytania?

Pytania Koniec Dziękuję za uwagę!