Krok 1 - Upewnij się, że wszystko jest poprawnie sformatowane
Sam WordPress zależy od nagłówków u góry głównego pliku wtyczki. W wielu przypadkach, jeśli Twoja wtyczka to „Moja fajna wtyczka”, plik ten znajduje się my-cool-plugin.php
w głównym katalogu Twojego folderu. Upewnij się, że górna część pliku ma ten format:
<?php
/*
=== [Plugin Name] ===
Plugin Name: [Plugin name]
Plugin URI: [Website where plugin information can be found - your blog, maybe]
Description: [Short description of your plugin]
Author URI: [Your website]
Author: [Your name]
Version: [This version number]
*/
Repozytorium WordPress.org zależy od Twojego readme.txt
pliku, aby utworzyć stronę opisu i pobierania. Upewnij się więc, że readme.txt
plik jest zgodny z następującym formatem:
=== [Plugin Name] ===
Contributors: [Your WordPress.org username]
Donate link: [A site people can go to to give you money]
Tags: [Search terms related to your plugin]
Requires at least: [Minimum version of WordPress required]
Tested up to: [Newest version of WordPress you've tested with]
Stable tag: [This version number]
[Short, one-sentence description of your plugin]
== Description ==
[Long description of your plugin]
== Installation ==
[Steps required to install the plugin]
== Frequently Asked Questions ==
= [A question] =
[An answer]
= [Another question] =
[Another answer]
== Screenshots ==
== Changelog ==
== Upgrade Notice ==
Na WordPress.org znajduje się przydatny walidator plików Readme, którego możesz użyć, aby upewnić się, że plik Readme ma wszystko, czego potrzebuje. Po prostu skopiuj-wklej, a sprawdzi, czy wszystkie sekcje są dostępne i czy jesteś gotowy.
Krok 2 - Sprawdź repozytorium SVN
Dobrym pomysłem jest oddzielenie wersji programistycznej od repozytorium wtyczek WordPress.org. Tak, SVN służy do kontroli wersji, ale WordPress używa go bardziej do zarządzania wersjami. Jeśli zaczniesz zatwierdzać każdy zestaw zmian w repozytorium, potencjalnie możesz napotkać problemy. Jedną z rzeczy, które wielu programistów robi, jest rozwijanie lokalnie przy użyciu Git, a następnie przesyłanie plików do repozytorium Subversion, gdy jesteś gotowy na wydanie.
Te instrukcje zakładają, że używasz komputera z systemem Windows. Jeśli korzystasz z komputera Mac, możesz użyć SCPlugin zamiast TortoiseSVN. Kroki, które musisz wykonać, będą takie same, tylko menu kontekstowe i zrzuty ekranu będą się nieco różnić z powodu interfejsu użytkownika. Nie mam komputera Mac, więc nie mogę tworzyć zrzutów ekranu, które przeprowadzą cię przez samouczek ... ale zaufaj mi, to ten sam proces.
Zainstaluj TortoiseSVN, jeśli jeszcze go nie masz.
TortoiseSVN to open source GUI Subversion dla Windows. Zaufaj mi, używanie GUI jest nieskończenie łatwiejsze niż próba robienia rzeczy z wiersza poleceń. Będziesz miał również mniej problemów.
Sprawdź repozytorium SVN hostowane przez WordPress
Znajdź miejsce, w którym chcesz przechowywać wersję wtyczki obsługiwaną przez WordPress. Domyślnie używam /My Documents/WordPress/
do całej mojej pracy deweloperskiej. Kliknij folder prawym przyciskiem myszy i wybierz z menu rozwijanego opcję „SVN Checkout”.
W wyskakującym oknie dialogowym wprowadź adres URL repozytorium wtyczek WordPress.org (używam jednego z moich do celów demonstracyjnych) i wybierz podfolder, który chcesz utworzyć.
Żółw zastanowi się przez chwilę, a następnie usunie repozytorium z WordPress.org. W nowo utworzonym folderze zostaną ustawione wszystkie wymagane foldery. Teraz wystarczy skopiować i wkleić i zatwierdzić ... krok po kroku.
Skopiuj swoją najnowszą wersję do /tags
Tutaj robię rzeczy wstecz od większości samouczków. Wszyscy inni powiedzą ci, aby /trunk
najpierw zatwierdzić , ale pamiętaj, że WordPress nie używa niczego /trunk
poza plikiem readme, gdy patrzy się na wtyczki. Jeśli więc włączysz wtyczkę /trunk
i utracisz połączenie sieciowe (lub coś pójdzie nie tak) przed zatwierdzeniem tagu, będziesz mieć problemy.
W /tags
folderze utwórz folder o nazwie identycznej z wersją, którą wydajesz dla wtyczki. Jeśli więc wydajesz wersję 0.1, utwórz /tags/0.1
folder.
Skopiuj całą wtyczkę do tego folderu.
Teraz kliknij prawym przyciskiem myszy folder i wybierz „SVN Commit” z menu rozwijanego.
Zobaczysz wyskakujące okno, które pokazuje wszystkie twoje zmiany (powinieneś zobaczyć wszystkie nowe pliki oznaczone jako „nie wersjonowane”).
Zaznacz pole obok wszystkich plików wtyczki (lub kliknij „Wybierz wszystko”, aby zaznaczyć wszystkie).
W polu u góry wprowadź komunikat zatwierdzenia. Ponieważ popełniasz tag, prawdopodobnie powinieneś użyć czegoś takiego:
Oznaczanie wersji 0.1 [My Plugin].
Kliknij OK.
Ponownie Tortoise pomyśli przez kilka minut, a następnie poprosi o podanie nazwy użytkownika i hasła WordPress w celu zatwierdzenia na serwerze. Podaj je, poczekaj, aż wszystko się powiedzie i powiedz „Sukces”, a następnie przejdź do następnego kroku.
Skopiuj swoją najnowszą wersję do /trunk
Teraz przejdź do /trunk
folderu repozytorium i jeszcze raz skopiuj i wklej swoją wtyczkę do tego folderu. Wykonaj te same kroki powyżej, aby wybrać pliki i przygotować zatwierdzenie. Ale w przypadku wiadomości użyj czegoś, co wyjaśnia, co robi nowa wersja:
Wersja 0.1 [My Plugin] - dodaje obsługę OpenID.
Gdy wszystko się już skończy, wystarczy poczekać, aż serwery WordPress.org nadrobią zaległości. Mogą one być wolniejsze kilka dni niż inne, ale w ciągu około godziny powinieneś zobaczyć swoje nowe wydanie w repozytorium.
Aktualizacja wtyczki do nowej wersji
Gdy wtyczka jest już na wolności, przygotowanie aktualizacji jest stosunkowo łatwe.
Najpierw użyj polecenia Aktualizacja SVN, aby upewnić się, że masz najnowszą wersję repozytorium. Jeśli jesteś jedynym programistą, powinieneś już to zrobić, ale dobrą praktyką jest aktualizowanie przed zatwierdzeniem.
Następnie wykonaj powyższy proces, aby utworzyć nowy podfolder /tags
dla nowej wersji. Powiedzmy /tags/0.2
. Nie dotykaj starego /0.1
folderu. Jest tam z jakiegoś powodu i nigdy więcej go nie dotkniesz.
Zatwierdź nowy tag, a następnie przejdź do /trunk
folderu. Zamień wszystko na /trunk
nową wersję i zatwierdź jak wyżej. Po aktualizacji serwery zaczną mówić o nowej wersji, a nie o starej.