-
data publikacji: 13.10.2009
Skórka z własnym panelem administracyjnym
kategoria: Webmaster, Wordpress autor: palmiak
Część z Was pewnie zauważyła, iż niektóre skóry wordpressowe posiadają własne panele administracyjne za pomocą których można określić pewne parametry strony. W dzisiejszym tutku pokażę Wam jak zrobić drobny panelik do skóry, który troszkę ułatwi nam życie (a na pewno podpowiem Wam jak tworzyc bardziej skomplikowane).
Nasz pierwszy panel
Pierwszą rzeczą którą robimy to odnajdujemy w naszej skórce plik functions.php (jeśli nie ma to go tworzymy). Czas stworzyć sobie odpowiednią podstronę w zakładce Wygląd.
Żeby to zrobić skorzystamy z funkcji
add_submenu_page().function theme_menu() {
add_submenu_page('themes.php', 'Mój panel', 'Mój panel', 8, 'theme_admin', 'theme_admin');
}Themes.php to nazwa rodzica, następnie podajemy tytuł strony, nazwę pozycji w menu, od jakiego poziomu uprawnień mozna przeglądać tą podstronę identyfikator strony (przydatny dla innych funkcji czy wtyczek) oraz funkcję która nam wygeneruje zawartość strony.
Pozostaje nam to teraz wywołać za pomocą:
add_action('admin_menu', 'theme_menu');Gdy wejdziemy w panel, w zakładkę Wygląd ujrzymy naszą nową podstronę. Niestety po kliknięciu ujrzymy error 404, ale zaraz się tym zajmiemy.
Czas więc napisać funkcję
theme_admin(). Na początku będzie nam wyświetlać napis 'cześć':function theme_admin() {
echo '<div class="wrap">';
echo '<h2>Mój panel</h2>';
echo '<p>cześć</p>';
echo '</div>';
}Teraz już po kliknięciu w menu ujrzymy naszą podstronę. Po prostu szał
Tekst z boku strony
Panel do czegoś takiego raczej nie będzie zbyt skomplikowany - textarea i button wyślij.
function theme_admin() {
echo '<div class="wrap">';
echo '<h2>Mój panel</h2>';
echo '<h3>O nas - żeby się z boku strony pokazało</h3>';
echo '<form method="post">';
echo '<table class="form-table" width="100%" border="0" cellspacing="0" cellpadding="6">';
echo '<tr valign="top">';
echo '<th><strong><label for="o_nas">O nas</label></strong></th>';
echo '<td><textarea id="o_nas" name="o_nas" style="width:400px; height:100px;"></textarea></td>';
echo '</tr>';
echo '</table>';
echo '<p><input type="submit" value="wyslij" /></p>';
echo '</form>';
echo '</div>';
}Nasz formularz sobie ładnie wygląda, ale póki co jeszcze nic nie robi. Tekst, który wpiszemy będziemy musieli gdzieś trzymać, najlepszym miejsce do tego jest wordpressowa tablica options. Sprawę ułatwiają twórcy, którzy udostępniają nam funkcje update_option oraz add_option.
Po naciśnięciu guzika wyślij zawartość textarea trafia do tablicy POST. Najlepiej więc jeśli za każdym razem będziemy sprawdzać czy przypadkiem ktoś nie zadeklarował zmiennej
$_POST['o_nas'], jeśli tak to za pomocą funkcjiupdate_option()dorzucamy pole w bazie lub zmianamy jego zawartość.Musimy jeszcze poprawić bug, w postaci zawsze pustego textarea. Żeby to zrobić po prostu wypisujemy zawratość pola 'o_nas' z bazy.
function theme_admin() {
if( isset($_POST['o_nas'])){
update_option('o_nas', $_POST['o_nas']);
echo '<div id="message" class="updated fade"><p>Opis został zmieniony</p></div>';
}
echo '<div class="wrap">';
echo '<h2>Mój panel</h2>';
echo '<h3>O nas - żeby się z boku strony pokazało</h3>';
echo '<form method="post">';
echo '<table class="form-table" width="100%" border="0" cellspacing="0" cellpadding="6">';
echo '<tr valign="top">';
echo '<th><strong><label for="o_nas">O nas</label></strong></th>';
echo '<td><textarea id="o_nas" name="o_nas" style="width:400px; height:100px;">';if(get_option('o_nas')){
echo get_option('o_nas');
}echo '</textarea></td>';
echo '</tr>';
echo '</table>';
echo '<p><input type="submit" value="wyslij" /></p>';
echo '</form>';
echo '</div>';
}Czas to wyświetlić na stronie. Wystarczy napisać:
lub, jeżeli wolimy mieć większy porządek w kodzie, napisać sobie prostą funkcję:
function show_o_nas() {
if(get_option('o_nas')){
echo '<div id="o_nas">';
echo '<h2>O nas</h2>';
echo get_option('o_nas');
echo '</div>';
}
}a w miejscu gdzie chcemy to wyświetlić:
Podsumowanie
Teraz gdy już znacie podstawy tworzenia pozostaje tylko życzyć mi powodzenia w rozbudowywaniu swoich skórek.
-
6 Responses to “Skórka z własnym panelem administracyjnym”
Leave a Reply
Komentarze
Kategorie
Top 10
JaRo: Halu!?
Adi: Halu!?
rokicza: Menu akordeonowe z odrobiną CSS3
Marcin Lewandowski: Portfolio graficzne oparte o Wordpress przy użyciu Custom Fields
Agressiva: Portfolio graficzne oparte o Wordpress przy użyciu Custom Fields
Marcin: Portfolio graficzne oparte o Wordpress przy użyciu Custom Fields
rokicza: Menu akordeonowe z odrobiną CSS3
rokicza: Menu akordeonowe z odrobiną CSS3
Gerard: Tutorial na stronę domową
malachm: Adobe Kuler – wejdź w kulerowy świat
- CMSy Artykuły dotyczące różnego rodzaju systemów zarządzania treścią CMS.
- Flash Podstawowe informacje pomocne przy tworzeniu animacji w Adobe Flash.
- Fotografia Samouczki dotyczące nie tylko robienia zdjęć ale też ich cyfrowej obróbki.
- Grafika Ogólnie pojęta grafika komputerowa, od inspiracji, po tworzenie layoutów oraz mniejszych form graficznych.
- Inne tutoriale wordpressowe Wszystkie inne zagadnienia dotyczące WordPressa.
- Inspiracje Inspirujące materiały graficzne z dziedziny projektowania stron www, projektów DTP, digital painting, itp.
- Obróbka zdjęć Techniki retuszu fotografii cyfrowych.
- Rysunek Tworzenie rysowanych ilustracji w Adobe Photoshop.
- Skóry do Wordpressa Darmowe oraz płatne – najlepsze skóry do WordPressa.
- Skrypty client-side
- Skrypty server-side
- Tutoriale
- Webdesign Tutoriale z zakresu projektowania stron www i grafiki użytkowej na rzecz internetu.
- Wordpress Ulubieniec naszej publiczności CMS WordPress: nowości, tricki, wtyczki, skóry i wszystko to co może przydać się przy korzystaniu z tego systemu.
- Wtyczki do Wordpressa Recenzje oraz instrukcje najbardziej popularnych i najbardziej niezbędnych pluginów do WordPressa.
- XHTML/CSS Ciekawostki z dziedziny kodowania stron www: XHTML, CSS, jQuery.
Najnowsze newsy
Zapraszamy na forum graficzne Graffika.pl
Każda osoba interesująca się grafiką komputerową ma czasami ochotę porozmawiać o swoich pracach, posłuchać rad, krytyki i pochwał innych osób. Idealnym miejscem na realizowanie takich potrzeb jest forum graficzne Graffika.pl.
Czytaj dalej
Przypominamy o Konkursie Noworocznym
Wraz z nowym, 2010 rokiem ogłosiliśmy konkurs na tutorial o tematyce CMS-owej.
Mamy nadzieję, że jakieś prace zostaną nadesłane do końca terminu i znajdzie się zwycięzca w pierwszym naszym oficjalnym konkursie z nagrodami.
Zachęcamy wszystkich do spróbowania swoich sił.
Szczegóły dostępne są pod tym adresem: http://vivee.info/2010/01/01/konkurs-noworoczny/
Zareklamuj nas :)
Jako, że pojawiła się na vivee.info nowa skóra przygotowałam nasze firmowe banerki reklamowe. Osoby, które wyrażą chęć wsparcia nas reklamą u siebie na blogach lub innych serwisach mogą pobrać je poniżej. Czytaj dalej
Polecane strony
- WordPress Theme from Scratch – Day 1: PSD
- 20 Tutorials For Creating HDR Images
- Ask the Expert – Using Wordpress to Build Large Scale Websites with Derek Herman
- Making an Interactive Picture with jQuery
- Create a Horizontal Scrolling Website
- 800 Most Wanted Free RSS Icons for Bloggers
- 45 Most Wanted Beautiful Free Hand Drawn Fonts
- Caffe-Break Themed Blog Layout Photoshop Tutorial
- Create a nature inspired layout in photoshop
- Coding a Web Design for Speed and Quality
- Beautiful Hand Drawn Websites | Abduzeedo | Graphic Design Inspiration and Photoshop Tutorials
- 40 Fresh Creative and Inspiring Photographs
- Wordpress portfolio layout | Grafpedia
- Simple Facial Photo Retouching | Grafpedia
- Create a beauty layout in 10 steps | Grafpedia























Wszystko działa fajnie tylko jest jeden problem, jeżeli wyślę puste pole to już nie można później nic wpisać tzn pole jest puste nie jest zwracana żadna wartość. Czy istnieje możliwość resetu ustawień.
Troszkę poprawiłem kodzik i teraz działa w pełni poprawnie.
“Żeby to zrobić skorzystamy z funkcji add_option_subpage().”
nie powinno być jak dalej w kodzie:
” add_submenu_page”
??
W kodzie piszę jedno, a w opisie drugie… Dzięki za wypatrzenie. Już poprawiam.
wita, klikam w link do kolejnego artykułu na Twojej stronie i otwiera mi się nowe okno w tym samym miejscu co poprzednio, bez możliwości powrotu. Bez sensu przecież nie będę czas tracił na przypominanie sobie adresu tamtego wpisu.
Wybacz ale nie do końca rozumiem problem. Chodzi o to, że linki nie otwierają się w nowym oknie? Wytłumacz dokładnie to może coś zaradzimy.