W ostatnim czasie postanowiłem zapoznać się z tworzeniem wtyczek pod WordPressa – stworzenie kilku pluginów przyspieszy i ułatwi codzienną pracę . Zaskoczyło mnie lekko to, że w polskim internecie jest mało tutoriali na ten temat (znalazłem raptem dwa), a więc postanowiłem dodać coś od siebie…
Założenia pluginu
Stworzona przez nas wtyczka będzie umożliwiała:
- skonfigurowanie slidera;
- dodanie i edycję wyświetlanych obrazków;
- wyświetlanie slidera;
Założenia już znamy, a co musi zawierać takki plugin?
- opis pluginu;
- funkcję instalującą;
- funkcję usuwającą;
- funkcję do zmiany konfiguracji;
- funkcję do dodawania / usuwania obrazków;
- funkcję wyświetlającą slider na stronie
No to tworzymy…
W teorii wszystko już wiemy. Pora na napisanie kodu
Na początek musimy stworzyć folder zawierający plugin oraz główny plik (ważne jest, by główny plik miał taką samą nazwę jak folder), ja go nazwałem wp-logo-carousel-by-racy-mind. Następnie musimy opisać naszą wtyczkę:
<?php
/*
Plugin Name: WP logo carousel created by Racy Mind
Version: 0.1
Description: Plugin adds logo carousel
Author: Racy Mind
Author URI: http://www.racymind.pl/
*/
Chyba nie muszę nic tu tłumaczyć . Teraz stworzymy funkcję instalującą.
/**
* Tworzy tabele bazy danych dla pluginu
*
* @global $wpdb
*/
function rmlc_install() {
global $wpdb;
$prefix = $wpdb->prefix;
$rmlc_tablename = $prefix . "rm_logo_carousel";
$rmlc_db_version = "1.0";
if ($wpdb->get_var("SHOW TABLES LIKE '" . $rmlc_tablename . "'") != $rmlc_tablename) {
$query = "CREATE TABLE " . $rmlc_tablename . " (
id int(9) NOT NULL AUTO_INCREMENT,
image varchar(250) NOT NULL,
link varchar(250) NOT NULL,
title varchar(250) NOT NULL,
PRIMARY KEY (id)
)";
$wpdb->query($query);
add_option("rmlc_db_version", $rmlc_db_version);
}
}
Obiekt $wpdb służy do obsługi bazy danych, na stronach WordPress znajduje się dokumentacja tej klasy. W 8 i 9 linijce pobieramy prefix tabel w bazie danych i przypisujemy do zmiennej nazwę naszej tabeli. W kolejnej linii przypisujemy wersję bazy danych pluginu (może się przydać przy aktualizacjach). W kolejnych wierszach sprawdzamy czy taka tabela już nie istnieje, jeżeli nie, tworzymy ją. Na koniec dodajemy opcję z informacją o wersji bazy danych wtyczki. Funkcja gotowa, musimy jeszcze poinformować WordPress, że funkcja ta ma być uruchamiana podczas aktywacji wtyczki.
register_activation_hook(__FILE__, 'rmlc_install');
Jak mamy funkcję do instalacji to i potrzeba nam do od instalowania…
/**
* Usuwa tabele bazy danych
* @global $wpdb $wpdb
*/
function rmlc_uninstall() {
global $wpdb;
$prefix = $wpdb->prefix;
$rmlc_tablename = $prefix . "rm_logo_carousel";
$query ='DROP TABLE '.$rmlc_tablename;
$wpdb->query($query);
}
register_deactivation_hook(__FILE__, 'rmlc_uninstall');
Kolejnym krokiem będzie dodanie naszej wtyczki do menu w panelu administracyjnym.
Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...
Zwiń
Czytaj na blogu autora...