Anda tanya Eizil jawab #siri 1

Anda tanya Eizil jawab #siri 1

Assalamualaikum dan selamat pagi semua,

seperti yang diumumkan tempoh hari, khidmat blogger digantikan dengan slot Anda tanya Eizil jawab, semua soalan yang berkenaan akan cuba dijawab dalam artikel di sini, sekiranya anda ada bertanyakan soalan, sila pastikan anda mengikuti setiap artikel dalam kategori ini. Semenjak pengumuman tempoh hari, ada tujuh soalan setakat ini, tetapi aku tidak akan menjawab semua soalan dalam artikel kali ini, kerana ada yang memerlukan artikel khusus untuk menjawabnya.

Soalan #1

Soalan pertama ini diajukan oleh abang Affan kita yang bertanyakan Boleh kongsikan tutorial buat sticky/fixed navigation bar macam di blog Denaihati.com? Terima kasih.

Pastinya boleh, untuk mendapatkan navigasi yang kekal pada posisi atas header kita, perkara yang paling penting adalah kod css seperti berikut:

nav{
	position:fixed;
	z-index:10;
}

Dua komponen ini akan membolehkan navigasi kita kekal pada kedudukannya, dan z-index itu untuk memastikan elemen-elemen lain berada di bawah navigasi tersebut apabila kita cuba melayari halaman yang terlibat. Pastinya anda boleh menambah lebih banyak komponen css dalam kod terbabit untuk menjadikan navigasi anda tampak menarik. Contoh kod html dan css untuk navigasi tetap adalah seperti berikut:

	
nav{
	position:fixed;
	height: 40px;
	width: 100%;
	z-index:10;
	background-color: #333;
}

Anda boleh melihat bagaimana contoh ini pada halaman Demo Navigasi Kekal ».


Soalan #2

Soalan seterusnya adalah daripada bro Hafizul yang bertanyakan Eizil,boleh tak ajarkan sy mcm mana nk buat rss reader untuk simpan url blog rakan blogger?

Jika soalan ini berkaitan ingin memaparkan entri terkini daripada rakan-rakan blogger di sidebar, anda boleh mencuba plugin Feed Reading Blogroll, ianya berfungsi seperti bloglist gadget yang terdapat pada blogger.com. Harap ini menjawab soalan yang dikemukakan, jika tidak, boleh perincikan penerangan mengenai soalan ini dalam borang yang disediakan.

Soalan #3

Soalan terakhir dalam sesi kali ini adalah daripada bro JebengOtaiā„¢ yang bertanyakan Bro Eizil xder projek utk bina tema wordpress terpantas ker?.. :)

Sepatutnya tahun 2012 memang akan melepaskan satu theme percuma yang mempunyai fungsi-fungsi sepertimana theme premium kepada semua, namun theme tersebut masih dalam proses pembangunan, dan tinggal kurang 2 bulan sebelum tahun 2012 tamat dan dalam keadaan sekarang ini, kemungkinan theme itu akan dapat dilepaskan pada tahun ini adalah amat tipis, jadi boleh nantikan theme tersebut dilepaskan pada tahun 2013 insyaALLAH.


Kepada rakan-rakan lain yang telah mengemukakan soalan, tetapi masih belum berjawab dalam sesi kali ini, usah gusar, semua soalan akan dijawab secepat mungkin dalam artikel yang berlainan. Sekiranya ada rakan-rakan yang ingin mempromosikan slot perkhidmatan ini di halaman masing-masing, bolehlah menggunakan banner-banner di bawah untuk tujuan tersebut.




Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
09 November 2012 07:00
43 komen

WordPress: Cara menukar table_prefix

WordPress: Cara menukar table_prefix

Assalamualaikum dan selamat pagi,

kali ini sekadar ingin berkongsi cara bagaimana untuk menukar table_prefix WordPress agar tidak mengalami sebarang gangguan, aku ada berkongsi dalam Panduan Ringkas Keselamatan WordPress berkenaan perlunya menukar table_prefix default wp_ kepada table_prefix yang lain. Satu cara mudah adalah dengan menggunakan plugin Wp Prefix Changer, tetapi mungkin anda akan mengalami masalah, sekiranya user database yang kita guna untuk database WordPress itu tidak mempunyai akses penuh. Dalam artikel kali ini, aku akan berkongsi cara untuk menukarkan table_prefix ini secara manual.

Pertama sekali, apa yang perlu kita buat adalah untuk backup terlebih dahulu database WordPress kita, persediaan awal adalah penting, agar kita tidak menyesal di kemudian hari kerana kesilapan yang kita lakukan. Setelah selesai membuat backup, kita boleh memulakan proses ubahsuaian table_prefix WordPress kita.

Langkah kedua.

letakkan fail .maintenance ke directory WordPress anda. Ini untuk mengelakkan daripada pelawat yang cuba untuk melayari blog anda melihat sebarang kesalahan PHP dan sebagainya semasa anda melakukan proses penukaran table_prefix ini. Sila gunakan kod di bawah untuk dimuatkan kedalam fail .maintenance anda.


 $value ) {
        if ( stristr($cookie, 'wordpress_logged_in_') )
            $loggedin = true;
    }
    return $loggedin;
}
if ( ! stristr($_SERVER['REQUEST_URI'], '/wp-admin') && ! stristr($_SERVER['REQUEST_URI'], '/wp-login.php') && ! is_user_logged_in() )
    $upgrading = time();
?>

Seterusnya, jika kita membuka fail wp-config.php, kita akan dapat melihat baris seperti di bawah:

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

kita ingin menukar wp_ itu kepada perkataan lain, hanya nombor, huruf dan underscore dibenarkan untuk table_prefix ini, anda boleh memilih gabungan yang anda suka, dalam contoh artikel kali ini aku akan menggunakan 31z1l_ sebagai table_prefix (peringatan: Sila jangan tiru table_prefix ini untuk mengelakkan pihak ketiga meneka table_prefix yang anda gunakan).

setelah anda mengubah table_prefix dalam wp-config.php, anda bolehlah memuat naik fail tersebut.

Langkah keempat perlu dilakukan dalam phpmyadmin, anda perlu mengubah semua table yang awalannya menggunakan wp_ kepada table_prefix yang baru, dalam contoh kali ini adalah 31z1l_ , anda boleh menggunakan kod SQL di bawah untuk melakukan ubahsuaian tersebut.


Rename table wp_commentmeta to 31z1l_commentmeta;
Rename table wp_comments to 31z1l_comments;
Rename table wp_links to 31z1l_links;
Rename table wp_options to 31z1l_options;
Rename table wp_postmeta to 31z1l_postmeta;
Rename table wp_posts to 31z1l_posts;
Rename table wp_terms to 31z1l_terms;
Rename table wp_term_relationships to 31z1l_term_relationships;
Rename table wp_term_taxonomy to 31z1l_term_taxonomy;
Rename table wp_usermeta to 31z1l_usermeta;
Rename table wp_users to 31z1l_users;

jika anda menggunakan plugins yang menambah table baru, anda perlu mengubahsuai table tersebut juga.

Seterusnya anda perlu buka table 31z1l_options (nama asal adalah wp_options), klik pada browse table, kemudian dalam option_name, cari wp_user_roles (rujuk gambar di bawah), tukar nama wp_user_roles ini kepada prefixbaru_user_roles (atau dalam contoh kali ini 31z1l_user_roles).

wp_user_roles ini mungkin tidak akan kelihatan pada halaman pertama table anda, sila cari sampai jumpa untuk mengelakkan sebarang masalah yang tidak diingini berlaku. :D

Langkah berikutnya, buka table 31z1l_usermeta (nama asal wp_usermeta), cari meta_key yang mempunyai wp_ pada awalannya, tukar kepada table_prefix yang baru. Contoh meta_key adalah seperti di bawah:

jika anda mempunyai banyak user, meta_key ini akan berulang, sila pastikan anda mengubah semua meta_key yang terdapat dalam table anda.

Selepas anda selesai menukar meta_key ini, proses penukaran table_prefix telah selesai, anda boleh delete fail .maintenance sebentar tadi, dan layari laman sesawang dengan table_prefix yang baru. Jika ada sebarang persoalan mengenai tutorial kali ini, sila gunakan ruangan komen untuk bertanyakan perkara yang anda tidak faham. Sekiranya anda rasa ragu-ragu untuk melakukan tutorial ini atas apa sebab sekalipun, perkhidmatan Profesional untuk keselamatan WordPress anda sedia untuk digunakan.

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
04 August 2011 07:18
22 komen

WordPress: Cara menggunakan filters

WordPress: Cara menggunakan filters

Assalamualaikum dan selamat hari rabu semua,

sudah lama rasanya tidak menulis tutorial berkenaan WordPress, harini aku sekadar ingin berkongsi cara untuk menggunakan filters di dalam plugin mahupun theme kita. Filters ini berguna seandainya kita ingin mengubah sesuatu perkara di dalam WordPress itu, tanpa menyentuh file utama di dalam WordPress tersebut. Tujuan utama kenapa kita tidak mahu menyentuh fail utama WordPress adalah untuk mengelakkan daripada perubahan yang kita lakukan hilang apabila proses kemaskini WordPress dilakukan.

Dalam artikel kali ini, aku akan menggunakan wp-login.php sebagai contoh untuk tutorial kali ini, anda boleh membuka wp-login.php dan cari line 87, aku menggunakan fail dari WordPress 3.1.3 untuk contoh kali ini, anda akan dapat melihat baris kod seperti di bawah


Dalam baris kod tersebut, anda dapat melihat baris kod berikut

echo apply_filters('login_headerurl', 'http://wordpress.org/');

ini adalah url yang akan terpapar pada halaman wp-login di bahagian logo. Rujuk gambar di bawah.

Sekiranya kita ingin menukarkan url tersebut kepada url lain mahupun url kita sendiri. kita hanya perlu menggunakan kod berikut.

add_filter("login_headerurl","custom_login_url");

function custom_login_url(){
	return "http://www.eizil.com";
}

Anda boleh memasukkan kod di atas ini ke dalam functions.php yang boleh didapati di dalam folder theme anda, sekiranya tiada fail functions.php, anda hanya perlu menambah fail tersebut ke dalam folder theme anda.

Mari kita lihat satu persatu apa yang kita lakukan dalam kod sebentar tadi.

add_filter("login_headerurl","custom_login_url");

untuk baris kod ini, kita menyuruh WordPress untuk membaca isi kandungan baru untuk filter bernama "login_headerurl" yang di panggil dari function "custom_login_url", kemudian kita tulis pula function tersebut.

function custom_login_url(){
	return "http://www.eizil.com";
}

Contoh kali ini, function ini sekadar memaparkan url baru untuk filter tersebut, url http://wordpress.org tadi telah ditukarkan kepada url http://www.eizil.com, apabila kita telah memasukkan baris-baris kod ini ke dalam functions.php, wp-login kita akan bertukar dari url wordpress.org kepada url eizil.com.

Teknik yang sama boleh digunakan untuk filter-filter yang lain juga, anda hanya perlu melihat kedudukan dan apa fungsi filter tersebut di dalam fail sistem WordPress ini kemudian anda boleh mengubahsuai mengikut keperluan anda hanya dengan menggunakan functions.php. Aku akan berkongsi cara menggunakan action pula dalam artikel akan datang.

Selamat mencuba.

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
22 June 2011 16:40
31 komen

WordPress: Menggunakan Custom Post Type

WordPress: Menggunakan Custom Post Type

Assalamualaikum dan salam pagi Isnin kepada semua,

kali ni ingin berkongsi cara untuk menggunakan Custom Post Type pada WordPress. Walaupun ada yang berpendapat bahawa dengan Posts dan Pages, ianya sudah mencukupi untuk membina sebuah laman web yang menarik, tetapi percayalah, dengan menggunakan kemudahan Custom Post Type ini, ianya akan memudahkan anda untuk membina laman web yang lebih menarik dan mudah untuk diuruskan. Kali ini aku akan berkongsi perkara asas untuk menggunakan Custom Post Type ini, fungsi-fungsi yang lebih mendalam akan dikongsi pada artikel yang berlainan untuk mengelakkan sebarang kekusutan atau lambakan info dalam satu artikel.

Terlebih dahulu, seperti artikel Include Widget in Themes kita akan membuka file functions.php untuk tujuan menambah kod Custom Post Type ini, kod yang perlu di masukkan adalah seperti di bawah:


register_post_type( 'product', array(
					'labels' => array(
								'name' => _x('Products', 'post type general name'),
								'singular_name' => _x('Product', 'post type singular name'),
								'add_new' => _x('Add New', 'product'),
								'add_new_item' => __('Add New Product'),
								'edit_item' => __('Edit Product'),
								'new_item' => __('New Product'),
								'view_item' => __('View Product'),
								'search_items' => __('Search Products'),
								'not_found' =>  __('No products found'),
								'not_found_in_trash' => __('No products found in Trash'), 
								'parent_item_colon' => '',
								'menu_name' => 'Products'
							
							  ),
					'public' => true,
					'show_ui' => true,
					'capability_type' => 'post',
					'hierarchical' => false,
					'rewrite' => array('slug' => 'product'),
					'query_var' => true,
					'supports' => array(
								'title',
								'editor',
								'excerpt',
								'trackbacks',
								'custom-fields',
								'comments',
								'revisions',
								'thumbnail',
								'author',
								'page-attributes',)
) );

Selepas anda memasukkan kod di atas ke dalam functions.php anda, dan memuat naik ke atas server, paparan pada menu seperti di bawah akan kelihatan.

Mari kita lihat serba sedikit kod yang telah digunakan tadi yang penting untuk kita ambil tahu.

register_post_type( 'product',
- kod ini digunakan untuk menambah Custom Post Type yang diberi nama product, anda boleh menggunakan nama lain bergantung kepada keperluan.

'labels' =>
-labels ini digunakan untuk menukarkan paparan Posts pada bahagian editor kepada nama product yang kita ingin gunakan, terdapat banyak parameter yang kita boleh gunakan seperti yang tersenarai di atas, anda boleh mengabaikan labels ini dan menggantikan dengan 'label' => 'Products', (sebagai contoh).

'rewrite' => array('slug' => 'product'),
-kod ini pula adalah untuk menukar permalinks yang akan digunakan, contohnya url/product/nama-entri-anda ataupun url/?product=test

'supports' =>
-kod ini pula untuk mengaktifkan fungsi-fungsi yang boleh digunakan bersama dengan Custom Post Type ini, anda boleh menambah => false, jika anda ingin nyahaktifkan fungsi, contohnya 'custom-fields' => false,

Dengan kod ini, anda sudah boleh menambah isi kandungan kepada setiap Custom Post Type anda, tetapi masih ada satu lagi kekurangan, pastinya anda ingin memaparkan isi kandungan Custom post type ini di dalam theme anda bukan? Kod seterusnya adalah untuk memaparkan Custom post type.

Aku akan ambil contoh index.php, anda cari kod


if(have_posts()):	
				while (have_posts()) : the_post();

kemudian sebelum kod ini, anda perlu menambah custom query untuk paparan Custom Post Type anda. Custom query adalah seperti berikut:


query_posts("post_type=product");

anda perlu menukarkan post_type itu kepada jenis Custom post type yang telah anda sediakan, sekiranya anda menggunakan nama buku, sila pastikan post_type tersebut adalah buku. Senarai parameter yang boleh digunakan bersama-sama query_posts ini boleh dilihat di laman Codex WordPress : Function reference/query Posts

Semua Custom post type anda akan terpapar pada page yang telah anda tetapkan.

Jika anda ingin mencuba bagaimana paparan apabila kod di atas digunakan, sila ke laman Demo ini dan login dengan butiran di bawah:

username: Customposttype
password: 123456

Anda akan dapat melihat paparan seperti di bawah, sila klik pada Products >> Add new untuk menulis entri baru.

Tambahan kod jika anda ingin mengubah mesej yang terpapar apabila entri telah dikemaskini atau diterbitkan, anda boleh menggunakan kod dibawah ini untuk berbuat demikian,


//add filter untuk memastikan perkataan product atau Product akan terpapar semasa user mengemaskini entri
add_filter('post_updated_messages', 'product_updated_messages');

function product_updated_messages( $messages ) {
  global $post, $post_ID;

  $messages['product'] = array(
    0 => '', // Unused. Messages start at index 1.
    1 => sprintf( __('Product updated. View product'), esc_url( get_permalink($post_ID) ) ),
    2 => __('Custom field updated.'),
    3 => __('Custom field deleted.'),
    4 => __('Product updated.'),
    /* translators: %s: date and time of the revision */
    5 => isset($_GET['revision']) ? sprintf( __('Product restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
    6 => sprintf( __('Product published. View product'), esc_url( get_permalink($post_ID) ) ),
    7 => __('Product saved.'),
    8 => sprintf( __('Product submitted. Preview Product'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
    9 => sprintf( __('Product scheduled for: %1$s. Preview Product'),
      // translators: Publish box date format, see http://php.net/date
      date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
    10 => sprintf( __('Product draft updated. Preview Product'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
  );

  return $messages;
}

Fail contoh Custom Post Type ini boleh di muat turun di bawah

Custom Post Types » Download

Selamat mencuba.

Kod adalah rujukan dari Codex WordPress : Function Reference/register post type

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
06 December 2010 10:21
5 komen

Cara mudah memaparkan twitter terkini di blog anda

Cara mudah memaparkan twitter terkini di blog anda

Assalamualaikum dan selamat pagi semua,

pagi ni, hujan turun dengan lebatnya, menghiasi suasana pagi, dingin sungguh pagi ini. Badan ini seperti sudah tidak berdaya menahan, pagi ni bangun dengan selesema dan batuk pula, mungkin kerana cuaca yang tidak menentu, hujan dan panas silih berganti, terkadang siang begitu panas, dan kemudian diserikan pula dengan hujan yang berlarutan. Sesuatu yang sudah lama tidak aku alami. Di harap ianya tidak menyebabkan aku demam teruk pula.

Tempoh hari, dalam artikel Minggu yang agak selesa, bro tengkorak emas telah bertanya mengenai bagaimana aku meletakkan twitter terkini dalam laman Acoostic Design tersebut. Harini aku akan berkongsikan caranya, terdapat banyak cara sebenarnya, tetapi ini adalah salah satu cara yang paling mudah untuk kita guna. Mari kita lihat.

Ada beberapa perkara yang perlu kita lakukan, pertama adalah untuk meletakkan javascript untuk memaparkan twitter tersebut dalam web kita.


Kemudian, setelah meletakkan javascript tersebut di bahagian footer atau header anda, kita akan membuat panggilan untuk twitter id kita. Sila gunakan kod di bawah untuk tujuan tersebut.

$twitterID = "eizil"; 
$twitterURL = "http://twitter.com/statuses/user_timeline/".$twitterID.".json?callback=twitterCallback2&count=1";

Sila gantikan $twitterID itu dengan id twitter anda, kemudian kita perlu menambah javascript di bawah pula untuk memaparkan status terkini kita di twitter.


Gabungan kod yang telah ditulis sebentar tadi adalah seperti di bawah


$twitterID = "eizil"; 
$twitterURL = "http://twitter.com/statuses/user_timeline/".$twitterID.".json?callback=twitterCallback2&count=1";

Anda boleh meletakkan kod ini sama ada di footer atau di header, tetapi sebaiknya letak di footer untuk tujuan optimasi laman web yang lebih baik.

Kemudian kita perlu menyediakan ruangan untuk status ini dipaparkan, kod html di bawah akan digunakan untuk tujuan tersebut.


Seterusnya, jika ingin paparannya sama seperti di Acoostic Design tersebut, kita akan menambah css berikut ke dalam page kita.

#twitter {background:url(images/twitter-bg.gif) 0px 30px no-repeat;margin-bottom:25px; width:300px;}
#twitter-top {background:url(images/twitter-top.gif)  0 0 no-repeat;}
#twitter_update_list {list-style:none;margin:0;padding:0;background:url(images/twitter-bot.gif)  left bottom no-repeat;min-height:80px;}
#twitter_update_list li {list-style: none;margin:0;font-size:12px;padding:25px 60px 15px 20px;line-height: 1.3}
#twitter_update_list li span {display: block}

Kemudian anda akan dapat melihat status twitter terkini anda di mana-mana laman yang anda letakkan kod ini. Kepada yang ingin mencuba, bolehlah memuat turun fail lengkap berserta dengan gambar yang digunakan di pautan laman web di bawah.

Status Twitter Terkini » Download | Status Twitter Terkini » Demo

Kepada pengguna WordPress, anda boleh menggunakan pelbagai plugin atau widget untuk mencapai perkara yang sama. Hanya perlu search twitter di bahagian pencarian plugin/widget. Selamat mencuba

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
02 December 2010 11:25
10 komen

WordPress: Include widget in themes

WordPress: Include widget in themes

Assalamualaikum dan selamat malam semua,

harini sekadar ingin berkongsi sedikit kod untuk membolehkan sesiapa yang membangunkan Themes untuk WordPress ini untuk menambah Widget untuk kegunaan pengguna theme tersebut dari dalam file theme itu sendiri. Jika anda menggunakan theme biasa, anda perlu memasukkan kod ini ke dalam file functions.php dan sekiranya anda menggunakan theme framework Thesis, anda bolehlah memasukkan kod ini ke dalam custom_functions.php. Kedua-duanya akan memberikan kita hasil yang sama.

Terlebih dahulu untuk membina widget, kita tambah kod di bawah di dalam file yang telah dinyatakan di atas, function di bawah ini akan digunakan untuk mengisi isi kandungan yang akan terpapar pada widget yang kita gunakan.

function widgetPertamaSaya(){

         echo "Ini adalah isi kandungan widget saya";

}

Sebagai contoh, aku sekadar menulis satu perkataan untuk contoh kali ini, anda boleh menambah fungsi2 yang lebih rumit berdasarkan keperluan anda. Kemudian kita akan menambah function yang akan digunakan untuk memaparkan function di atas dalam struktur Widget WP.

function widget_widgetPertamaSaya($args) {
  extract($args);
  echo $before_widget;
  echo $before_title;
  echo $after_title;
  widgetPertamaSaya();
  echo $after_widget;
}

Kemudian kita perlu menambah kod untuk memasuk function yang telah kita tulis di atas ke dalam sistem WordPress. Sila gunakan hooks di bawah untuk tujuan tersebut.

function myThemeWidget_init(){

  register_sidebar_widget(__('Widget Pertama Saya'), 'widget_widgetPertamaSaya');		
  
}
add_action("after_setup_theme", "myThemeWidget_init");	

Anda boleh meletakkan semua widget yang anda ingin sertakan bersama-sama theme anda dalam function myThemeWidget_init ini. Kod penuh selepas siap adalah seperti di bawah.


function widgetPertamaSaya(){

         echo "Ini adalah isi kandungan widget saya";

}

function widget_widgetPertamaSaya($args) {
  extract($args);
  echo $before_widget;
  echo $before_title;
  echo $after_title;
  widgetPertamaSaya();
  echo $after_widget;
}

function myThemeWidget_init(){

  register_sidebar_widget(__('Widget Pertama Saya'), 'widget_widgetPertamaSaya');		
  
}
add_action("after_setup_theme", "myThemeWidget_init");


Semoga tips ini membantu anda untuk membangunkan theme yang lebih mantap dan menarik untuk digunakan oleh para pengguna WordPress. Selamat mencuba.

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
27 November 2010 19:30
2 komen

WordPress : Papar thumbnail bersama YARP Plugin

WordPress : Papar thumbnail bersama YARP Plugin

Assalamualaikum dan Salam September semua,

harini sekadar nak berkongsi kaedah atau teknik untuk menambah thumbnail ke dalam senarai Yet Another Related Post Plugin (YARPP). Sebelum ni, aku sekadar menggunakan template asas yang hanya menyenaraikan tajuk artikel yang berkaitan, tetapi siang tadi penambahan seperti contoh di bawah telah dilakukan, untuk memberikan penampilan yang lebih menarik, ini adalah sebahagian daripada penambahbaikan yang akan dilakukan sepanjang bulan September ini. Aku tidak akan membincangkan kod yang aku gunakan, sekadar cara-cara untuk memasang fail ini.

-~~-

Langkah pertama, anda perlu memuat naik file yarpp-template-thumbnails.php ke dalam folder wp-content/themes/theme-anda/ yang anda gunakan.
kemudian muat naik juga fail gambar yarpp-thumbnail.jpg ke dalam folder wp-content/themes/theme-anda/images/ yang telah disediakan pada penghujung artikel ini.

Setelah 2 fail di atas dimuat naik, buka file style.css theme anda, kemudian tambah kod css berikut.

/* Related Posts */
ol.related-posts {clear:both; text-align:center; margin:10px 0px 0px 0px; padding:0;}
ol.related-posts li{width:130px; float:left; display:inline; margin-right:15px;; padding:0;}
ol.related-posts img{clear:both; padding:5px; background:#F7F7F7; border:1px solid #DDD;}
ol.related-posts a{clear:both; display:block; border:none; text-decoration:none;}
ol.related-posts li{font-size:12px;}

Setelah itu, pergi ke ruangan setting untuk YARPP di dalam Dashboard WordPress anda, dan klik pada Display using a custom template file more> dan pilih yarpp-template-thumbnails.php untuk template file.
Yarpp setting Eizil

Langkah seterusnya adalah untuk memastikan thumbnail yang dipaparkan adalah cantik dan menarik, jika theme anda tidak mempunyai thumbnail generator, sila download dari pakej di bawah. Apa yang anda perlu lakukan untuk menggunakan thumbnail generator ini adalah

  • Muat naik file thumb.php ke dalam folder /wp-contents/themes/theme-anda/
  • kemudian tambah folder /cache ke dalam folder /wp-contents/themes/theme-anda/ hasilnya akan menjadi /wp-contents/themes/theme-anda/cache/
  • Chmod 777 folder cache anda.

Setelah selesai melakukan perkara ini, thumbnail anda akan kelihatan di penghujung artikel seperti di bawah. Skrip dan template asal adalah dari buildinternet.com, tetapi aku telah menambah kod untuk mengenalpasti image dari custom field – image, atau dari attachment yang digunakan di dalam sebarang artikel, supaya thumbnail akan dihasilkan secara automatik, walaupun tanpa custom field image.

[Muat turun fail-fail Thumbnails bersama YARPP]

Jika terdapat sebarang masalah untuk memasang thumbnail ini, sila kemukakan soalan di ruangan komen, terima kasih

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
02 September 2010 02:42
29 komen

Manfaat contest Hidup Seorang Blogger

Manfaat contest Hidup Seorang Blogger

Assalamualaikum dan selamat petang semua,

harini hampir seharian dihabiskan dengan kerja-kerja luar, pagi-pagi lagi sudah keluar ke Bandar Puteri di Puchong untuk bersama-sama rakan-rakan untuk berkongsi ilmu dan idea. Perjumpaan yang dilakukan adalah untuk memajukan antara satu sama lain. Kali ini perkongsian ilmu mengenai pembinaan laman web menggunakan WordPress dilakukan, syukur alhamdulillah, segalanya berjalan lancar, walaupun pada permulaannya terdapat masalah untuk mendapat capaian internet.

Hidup Seorang Blogger

Contest denaihati

Mungkin ramai yang sedia maklum mengenai contest Hidup Seorang Blogger yang telah dianjurkan oleh bro Denaihati. Harini merupakan hari para peserta perlu menerbitkan entri pertama untuk digunakan di dalam contest tersebut, berderet-deret entri yang berasaskan kata kunci yang sama diterbitkan sejak malam tadi selepas jam 12. Aku bukanlah peserta contest tersebut, tetapi aku ingin mengambil peluang untuk belajar dan menuntut ilmu dari semua peserta-peserta contest ini.

Cara contest ini dijalankan ialah peserta akan perlu bertanding di paparan carian Google dengan kata kunci yang sama iaitu Hidup Seorang Blogger, malam tadi aku sempat melihat kedudukan yang silih berganti antara satu blog dengan blog yang lain. Peluang ini tidak aku biarkan begitu sahaja untuk belajar sedikit sebanyak ilmu SEO yang digunakan oleh setiap peserta. Bukanlah dengan cara menerjah setiap empunya blog dan bertanya mereka soalan demi soalan, tetapi aku sekadar memerhati dari jauh.

Setiap peserta mempunyai teknik yang berbeza-beza, setiap teknik menjaminkan kedudukan mereka di halaman pertama carian Google, sepertimana yang dituntut oleh contest ini. Antara perkara yang aku kaji adalah, bagaimana artikel ditulis oleh setiap peserta, berapa banyak kata kunci yang digunakan di dalam laman web, bagaimana pun penggunaan meta description dan keyword mereka, dan bagaimana pula susun atur struktur laman web peserta tersebut. Begitu banyak yang boleh dipelajari jika kita mengambil sedikit masa untuk menganalisa setiap penyertaan. Memang ianya menggunakan masa yang panjang, tetapi aku juga tidak menghabiskan masa dengan mengkaji web para peserta sahaja.

Di sebabkan aku sentiasa memantau hasil carian di Google, aku akan dapat melihat beberapa web yang turun atau naik di dalam senarai carian, web-web ini yang menarik perhatian dan mendapat sedikit dari masa aku untuk dijadikan bahan kajian. Tetapi semalam aku tidur awal, tidak begitu banyak yang sempat aku korek, dan harini juga aku menjalani kehidupan seorang pengaturcara bebas yang meminta aku untuk bekerja di luar rumah. Semoga lebih banyak ilmu yang dapat diperolehi hasil kajian daripada laman-laman web peserta contest ini.

Kepada rakan-rakan blogger yang lain, jika anda memang seorang yang sering kehausan dengan ilmu-ilmu berkaitan dengan SEO ini, jangan lepaskan peluang keemasan ini untuk mengkaji dan menggunakan teknik-teknik yang digunakan oleh rakan-rakan yang lain untuk diserap ke dalam blog kita masing-masing. Selamat berbuka semua.

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
22 August 2010 18:23
18 komen

Bigdump – pindahkan database anda dengan mudah

Bigdump – pindahkan database anda dengan mudah

Assalamualaikum dan selamat pagi semua,

semalam merupakan hari yang agak kelam kabut bagi aku, disebabkan tayar kereta yang pancit, kemudian terpaksa menukar tayar kereta terlebih dahulu, sebelum ke bengkel. Kita hanya mampu merancang, tetapi hanya Dia yang menentukan. Apa yang penting, kita janganlah panik atau cemas dengan situasi yang dihadapi. Harini aku sekadar nak berkongsi penggunaan bigdump. Skrip ini digunakan untuk membantu kita dalam proses memuat naik atau import database mysql kita ke server.

Suka ataupun tidak, kadangkala kita terpaksa memasang semula database yang telah kita backup saban hari atas sebab-sebab yang tidak dapat dielakkan. Kadangkala saiz database ini mencecah ratusan Megabytes (Mb) atau jika terlalu banyak data yang tersimpan, mungkin hingga mencecah Gigabytes (Gb). Jika kita menggunakan fungsi import yang disediakan di dalam PhpMyAdmin contohnya, pasti kita akan menghadapi masalah dengan limit upload yang dikenakan oleh kebanyakan penyedia hosting. Disebabkan itu, kita akan menggunakan bigdump untuk melakukan proses import tersebut.

Terlebih dahulu muat turun bigdump dari laman web BigDump: The Staggered MySQL Dump Importer. Kemudian anda boleh buka file bigdump.php itu menggunakan notepad atau text editor kegemaran anda. Pergi ke baris 38 anda akan dapat melihat kod seperti di bawah

$db_server = 'localhost';
$db_name = ' ';
$db_username = ' ';
$db_password = ' ';

ini adalah butiran untuk database anda, $db_name merujuk kepada nama database anda, $db_username adalah nama pengguna database anda dan $db_password adalah kata laluan database anda. Setelah anda menukar butiran ini, anda bolehlah memuat naik file bigdump.php ke hosting anda, biasanya aku akan memuat naik di root directory (public_html / htdocs /www / atau sebagainya). Kemudian anda boleh menggunakan perisian ftp untuk memuat naik backup database anda tadi yang bersaiz besar tadi.

Selepas selesai memuat naik backup database anda tadi, anda bolehlah membuka domain anda, contohnya domainsaya.com/bigdump.php. Paparan yang hampir serupa seperti di bawah akan kelihatan.

Bigdump MySQL Importer

Bigdump

Kemudian anda hanya perlu klik pada Start Import kemudian bigdump akan import database anda secara berperingkat

Bigdump MySQL importer

Bigdump sedang melakukan proses import

Jika tiada masalah yang dihadapi, setelah selesai, bigdump akan memaparkan paparan telah berjaya di import. Pastikan anda padam file bigdump.php itu daripada server anda selepas digunakan, untuk mengelakkan perkara-perkara yang tidak diingini berlaku di kemudian hari. Jika terdapat sebarang persoalan, bolehlah kemukakan di ruangan komen di bawah, nanti aku cuba jawab atau selesaikan.

Penulis


Mohd Hadihaizil atau dikenali sebagai Eizil merupakan seorang pengaturcara laman web, beliau mula berkecimpung dalam bidang ini sejak tahun 2004, gemar dalam perkara berkaitan isu keselamatan dan pembangunan WordPress selain menulis di blog ini. Baca butiran lanjut di ruangan Kenali Eizil
19 August 2010 08:10
10 komen