Posts Tagged PHP

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: , ,

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: ,

PHP GTK 2

Dziś zupełnie przez przypadek zauważyłem program gnope, jest to pakiet pozwalający pisać w języku PHP programy deskop, a co za tym idzie być może nawet i gry. Właśnie przed chwilą wykonałem sobie 2 pierwsze tutki z oficjalnej strony i bardzo mi się to spodobało. PHP gtk ma jednak wiele wad, moim zdaniem mimo możliwości tworzenia aplikacji w tak elastycznym języku jak php, bez jakiejkolwiek znajomości c++ czy pokrewnych języków przeznaczonych raczej pod aplikacje deskop, a nie strony internetowe, gtk dla zwykłych użytkowników nie ma przyszłości z powodu problemów z instalacją. Programy w gtk to po prostu kod php obsługujący tę klasę, a jednocześnie zapisany w pliku *.phpw. Mam zamiar dalej bawić się z programowaniem w GTK, a być może zmienię swoje podejście :-P . Zachęcam wszystkich do zabawy z GTK bo naprawdę warto.

Przydatne linki:

Tags: ,