Tworzenie pluginów do wordpress’a od podstaw

Ostatnio miałem ciekawe zlecenie, miałem za zadanie napisać agregator newsów, oparty na stronach wordpress’a tworzonych w opcji multisite. Postanowiłem więc zabrać się za napisanie do tego celu małego pluginu. I choć szczerze mówiąc słowo plugin nigdy jakoś na mnie dobrze nie działało, to zabawa we „wtyczkowanie” wordpressa była naprawdę przyjemna.

Pisanie samego pluginu jest dość proste, wystarczy do tego celu znać PHP’a i mieć opanowane podstawowe zasady tworzenia plugnów. Zacznijmy od ustawień. Wszystkie pluginy jakich używamy powinny się znajdować w katalogu wp-content/plugins. W zależności od tego jak bardzo złożony będzie nasz program możemy stworzyć katalog i nazwać tak samo plik znajdujący się w nim, który będzie dla nas czymś w rodzaju dispatchera, lub po prostu stworzyć plik php w którym będzie nasz kod.

W zależności od tego jakiej opcji użyliśmy w pliku startowym kilka pierwszych linijek powinno wyglądać w ten sposób:

<?php
/**
* @package Nazwa paczki
* @version 0.1
*/
/*
Plugin Name: Nazwa pluginu
Description: Opis, czyli czym twój plugin będzie się zajmował
Author: Twoje Imię i Nazwisko
Version: 0.1
*/
?>

Kodu tłumaczyć chyba nie trzeba, nazwa paczki, opis, twoje imię i nazwisko no i wersja pluginu to wszystko czego potrzebujemy. Więcej informacji na ten temat można znaleźć w opisie z dokumentacji wordpress. Od tej pory plugin (jeśli znajduje się w katalogu wordpressa) powinien być widoczny we wtyczkach. Wszystko bardzo fajnie tylko… No właśnie, tak naprawdę nasz plugin nic jeszcze nie robi :)

Działanie pluginu polega na wywoływaniu funkcji naszego kodu w wywołanych przez Ciebie miejscach. I tak, żeby zadeklarować jakieś działanie, musimy użyć za każdym razem funkcji add_action. Pisząc na końcu w naszym kodzie np. add_action(‘loop_end’, ‘nazwa_naszej_funkcji’); wywołamy zaraz po akcji loop_end (czyli pod koniec wypisywania treści postów / strony) funkcję o nazwie nazwa_naszej_funkcji. Wszystko jak widać jest dość proste i wystarczą tak naprawdę podstawy PHP by napisać prosty plugin. Wszystkie akcje jakie możemy wywołać, a jest ich dość sporo, znajdziemy w dokumentacji.

Nie należy też zapominać o bazie danych. W wordpress za bazę danych odpowiada zmienna globalna $wpdb, którą w każdej funkcji wystarczy wywołać za pomocą global $wpdb; Nie mam jednak zamiaru rozpisywać się na ten temat za dużo, bo całość została pięknie opisana w dokumentacji do której odsyłam was po raz setny, a to dlatego że nie tylko są to oficjalne informacje, ale też dlatego że wordpress codex jest pisany bardzo prostym i przejrzystym językiem, pomimo że angielskim.

Życzę wszystkim szybkiego, lekkiego i przyjemnego pisania waszych własnych pluginów. To naprawdę proste :-)

Read the rest of this entry »

Tags: , ,

Już nie mój. Ale i tak wymiata.

iFotos nie jest już co prawda mój, mam tylko 35% udziałów, mimo to muszę napisać że jego nowe funkcje są po prostu zajebiste.

Rejestracja od samego początku nie wydawała mi się dobrym pomysłem, prosty serwis iFotos miałby się zmienić w jakąś społecznościówkę? (O zgrozo), na szczęście nie stało się tak, a nowe funkcje w iFotos.pl po prostu są zajebiście przydatne i bardzo pomocne. Nie tylko możemy usuwać pliki z serwera, ale także oglądać historię plików, co w projektowaniu przydaje się niezwykle, gdyż widzimy jak nasz projekt się rozwijał. Gdyby tylko można było w prosty sposób robić galerie lub paczki z fotkami, albo jeszcze więcej, ale nie powiem o tym :P nie ma lekko, teraz gdy nie mam już tego serwisu przychodzi masa nowych i fajnych pomysłów, tak bywa. iFotos nie odnotowuje dziś nie wiadomo jakich statystyk odwiedzin, jednak niczego nie można oceniać pochopnie, funkcje te są dostępne dopiero kilka dni od wprowadzenia nowych możliwości na rynek.

Ja osobiście życzę temu projektowi powodzenia – w końcu to mój pierwszy startup. Mam nadzieję że będę się mógł nim pochwalić kiedy będę startował do jakiś dużych agencji, doskonale znających serwis iFotos.pl. Hosting ten na dzień dzisiejszy bardzo mi się podoba i mimo straty własności, nadal będę go polecał każdemu. Warto sprawdzić czemu osiąga on nadal, tak wysokie wyniki w google.

Labolatorium Przeglądarek

Bardzo dużo webdeveloperów siedzi na systemie Windows tylko i wyłącznie z powodu IE6. Tak, przeglądarka robiąca duże problemy. Adobe spisało się i zaprezentowało perfekcyjne rozwiązanie, które szczególnie przydać się może developerom pracującym na Linuxach i Mac’ach. Na oba systemy Internet Explorer 6 jest dużym problemem. Browseshot, czyli screenschot z różnych przeglądarek było jednym z niewielu rozwiązań, sprawdzających czy strona na pewno działa pod IE. Dziś Adobe prezentuje lepsze rozwiązanie – http://browserlab.adobe.com w o wiele szybszym czasie tworzy screenshoty wielu przeglądarek. Jedyne czego potrzebujesz to Adobe ID. Niebawem przygotuję recenzję tego programu, teraz idę dokładniej testować to, wyglądające na perfekcyjne, narzędzie.

Tags: , , , ,

O MVC

MVC dla początkujących.

Tak, tak jest już bardzo dużo artykułów o tym jak działa model, widok i kontroler. Mimo to żaden z nich nie został dobrze zinterpretowany przeze mnie, i dopiero videocasty z zend framework uświadomiły mi jak to wszystko powinno wyglądać. Tak więc postanowiłem napisać własny, prosty i zrozumiały tutorial. A więc zaczynamy.

Read the rest of this entry »

Tags: ,

Eclipse PDT na 7

Nie tak dawno zrezygnowałem ze złego komercyjnego i źle działającego (tak, nienawidzę go i być może przesadzam) systemu operacyjnego jakim był Windows. Obecnie systemem na którym działam jest Linux ubuntu, ostatnio niestety było z nim kilka problemów dlatego tez postanowiłem zmienić wersję na nowszą. Mój obecny system (ubuntu 8.10) sprawuje się świetnie i wszystko co chcę działa jak należy. Wczoraj zainstalowałem Eclipse php developer tools (PDT) i jestem zachwycony jego działaniem. Po przesiadce na liunucha korzystałem z marnego, choć wcale nie złego, bo to co było potrzebne się w nim znajduje gEdita. Oczywiście wiadomo że na programach takich jak gEdit czy notepad++ pracuje się znacznie gorzej niż na zintegrowanym środowisku programistycznym. Pamiętam jeszcze z windy bardzo znany program którego używałem (dreamweaver). Bardzo dobry, wręcz świetny bym powiedział program, warty nawet tak wysokiej ceny. Ale po tym co dziś zobaczyłem w Eclipse moje zdanie zmienia się diametralnie. Oprócz podświetlania składni, podpowiadania kodu i innych ważnych pierdów ma on bardzo ładnie zrobione zarządzanie projektem. Teraz o wiele prościej coś dodać, usunąć czy zmienić. Kolejną rzeczą której się dopatrzyłem to lista rzeczy do zrobienia (TODO). Jest to świetna rzecz która pomaga w nadrabianiu braków. Dodatkowo Eclipse PDT czyta także poprawnie komentarza dokumentacji i dokładnie wie o co chodzi. Jeśli ktoś ma więc zamiar wydać masę pieniędzy na dreamweavera, uprzedzam warto się bliżej przyjrzeć eclipse, równie dobremu, a być może nawet lepszemu środowisku które w dodatku jest zupełnie bezpłatne.

Tags: ,