05 – Własny motyw WordPress
Przed nami ostatni krok do cieszenia się podstawową wersją własnego szablonu WordPress. Należy przygotować pliki archive.php, search.php i 404.php. Nie będę ich omawiać szczegółowo tak jak w artykule pierwszym i drugim – lecz zaprezentuje gotowe przykłady.
ARCHIVE.PHP
W tym pliku definiujemy sposób wyświetlania archiwum wpisów. Możemy je sortować dowolnie, wg. autora, daty, roku, kategorii itd. Wygląd ustawiamy domyślnie jak na stronie z wpisami (możemy go oczywiście zmodyfikować).
SCHEMAT PLIKU ARCHIVE.PHP
Jest to przykładowy kod, użyty w motywie twentyfifteen.
<?php
/**
* The template for displaying archive pages
*
* Used to display archive-type pages if nothing more specific matches a query.
* For example, puts together date-based pages if no date.php file exists.
*
* If you'd like to further customize these archive views, you may create a
* new template file for each one. For example, tag.php (Tag archives),
* category.php (Category archives), author.php (Author archives), etc.
*
* @link https://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fifteen
* @since Twenty Fifteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="taxonomy-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'content', get_post_format() );
// End the loop.
endwhile;
// Previous/next page navigation.
the_posts_pagination( array(
'prev_text' => __( 'Previous page', 'twentyfifteen' ),
'next_text' => __( 'Next page', 'twentyfifteen' ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>',
) );
// If no content, include the "No posts found" template.
else :
get_template_part( 'content', 'none' );
endif;
?>
</main><!-- .site-main -->
</section><!-- .content-area -->
<?php get_footer(); ?>
Do kodu możemy dodać dowolne elementy wpisu – datę (the_time(‚d:m:Y’);) itp.
SEARCH.PHP
Tutaj zdefiniujemy co użytkownik zobaczy po wpisaniu dowolnego słowa do wyszukiwarki. Poniżej jest przykładowy kod, użyty w motywie twentyfifteen.
<?php
/**
* The template for displaying search results pages.
*
* @package WordPress
* @subpackage Twenty_Fifteen
* @since Twenty Fifteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyfifteen' ), get_search_query() ); ?></h1>
</header><!-- .page-header -->
<?php
// Start the loop.
while ( have_posts() ) : the_post(); ?>
<?php
/*
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'content', 'search' );
// End the loop.
endwhile;
// Previous/next page navigation.
the_posts_pagination( array(
'prev_text' => __( 'Previous page', 'twentyfifteen' ),
'next_text' => __( 'Next page', 'twentyfifteen' ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>',
) );
// If no content, include the "No posts found" template.
else :
get_template_part( 'content', 'none' );
endif;
?>
</main><!-- .site-main -->
</section><!-- .content-area -->
<?php get_footer(); ?>
404.PHP
Ostatni plik, to strona 404 – wyświetla się kiedy dana strona nie istnieje – została usunięta, albo plik został przeniesiony w inne miejsce. Tutaj możemy już dać ponieść się fantazji – nie ma żadnych szablonów. Ważne, żeby strona była ciekawa i zawierała link do strony głównej. Ponadto, należy poinformować gościa, dlaczego wyświetla się taka „dziwna” strona. Przykłady ciekawych i śmiesznych stron 404, znajdują się w artykule TUTAJ.
GOTOWY MOTYW WORDPRESS
Wszystkie niezbędne pliki, do stworzenia własnego szablonu są gotowe. Jest to absolutna podstawa do dobrego motywu i podstawa, która działa. Blog będzie wyświetlał się poprawnie.
Jest to jednak zaledwie ułamek możliwości WordPressa. Wymyślono całe mnóstwo funkcji, które mogą wiele zmienić. Wszystkie one są dostępne, opisane i opatrzone przykładami na stronie: DEVELOPER WORDPRESS.