18 Jul

Tips dan Trik Menggunakan functions.php di WordPress

Tips dan Trik Menggunakan functions.php di WordPress

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.

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

     2.  Menambah logo dasboard custom.

Untuk mengganti logo di area Admin, kita bisa melakukannya dengan cara:
Mengupload logo kita sendiri di folder gambar theme kita. Kita beri nama sebagai “custom-logo.png”
Untuk ukuranya adalah 16 X 16 pixels.
Kemudian, kita tambahkan code snipper sebagai berikut:
function wpb_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 output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo')2.

    3.  mengganti footer di panel Admin wordpess.

Secara umum, di footer wordpress kita akan ada tulisan “Thank you for creating with WordPress”.
Bisa kita ganti dengan yang berikut:
function remove_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');
Anda bisa mengganti text dan link yang ingin kita tambahkan.

    4.  Tanggal copyright dinamis di footer

Jika kita mengedit tanggal hak sipta kita di WordPress secara manual, maka tanggalnya tidak bisa berganti tahun depan. Jika kita ingin tanggalnya tetap bisa berganti, silahkan menambahkan code berikut:
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_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;
}
Setelah menambahkan fungsi ini, kita perlu membuka footer.php dan menambah code sebagai berikut ditempat kita ingin tanggal kita muncul.
<?php echo wpb_copyright(); ?>
Fungsi diatas akan melihat tanggal pertama posting kita dan juga tanggal terakhir posting. Kemudian, bisa menampilkan tahun diantaranya.

   5.  Mengganti warna background atau warna latar website.

Tetapi, penggantian ini terjadi di setiap kunjungan. Kita tidak menggantinya sendiri.
function wpb_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;
}
Kemudian, kita perlu membuka header.php kemudian mengganti isi <body> dengan yang sebagai berikut:
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>
Dengan menambah snippet ini, warna background akan berganti – ganti setiap kunjungan kita.

     6.  Menambah ukuran gambar di WordPress.

WordPress sendiri telah membuat beberapa ukuran gambar saat kita mengupdate gambar. Seklarang, kita bisa menambah beberapa ukuran lagi.
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
kemudian, kita bisa mendisplay atau memasang gambar yangsudah doipotong ini dimanapun:
<?php the_post_thumbnail( 'homepage-thumb' ); ?>

    7.  Menambah Menu di theme kita.

Secara umum, sebuah theme WordPress sudah memberikan fasilitas untuk membuat menu sendiri dan menampilkannya.
Tetapi, kita bisa menggunakan itur ini untuk menambah menu di tempat yang kita inginkan.
function wpb_custom_new_menu() {
register_nav_menu('custom-menu-saya',__( 'Custom Menu Saya' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
Kita sekarang bisa melihat menu custom kita sebagai pilihan lokasi template kita.
cara membuat custom menu dengan functions.php di wordpress
Sekarang, kita tambahkan code berikut di theme kita. Tempatnmya adalah dimanapun kita ingin menu baru ini muncul.
<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>

    8.  Menambah FB dan Twitter di Author WordPress.

Kita tambahkan code berikut di functions.php kita:
function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);
menambah profil FB dan Twitter author di WordPress

   9.  Menambah area widget di sidebar

Untuk menambahkan area widget di sidebar kita, kita bisa menambahkan code berikut di functions.php.
// Register Sidebars
function custom_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' );
Jika kita mengunjungi halaman widget. Letaknya di Appearance –> Widget, maka kita bisa melihat “custom sidebar” kita disana.
Kita bisa menampilkannya di area yang kita inginkan dengan code berikut:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

    10.  Menempatkan RSS feed di bawah setiap post

Kita bisa menggunakan fungsi ini di functions.php untuk menampilkan RSS di bawah post kita.
function wpbeginner_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

Kita bisa menempatkan featured post di RSS dengan cara menambahkan code berikut di functions.php.
function rss_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

Terkadang, kita ingin mengkoreksi posting kita sebelum dibagi ke RSS feed. Untuk menunda posting RSS feed, kita bisa mengcopy dan paste code berikut di functions.php
function publish_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');
Angka 10 diatas maksudnya kita menunda hingga 10 menit. Tetapi, kita bisa melakukan penundaan lebih lama jika memungkinkan.

    13. Menonaktifkan RSS Feed di WordPress dengan functions.php

Mungkin, situs kita tidak membutuhkan RSS Feed. Kita bisa menonaktifkannya dengan menambah code snippet berikut  ke functions.php template kita.
function fb_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:

Kita bisa membuat kategori tertentu tidak masuk di RSS feed. Caranya, kita paste code berikut di functions.php theme kita:
function exclude_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

Secara default, wordpress memiliki seting panjang excerpt 55 kata. Kita bisa menambah misalnya 100 kata jika kita menginginkannya.
function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
Angka 100 itu bisa kita ubah sendiri sesuai dengan keperluan kita.

    16.  Cara membuat shortcode di widget.

Secara default, wordpress tidak mengijinkan eksekusi shortcode yang dibuat didalam widget. Untuk membuat shortcode yang bisa dieksekusi di widget, kita tambahkan code berikut di functions.php:
// Enable shortcodes in text widgets
add_filter('widget_text','do_shortcode');

    17.  Memberi warna berbeda untuk post ganjil dan genap di WordPress dengan functions.php.

Penggantian warna ini diterapkan untuk halaman depan WordPress atau halaman categories.
Kita bisa membuat posting ganjil dan genap berwarna berbeda di wordpress. Secara visual, post semacam ini terlihat lebih menarik daripada post biasa.
cara mengganti warna di halaman posting utama di wordpress
Caranya, kita bisa menambahkan code berikut di functions.php theme kita.
function oddeven_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';
Setelah itu, kita bisa menambahkan custom CSS seperti ini:
.even {
background:#f0f8ff
}
.odd {
background:#f4f4fb;
}
Inilah beberapa trik dan tips menggunakan functions. php di WordPress. Semoga bermanfaat dan salam sukses luar biasa!
Rate this post

Leave a reply