Her zaman internetin gelişmesinden sonra kullanıcılar için internet kullanımını kolaylaştıran örneklerden mümkün olduğu kadar bahseder dururuz. Eskiden her önüne gelen bir site açamazken şimdi binlerce açık kaynak kodlu sistem var olduğundan herkes dilediği gibi kendi profesyonel websitesini ücretli yada ücretsiz oluşturabiliyor ancak bu ücretsiz dağıtımları kullanabilmek için de biraz bilgi gerekiyor. İşte o bilgilerden özellikle WordPress için olanından en önemlilerinden bir tanesi page.php sayfa şablonu.
Page.php nedir ?
Yıllarca yayınlamış olduğunuz yazıların numaralı şekilde sıralandığı listedir. Wp nin sabit şablonlarından ve değişmezlerinden de bir tanesidir single.php gibi.
Page.php kodu
Örnek page.php kodu aşağıdaki gibidir.
<?php /** * page.php */ ?> <?php get_header(); ?> <section id="content"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <article <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h2><?php if(the_title( '', '', false ) !='') the_title(); else echo 'Untitled';?></h2> <?php the_content(); ?> <?php wp_link_pages(array('before' => '<p>Sayfalar: ', 'after' => '</p>', 'next_or_number' => 'number')); ?> </article> <?php endwhile; endif; ?> <?php edit_post_link('Edit', '<p>', '</p>'); ?> </section> <?php get_sidebar(); ?> <?php get_footer(); ?>
Custom page oluşturma
Bu php dosyası ile pek işimiz olmasa da ilerleyen dönemlerde sitemizi büyütmek yada yeni özellikler eklemek için ihtiyacımız olabiliyor. Mesela websitemizin temasını kullanarak kendi tasarladığımız bir kaç bölümü eklemek isteriz ama page.php sadece bir tane olduğundan bunu yapmak genelde eklentiler yardımıyla oluyor ama bazı durumlar var ki eklentiler bile bizi kurtaramıyor.
WordPress sisteminin yapısı bellidir ve içeriği yazılar, kategoriler, yorumlar ve arşivler gibi kalıp dosyalardan oluştuğu için üretilen temalar da ona göre tasarlanır. Mesela benim sitemde Css sıkıştırma diye bir bölüm var ama bu bölüm sitemin kendisine bağlı değil kendi oluşturduğum bir klasör içinde bulunuyor. Ben bu Css sıkıştırma sayfasını kendi sitemin içine bağlamak için de farklı isimde bir page.php dosyası oluşturmam gerekiyor. Evet bunu yapmak mümkün ve istediğimiz kadar da çoğaltıp başka sayfaları çekip page.php sayfasıymış gibi gösterebiliyoruz. İçeriği normal sayfa şablonundan çok farklı değildir bir başka kopyası gibi durur. Sadece get_template_part fonksiyonunu kullanırız. Ama sayfa şablonunun içine get_template_part fonksiyonu ile çağıracağımız dosyanın da aynı tema klasörü içinde bulunması gerekiyor.
Örnek bir custompage.php kodu
Bu kodları kopyalayıp custompage.php adında bir dosyanın içine kaydettikten sonra tema dosyalarınızın içine ftp üzerinden atın.
<?php /* Template Name: custompage.php */ ?> <?php get_header(); ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php while ( have_posts() ) : the_post(); // Çağırmak istediğiniz sayfa adresini girin get_template_part( 'css-sikistirma/online/index', 'page' ); // Sayfa için yorumlar açıksa ziyaretçiler yorum yapabilirler if ( comments_open() || get_comments_number() ) { comments_template(); } endwhile; ?> </main><!-- .site-main --> </div><!-- .content-area --> <?php get_sidebar(); ?> <?php get_footer(); ?>
Özel sayfanın kullanımı
Dosyamızı hazırlayıp ftp den de sitemize attık ama sitemizde bir değişiklik olmadı. Çünkü tasarımınızda bu dosyayı çağıran herhangi bir bölüm oluşturmadınız. Şimdi Yönetim panelinizden Sayfalar > Yeni sayfa ekle linkine tıklayın. Sağ taraftaki bölümde Sayfa özellikleri diye bir bölüm göreceksiniz. Bu bölümde resimde görüldüğü gibi şablon yazan yerde varsayılan şablon ve sizin oluşturduğunuz yeni şablon gözüküyor. Yeni sayfa ismi girip kendi oluşturduğunuz şablonu seçtikten sonra yeni sayfanız hazır olacaktır.