• Tidak ada hasil yang ditemukan

Tutorial Cara Membuat Theme WordPress Sendiri ( Langkah #7 : Melengkapi File

Theme )

Lanjutan dari seri Tutorial Cara Membuat Theme WordPress Sendiri. Untuk memastikan tidak ada miskonsepsi, kami rekomendasikan anda membaca seri post ini dari awal :

Langkah #0 : Pendahuluan, serta tools – tools yang dibutuhkan Langkah #1 : Memahami Struktur File Theme WordPress

Langkah #2 : Memahami Tag – tag XHTML & Kegunaannya, dan aturan penulisannya Langkah #3 : Membuat File Dasar Theme WordPress : index.php & style.css

Langkah #4 : Memuat Konten Blog Ke Dalam Theme Langkah #5 : Mendesain Theme Menggunakan CSS Langkah #6 : Merapihkan Styling CSS

Ok. Seperti pada post sebelumnya, awali dengan nyalakan XAMPP Control Panel, hidupkan Apache Server & Database MySQLnya, lalu buka aplikasi browser dan buka halaman wordpress lokal anda ( http://localhost/wordpress/ ).

Seperti yang sudah kami sebutkan pada langkah #1, mengenai struktur file Theme WordPress : Theme wordpress terdiri dari berbagai file. Pada 7 langkah sebelumnya, kita telah menghasilkan 3 file inti dari theme wordpress : index.php, style.css, dan function.php.

Pada post kali ini, kita akan membuat file yang lainnya : header.php, comment.php, single.php, page.php, archive.php, dan search.php.

Sebentar, sepertinya ada yang terlewat. Bagaimana dengan

footer.php dan home.php?

Well, karena pada latihantheme ini kita tidak menampilkan footer apapun, maka tidak kita butuhkan file footer.php ini. Sedangkan untuk home.php, karena settingan index.php sudah

sesuai dengan apa yang kita butuhkan tampilan halaman depan, maka kita tidak membutuhkan home.php untuk latihantheme.

Ok, Langsung saja kita bahas satu persatu. buka browser dan akses localhost/wordpress, dan buka index.php menggunakan notepad ++.

membuat header.php

header.php merupakan file untuk mendefinisikan data – data pada header, lalu digunakan secara bersama oleh tiap file. gunanya? agar header tiap file dipastikan seragam. persis seperti konsep

style.css : satu file yang mendefinisikan seluruh halaman, maka dari itu dibuat dalam file

tersendiri, dan digunakan secara bersama – sama. tujuannya? agar tampilan seragam. begitu pula dengan header.

Kalau kita analisa, apa sih yang membedakan halaman ( yang standar y ) home, post, page, tag dan categories? hanya kontennya. Sidebar, header dan footernya sama. Maka dari itu, dari pada menduplikasi konten file, lebih baik tampilan yang sama ditulis dalam satu file terpisah dan script tersebut digunakan secara bersamaan oleh semua file. Enough for the theory. Sekarang praktek :

1. buka file baru pada notepad ++.

2. buka file index.php. select kode dari baris sesudah tag <meta

http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″> hingga <?php

wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’);?></ul></div>, lalu

tekan CTR + X alias cut.

3. Paste script yang tadi di cut ke file baru notepad++, lalu save dengan nama header.php 4. Kembali ke file index.php. pada bagian yang tadi kita pindahkan scriptnya ke header.php,

ketik / copypaste kode ini : <?php get_header(); ?>

Penjelasan : <?php get_header(); ?> merupakan tag wordpress yang berfungsi untuk me-LOAD seluruh script yang terdapat pada file

header.php

OK, sekarang, file header.php beres

Membuat comment.php

comment.php merupakan “kerangka” dari tampilan komentar : apa yang akan ditampilkan jika ada komentar, apa yang akan ditampilkan jika tidak ada komentar, dan apa yang ditampilkan jika sistem komentar blog anda membutuhkan pengunjung login terlebih dahulu. Sistem komentar yang akan kita gunakan ini saya ambil dari kerangka kubrick. Theme default bawaan wordpress. Buat file baru pada notepad ++, copy paste script berikut dan save dengan nama comments.php :

001<?php // Jangan menghapus baris ini!

002if(!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php'== basename($_SERVER['SCRIPT_FILENAME']))

003die('Please do not load this page directly. Thanks!');

004

005if(!empty($post->post_password)) { // jika ada password 006

if($_COOKIE['wp-postpass_'. COOKIEHASH] != $post->post_password) { // dan passwordnya tidak sesuai dengan cookie, yang artinya pengunjung sedang tidak login. script ini yang akan muncul

007?> 008

009<p class="nocomments">Post ini di kunci. masukan password untuk membaca post ini</p> 010 011<?php 012return; 013} 014} 015

016/* variabel ini untuk membuat alternatif background comment*/

017$oddcomment= 'class="alt" '; 018?>

019

020<!-- Kerangka Comment dimulai dari sini --> 021

022<?php if($comments) : ?>

023<h3 id="comments"><?php comments_number('Tidak ada komentar', 'Satu Komentar', '% Komentar');?> to &#8220;<?php the_title(); ?>&#8221;</h3> 024

025<ol class="commentlist"> 026

027<?php foreach($commentsas$comment) : ?> 028

029<li <?php echo$oddcomment; ?>id="comment-<?php comment_ID() ?>"> 030<?php echoget_avatar( $comment, 32 ); ?>

031<cite><?php comment_author_link() ?></cite> Says: 032<?php if($comment->comment_approved == '0') : ?> 033<em>Your comment is awaiting moderation.</em> 034<?php endif; ?>

035<br /> 036

title=""><?php comment_date('F jS, Y') ?> at <?php comment_time() ?></a> <?php edit_comment_link('edit','&nbsp;&nbsp;',''); ?></small> 038 039<?php comment_text() ?> 040 041</li> 042 043<?php

044/* Membuat setiap komentar memiliki class yang berbeda */

045$oddcomment= ( empty( $oddcomment) ) ? 'class="alt" ': ''; 046?>

047

048<?php endforeach; /* Akhir dari setiap komentar */?> 049

050</ol> 051

052<?php else: // Jika setting komentar enable namun tidak ada komentar, maka script dibawah ini dieksekusi ?>

053

054<?php if('open'== $post->comment_status) : ?>

055<!-- Jika sistem komentar enable, namun belum ada komentar yang masuk. --> 056

057<?php else: // komentar di disable ?>

058<!-- Jika sistem komentar di disable, script ini yang muncul --> 059<p class="nocomments">Tidak Menerima Komentar.</p>

060

061<?php endif; ?> 062<?php endif; ?> 063

064<?php if('open'== $post->comment_status) : ?> 065<h3 id="respond">Berikan Komentar Anda</h3> 066

067<!-- Jika setting komentar membutuhkan pengunjung login terlebih dahulu untuk memberikan komentar, script ini dieksekusi-->

068<?php if( get_option('comment_registration') && !$user_ID) : ?> 069

<p>You must be <a href="<?php echo get_option('siteurl');

?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">logged in</a> to post a comment.</p>

070

071<!-- Jika setting komentar terbuka, script ini dieksekusi --> 072<?php else: ?>

method="post"id="commentform"> 074

075<!-- Jika pengakses halaman sedang login, script ini yang dieksekusi--> 076<?php if( $user_ID) : ?>

077

<p>Logged in as<a href="<?php echo get_option('siteurl');

?>/wp-admin/profile.php"><?php echo$user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout"title="Log out of this account">Log out &raquo;</a></p>

078

079<!-- Jika pengakses alaman tidak sedang login, form ini yang muncul--> 080<?php else: ?>

081

<p><input type="text"name="author"id="author"value="<?php echo $comment_author; ?>"size="22"tabindex="1"<?php if($req) echo "aria-required='true'"; ?> />

082<label for="author"><small>Nama <?php if($req) echo"(required)"; ?></small></label></p>

083

084

<p><input type="text"name="email"id="email"value="<?php echo $comment_author_email; ?>"size="22"tabindex="2"<?php if($req) echo "aria-required='true'"; ?> />

085<label for="email"><small>E-Mail (tidak akan dipublikasikan) <?php if ($req) echo"(required)"; ?></small></label></p>

086

087<p><input type="text"name="url"id="url"value="<?php echo $comment_author_url; ?>"size="22"tabindex="3"/>

088<label for="url"><small>Website</small></label></p> 089

090<?php endif; ?> 091

092<!--<p><small><strong>XHTML:</strong> You can usethese tags: <code><?php echoallowed_tags(); ?></code></small></p>-->

093

094<p><textarea name="comment"id="comment"cols="100%"rows="10" tabindex="4"></textarea></p>

095

096<p><input name="submit"type="submit"id="submit"tabindex="5"value="Submit Comment"/>

097<input type="hidden"name="comment_post_ID"value="<?php echo $id; ?>"/> 098</p>

099<?php do_action('comment_form', $post->ID); ?> 100

101</form> 102

login ?> 104

105<?php endif; // hapus baris ini dan semuanya akan menjadi mimpi buruk?>

Wow. cukup panjang bukan? kami tidak akan menjelaskan perintah2 yang terdapat pada comments.php karena itu akan membuat post ini menjadi terlalu panjang. Namun ketika anda sudah men-savenya di notepad ++ nanti, anda akan dapat melihat penjelasan dari tag, yang kami buat di file comments.php ( berwarna hijau )

Membuat single.php

single.php adalah file yang mendefinisikan apa saja yang akan di tampilkan pada halaman post ( halaman post adalah halaman yang menampilkan post dan komentarnya ). ketika anda

mengakses halaman post, file ini yang digunakan sbagai kerangka halaman tersebut. Langsung saja langkahnya :

1. buat file baru di notepad ++

2. copypaste semua konten index.php ke file baru tersebut, lalu save dengan nama single.php

3. hapus tag <?php comments_popup_link(‘No Comments’, ’1 Comment’, ‘%

Comments’); ?>. mengapa dihapus? karena pada post, metadata tentang jumlah

komentar tidak akan ditampilkan

4. ganti tag<div class=”navigation”><?php posts_nav_link(); ?></div> dengan <div

class=”navigation”><?php previous_post_link(‘&laquo; %link’) ?><br /><?php next_post_link(‘ %link &raquo;’) ?></div>

5. setelah tag yang tadi kita save, ketik / copypaste tag ini : <div id=”commentall”><?php

comments_template(); ?></div> TEPAT SETELAH TAG YANG BARU KITA

GANTI TADI lalu save. single.php beres

Penjelasan :

Tag pada poin ke 3 merupakan perintah untuk menampilkan jumlah komentar

Tag pada poin ke 4 merupakan link ke post selanjutnya dan post sebelumnya, dengan link berupa judul post

tag pada poin ke 5 merupakan perintah untuk me load comments.php pada halaman yang ada

Membuat page.php

page.php adalah file yang mendefinisikan apa saja yang akan ditampilkan pada halaman statis ( page ) wordpress. contoh : halaman about me. Ok, langsung saja langkah pembuatannya :

2. copypaste semua konten single.php ke file baru tersebut, lalu save dengan nama page.php 3. hapus tag <?php _e(‘Category :’); ?> <?php the_category(‘, ‘) ?> <?php _e(‘| ‘);?>

<?php the_tags(); ?> <?php _e(‘| ‘);?>. Mengapa dihapus? karena halaman statis

wordpress tidak memiliki category dan tags

4. ganti <?php previous_post_link(‘&laquo; %link’) ?><br /><?php next_post_link(‘

%link &raquo;’) ?> dengan <?php link_pages(‘<p><strong>Pages:</strong> ‘, ‘</p>’, ‘number’); ?>

5. Save. page.php beres.

Penjelasan :

tag <?php the_category(‘,’ )?> merupakan tag untuk memanggil category dari post

tag <?php the_tags();?> merupakan tag untuk memanggil tags dari post

tag pada poin ke 4 merupakan tag untuk memanggil link jika halamana post di “break

this post”

Membuat archive.php

archive.php adalah file yang mendefinisikan apa saja yang akan ditampilkan pada bagian archive, tag, dan category. Lankah cukup sederhana :

1. buat file baru di notepad ++ ( Ctr + N )

2. copypaste semua konten index.php, ingat y, index.php, ke file baru tersebut. Lalu save dengan nama archive.php

3. ganti tag <?php the_content(); ?> dengan <?php the_excerpt(); ?> 4. Save. archive.php beres

Penjelasan :

tag pada poin ke 3 merupakan tag untuk memanggil excerpt / ringkasan dari post yang dimaksud

Membuat search.php

search.php adalah file yang mendefinisikan apa – apa yang tampil pada halaman “hasil pencarian”. Well, yang satu ini cukup mudah :

1. buat file baru di notepad ++ ( Ctr + N )

2. Copypaste semua konten archive.php, lalu save dengan nama search.php 3. ketik / copypaste tag <h2>Hasil Pencarian Untuk “<span><?php echo $s;

?></span>”</h2> tepat setelah tag <?php if(have_posts()):?>

4. Ganti tag ini : <?php _e(“The page you’ve requested does not exist.

Suggestions:<ul><li>Check the spelling of the address you typed</li><li>If you are still having problems, please contact us</li></ul>”); ?> dengan <?php _e(“Tidak ada halaman yang sesuai untuk kata kunci”); ?> “<?php echo $s; ?>”

search.php beres

Penjelasan :

tag pada poin ke 3, <?php echo $s; ?> merupakan tag untuk memanggil keyword yang digunakan untuk pencarian

tag pada poin ke 4 merupakan tag untuk memanggil kalimat yang disetting untuk keluar jika pencarian tidak menghasilkan apa – apa

Dokumen terkait