WordPress od podstaw
autorem artykułu jest Andrzej Bekiesz.
Artykuł pochodzi z serwisu WordPress od podstaw » Blog prawie techniczny, a na pewno subiektywny.
Przeglądałem ostatnio różne strony i blogi i nigdzie nie mogłem znaleźć artykułu
tłumaczącego od podstaw strukturę plików w word press. Jest bardzo dużo porad dla
zaawansowanych użytkowników jednak na forum wp najczęściej pojawiające się pytania
dotyczą podstaw pracy z plikami tego systemu. Zaczynamy zatem nasz przegląd word
press.
W paczce, którą ściągniemy z WP znajdują się wszystkie konieczne pliki aby zacząć
zabawę z WordPress. drzewko katalogu głównego przedstawia się następująco:
- wp-admin\
- wp-content\
- wp-includes\
- index.php
- wp-atom.php
- wp-blog-header.php
- wp-comments-post.php
- wp-commentsrss2.php
- wp-config-sample.php
- wp-feed.php
- wp-links-opml.php
- wp-login.php
- wp-mail.php
- wp-pass.php
- wp-rdf.php
- wp-register.php
- wp-rss2.php
- wp-rss.php
- wp-settings.php
- wp-trackback.php
- xmlrpc.php
Najważniejszy plik w katalogu głównym to wp-config-sample.php. W nim zawarte są
ścieżki do bazy danych oraz login i hasło. Aby system można było zainstalować
należy zmodyfikować go podając odpowiednie dane i zmienić jego nazwę na wp-config.php.
Pliki wp-login.php i wp-register.php odpowiadają za logowanie i rejestrację
użytkowników. Jest to o tyle ważne, że w przypadku gdy zniknie nam temat w dalszym
ciągu możemy dostać się do panelu administracyjnego podając ścieżkę bezwzględną do
pliku. Plik index.php jest krótko ujmując przekierowaniem do katalogu aktualnie
wybranego tematu.
W katalogu wp-admin znajdują się:
- images\
- import\
- admin.php
- admin-db.php
- admin-footer.php
- admin-functions.php
- admin-header.php
- bookmarklet.php
- categories.php
- cat-js.php
- edit.php
- edit-comments.php
- edit-form.php
- edit-form-advanced.php
- edit-form-ajax-cat.php
- edit-form-comment.php
- edit-link-form.php
- edit-page-form.php
- edit-pages.php
- execute-pings.php
- import.php
- index.php
- inline-uploading.php
- install.php
- install-helper.php
- link-add.php
- link-categories.php
- link-import.php
- link-manager.php
- link-parse-opml.php
- list-manipulation.js
- list-manipulation.php
- menu.php
- menu-header.php
- moderation.php
- options.php
- options-discussion.php
- options-general.php
- options-head.php
- options-misc.php
- options-permalink.php
- options-reading.php
- options-writing.php
- page-new.php
- plugin-editor.php
- plugins.php
- post.php
- profile.php
- profile-update.php
- setup-config.php
- sidebar.php
- templates.php
- theme-editor.php
- themes.php
- update-links.php
- upgrade.php
- upgrade-functions.php
- upgrade-schema.php
- user-edit.php
- users.php
- wp-admin.css
- xfn.js
Plik wp-admin.css odpowiada za sposób wyświetlania panelu administracyjnego oraz
okna logowania i rejestracji. Plik install.php oraz upgrade.php odpowiadają za
instalację wp oraz jego upgrade. Dlatego też po zakończeniu czynności instalacyjnych
należy je bezwarunkowo usunąć.
W katalogu wp-content znajdują się dwa ważne katalogi. W katalogu plugins należy
umieścić wszystkie wtyczki, z których chcemy korzystać. W katalogu themes znajdują
się tematy czyli inaczej mówiąc schematy wyświetlania naszego bloga. Przykładowa
konstrukcja takiego tematu wygląda następująco:
index.php - główny plik wykonywalny word press.
<?php get_header(); ?> - funkcja wywołująca plik header.php, w którym
umieszczony
jest cały nagłówek - <HEAD> strony
<div id="content" class="narrowcolumn"> - sekcja the_loop czyli miejsce,
w którym wyświetlane są wpisy. <?php if (have_posts()) : ?> <?php
while (have_posts()) : the_post(); ?> <div class="post" id="post-<?php
the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>"rel=
"bookmark" title="Permanent Link to <?php the_title(); ?>"><?php
the_title(); ?></a></h2> <small><?php the_time('F jS, Y')
?> by <?php the_author() ?></small> <div class="entry"> <
?php the_content('Read the rest of this entry >>'); ?> </div> <p class=
"postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link
('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments >>', '1 Comment >>',
'% Comments >>'); ?></p> </div> <?php endwhile; ?>
<div class="navigation"> - nawigacja odpowiada za umieszczenie linków do
następnych lub poprzednich wpisów <div class="alignleft"><?php
next_posts_link('<< Previous Entries') ?> </div> <div class="alignright"
><?php previous_posts_link('Next Entries >>') ?></div> </div>
<?php else : ?> <h2 class="center">Not Found</h2> - komunikat
o błędnym odwołaniu. <p class="center">Sorry, but you are looking for
something that isn't here.</p> <?php include (TEMPLATEPATH . "/searchform.php");
?> <?php endif; ?> </div>
<?php get_sidebar(); ?> - plik sidebar.php czyli menu naszej strony.
<?php get_footer(); ?> - plik footer.php czyli stopka naszej strony.
Podsumowując na stronę główną składają się następujące pliki:
index.php - plik spinający całość i wyświetlający wpisy czyli "środek" strony
header.php - nagłówek strony zawierający odwołanie do pliku style.css czyli stylu
wyświetlania strony
sidebar.php - menu strony
fotter.php - stopka strony
Żeby nie było tak prosto word press posiada mechanizm, który w przypadku znalezienia
plików "specjalnych" podmienia zawartość index.php na treść zapisaną w tym pliku.
Do takich plików możemy zaliczyć:
- images\
- 404.php - zawartość strony z błędnym odwołaniem
- archive.php - zawartość archiwum
- archives.php
- attachment.php - odwołanie do załącznika umieszczonego w wpisie
- category.php - wyświetlenie kategorii
- category-5.php - wyświetlenie kategorii 5 etc.
- comments.php - komentarze
- comments-popup.php - wyskakujące okienko komentarzy, wymaga aktywacji w header.php
- footer.php
- functions.php
- header.php
- index.php
- links.php - wyświetlanie strony z linkami
- page.php - wyświetlanie pojedyńczej strony
- screenshot.png
- search.php - wyświetlanie wyników wyszukiwania
- searchform.php
- sidebar.php
- single.php - wyświetlanie pojedyńczego wpisu.
- style.css - styl wybranego tematu.
W katalogu wp-includes powinien natomiast znaleźć się katalog languages. Jak
można się domyśleć odpowiada on za wyświetlanie wybranego w pliku config.php języka.
Jeśli takiego katalogu nie ma należy go utworzyć i wgrać do niego plik językowy.
Standardowo w word press komunikaty generowane są za pomocą funkcji napisanych w php.
Przykład:
<?php edit_post_link('Edit this entry.','',''); ?>
Należy zwrócić uwagę, że w niektórych tematach autorzy umieścili stałe elementy,
które należy przetłumaczyć "ręcznie" przy pomocy notatnika. W ten sposób unikniemy
przypadków "mieszanych" komunikatów na naszej stronie. Jeśli zaś nie odpowiada nam
domyślne tłumaczenie funkcji możemy ją zmienić:
<?php edit_post_link('Wyedytuj mnie.','',''); ?>
To tyle jeśli chodzi o podstawowe informacje dotyczące word press. Mam nadzieję,
że okażą się przydatne. Życzę miłej zabawy :)
Opis instalacji WP na serwerze opisuję w moim blogu Szukasz dla Webmasterów
w menu "Jak założyć bloga".