Tips dan Trik Menggunakan functions.php di WordPress
Tips dan Trik Menggunakan functions.php di WordPress
Daftar Isi
Semua WordPress menggunakan file functions.php. Ini adalah semacam plugin yang kita bebas menggunakannya.
Sekarang, ada beberapa tips dan trik menggunakan file ini di WordPress untuk berbagai keperluan.
Setiap theme atau template memiliki functions.php. Gunanya memang supaya setiap orang bisa mendefinisikan fungsi dan feature dari theme masing – masing.
File ini gunanya mirip plugin dan bisa kita gunakan untuk menambah code snippets di WordPress.
Sekarang, kita bertanya.
Apa bedanya menggunakan functions.php dengan plugin yang khusus untuk 1 situs?
Menambah code snippet di functions.php lebih ringkas. Ini karena kita hanya perlu code yang kita perlukan saja.
Tetapi, code ini tidak bisa dibawa jika theme kita berubah. Harus kita copy paste codenya di theme yang baru.
Untuk plugin, kita hanya menginstal pluginnya. Jika berganti theme atau template, kita bisa mempertahankan fungsi pluginnya.
Tetapi, plugin biasanya kurang ringkas dibanding snippet sederhana.
Untuk penggunanannya tentu terserah kepada kita. Tetapi, kita melakukan banyak hal jika ingin menggunakan snippet di functions.php.
Beberapa diantaranya:
Tips dan Trik menggunakan functions.php di Wordpres
1. Menghapus versi WordPress kita:
Kita gunakan code berikut di functions.php.
functionwpb_remove_version() {return'';}add_filter('the_generator','wpb_remove_version');
2. Menambah logo dasboard custom.
functionwpb_custom_logo() {echo'<style type="text/css">#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;background-position: 0 0;color:rgba(0, 0, 0, 0);}#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {background-position: 0 0;}</style>';}//hook into the administrative header outputadd_action('wp_before_admin_bar_render','wpb_custom_logo')2.
3. mengganti footer di panel Admin wordpess.
functionremove_footer_admin () {echo'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.lawangtechno.com" target="_blank">Lawang Techno</a></p>';}add_filter('admin_footer_text','remove_footer_admin');
4. Tanggal copyright dinamis di footer
functionwpb_copyright() {global$wpdb;$copyright_dates=$wpdb->get_results("SELECTYEAR(min(post_date_gmt)) AS firstdate,YEAR(max(post_date_gmt)) AS lastdateFROM$wpdb->postsWHEREpost_status ='publish'");$output='';if($copyright_dates) {$copyright="© ".$copyright_dates[0]->firstdate;if($copyright_dates[0]->firstdate !=$copyright_dates[0]->lastdate) {$copyright.='-'.$copyright_dates[0]->lastdate;}$output=$copyright;}return$output;}
<?phpechowpb_copyright(); ?>
5. Mengganti warna background atau warna latar website.
functionwpb_bg() {$rand=array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');$color='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];echo$color;}
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>
6. Menambah ukuran gambar di WordPress.
add_image_size('sidebar-thumb', 120, 120, true );// Hard Crop Modeadd_image_size('homepage-thumb', 220, 180 );// Soft Crop Modeadd_image_size('singlepost-thumb', 590, 9999 );// Unlimited Height Mode
<?php the_post_thumbnail( 'homepage-thumb' ); ?>7. Menambah Menu di theme kita.
functionwpb_custom_new_menu() {register_nav_menu('custom-menu-saya',__('Custom Menu Saya'));}add_action('init','wpb_custom_new_menu');

<?phpwp_nav_menu(array('theme_location'=>'my-custom-menu','container_class'=>'custom-menu-class') );?>
8. Menambah FB dan Twitter di Author WordPress.
functionwpb_new_contactmethods($contactmethods) {// Add Twitter$contactmethods['twitter'] ='Twitter';//add Facebook$contactmethods['facebook'] ='Facebook';return$contactmethods;}add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

9. Menambah area widget di sidebar
// Register Sidebarsfunctioncustom_sidebars() {$args=array('id'=>'custom_sidebar','name'=> __('Custom Widget Area','text_domain'),'description'=> __('A custom widget area','text_domain'),'before_title'=>'<h3 class="widget-title">','after_title'=>'</h3>','before_widget'=>'<aside id="%1$s" class="widget %2$s">','after_widget'=>'</aside>',);register_sidebar($args);}add_action('widgets_init','custom_sidebars');
<?phpif( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?><!–Default sidebar info goes here–><?phpendif; ?>
10. Menempatkan RSS feed di bawah setiap post
functionwpbeginner_postrss($content) {if(is_feed()){$content='This post was written by Syed Balkhi '.$content.'Check out WPBeginner';}return$content;}add_filter('the_excerpt_rss','wpbeginner_postrss');add_filter('the_content','wpbeginner_postrss');
11. Menambahkan featured image di RSS feed
functionrss_post_thumbnail($content) {global$post;if(has_post_thumbnail($post->ID)) {$content='<p>'. get_the_post_thumbnail($post->ID) .'</p>'. get_the_content();}return$content;}add_filter('the_excerpt_rss','rss_post_thumbnail');add_filter('the_content_feed','rss_post_thumbnail');
12. Menunda posting RSS
functionpublish_later_on_feed($where) {global$wpdb;if( is_feed() ) {// timestamp in WP-format$now=gmdate('Y-m-d H:i:s');// value for wait; + device$wait='10';// integer// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff$device='MINUTE';//MINUTE, HOUR, DAY, WEEK, MONTH, YEAR// add SQL-sytax to default $where$where.=" AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";}return$where;}add_filter('posts_where','publish_later_on_feed');
13. Menonaktifkan RSS Feed di WordPress dengan functions.php
functionfb_disable_feed() {wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );}add_action('do_feed','fb_disable_feed', 1);add_action('do_feed_rdf','fb_disable_feed', 1);add_action('do_feed_rss','fb_disable_feed', 1);add_action('do_feed_rss2','fb_disable_feed', 1);add_action('do_feed_atom','fb_disable_feed', 1);
14. Mengecualikan kategori tertentu dari RSS Feed dengan functions.php:
functionexclude_category($query) {if($query->is_feed ) {$query->set('cat','-5, -2, -3');}return$query;}add_filter('pre_get_posts','exclude_category');
15. Cara mengganti panjang excerpt di WordPress dengan functions.php
functionnew_excerpt_length($length) {return100;}add_filter('excerpt_length','new_excerpt_length');
16. Cara membuat shortcode di widget.
// Enable shortcodes in text widgetsadd_filter('widget_text','do_shortcode');
17. Memberi warna berbeda untuk post ganjil dan genap di WordPress dengan functions.php.

functionoddeven_post_class ($classes) {global$current_class;$classes[] =$current_class;$current_class= ($current_class=='odd') ?'even':'odd';return$classes;}add_filter ('post_class','oddeven_post_class');global$current_class;$current_class='odd';
.even {background:#f0f8ff;}.odd {background:#f4f4fb;}