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

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

Optymalizacja strony

Postanowiłem napisać ten krótki artykuł z myślą o webmasterach którzy narzekają na problemy ze zbyt długim ładowaniem ich strony. Opiszę jak zoptymalizować stronę internetową prostymi sztuczkami. Po przeczytaniu tego krótkiego tutka będziecie wiedzieli co zrobić by strona internetowa szybciej chodziła.

Głównymi problemami związanymi z długim ładowaniem strony są przede wszystkim obrazki. Możemy je oczywiście zmniejszyć, ale kompresja niekiedy nie jest wskazana bo obniża tylko jakość efektu.

Read the rest of this entry »

Tworzenie map witryn dla wyszukiwarek internetowych

Na prośbę NNaPlaya, i przemyślenia o tym że nadszedł czas na to żeby zamieścić na blogu jakiś artykuł przydatny szerszej widowni, przygotuję artykuł w którym pokaże wam jak za pomocą XML’a wykonać mapę witryny.

Zapewne wszyscy wiemy czym dla naszej strony jest wysoka pozycja w wyszukiwarce. Pozycjonowanie to bardzo ważne zagadnienie w tworzeniu stron internetowych, bo pozwala nam na całkowicie bezpłatną reklamę naszej witryny. W swoim artykule w ferie opisałem jak prostymi metodami zoptymalizować stronę internetową. Teraz przyszedł czas na ponowne starcie z wyszukiwarką google.

Aby nasza strona była lepiej pozycjonowana przez roboty powinniśmy napisać mapę witryny. Jest to stosunkowo proste, jeśli znamy html’a lub jeszcze lepiej jeśli znamy XML’a. Mapa witryny zawiera dane o wszystkich stronach w naszej witrynie. Na początek pokażę wam jak wykonać to tka żeby było jak najprościej, następnie wspólnie wykonamy mapę witryny która sama będzie sie generowała (przy pomocy języka PHP).

Read the rest of this entry »