Apa Itu WordPress Hooks

wpJakarta.Com – Apa Itu WordPress Hooks. Banyak dari artikel kami tentang bagaimana memodifikasi fungsi bawaan WordPress atau WooCommerce. Dan untuk melakukannya, kami sering menggunakan WordPress hook tersebut. Lalu, apa itu WordPress Hooks ? Bagaimana cara menggunakannya ? Dan kapan dan kenapa harus di lakukan ?

Tutorial dan Tips-trik WordPress lainnya

Pengertian Apa Itu WordPress Hooks

Apa itu WordPress hooks ? WordPress Hooks adalah fitur yang di sediakan oleh WordPress yang memungkinkan kita untuk memanipulasi prosedur standar WordPress tanpa harus melakukan perubahan pada file inti atau script WordPress secara langsung. Sebuah hook dapat diterapkan baik untuk action (action hook) dan filter (filter hook). Bagi anda yang ingin mempelajari bagaimana memodifikasi atau mengkustom website WordPress, tentu penting untuk mengetahui bagaimana hook-hook tersebut bekerja.

Selain WordPress, tema website dan plugin juga mungkin membawa hook. Pada artikel ini kami membahas secara general antara WordPress hook dan theme hook, karena memiliki fungsi yang sama. Salah satu contoh simple adalah ketika kita ingin agar website kita bisa menampilkan iklan google adsense. Google adsense akan memberikan kode, dimana kode tersebut harus di masukan ke dalam file WordPress. Biasanya kode adsense harus di masukan di dalam antara <head> dan </head>. Ada dua cara untuk melakukan demikian.

Memasang langsung pada file header.

Menambahkan kode langsung pada file header. Jika memilih cara ini anda tidak harus membuat function atau callback. Cukup tambahkan kode iklan tersebut tersebut di antara tag <head> dan </head> seperti misalnya sebagai berikut.

<head>
<script data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

</head>

Membuat script fungsi atau callback dan memanfaatkan sebuah hook

Selain mengetahui apa itu WordPress hooks, perlu juga untuk mengetahui bagaimana menggunakan hook. Cara berikutnya adalah dengan mengaplikasikan “action” hook yang memanfaatkan hook wp_head. Jika menggunakan cara ini, maka anda tidak perlu mengakses atau merubah file asli header.php. Buat callback function misalnya sebagai berikut. Alih-alih merubah langsung file header.php, anda cukup menuliskannya pada file function.php atau di dalam file plugin kode snippet yang bisa anda buat sendiri.

Lihat disini tentang apa itu plugin kode snippet, https://wpjakarta.com/blog/tips-trik-membuat-site-specific-plugin-wordpress/.

// Kode google adsense
add_action('wp_head','wpjkt_adsense', 20);
function wpjkt_adsense() { ?>
<script data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<?php
}

Kode di atas mengkatrol hook wp_head, memungkinkan skrip atau data di eksekusi di dalam tag head frontend. Nah sudah jelas apa itu WordPress hooks ? Lalu apa tujuan WordPress hooks ?

Tujuan WordPress hooks

Setelah mengetahui apa itu WordPress hooks. Lalu apa tujuannya WordPress, tema atau plugin membuat hook ? Tidak lain adalah untuk menjalankan fungsi secara otomatis. Selain itu, teknik ini juga memiliki kemampuan untuk memodifikasi, memperluas, atau membatasi fungsionalitas suatu tema atau plugin. Jika contoh kode adsense di atas adalah untuk menambah fungsi. Maka hook juga bisa di manfaatkan untuk merubah bahkan menonaktifkan kode yang tidak anda inginkan.

Tutorial dan Tips-trik WordPress lainnya

Hook untuk merubah layout halaman

Contoh berikut adalah bagaimana kami memanfaatkan hook plugin WooCommerce untuk merubah sebuah halaman single produk.

function wpjkt_remove_beberapa_wc_hooks() {
   remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20);
   remove_action('woocommerce_product_thumbnails', 'woocommerce_show_product_thumbnails', 20);
}
add_action('init', 'wpjkt_remove_beberapa_wc_hooks');

Kami membuat fungsi wpjkt_remove_beberapa_wc_hooks dengan aksi init. Hook ini akan melakukan tindakan baru di situs website, oleh karena itu, ini disebut action hook. Kode di atas me-remove (remove_action) dua buah hook WooCommerce woocommerce_before_single_product_summary dan woocommerce_product_thumbnails. Misalnya dengan membuat class atau element baru maka kita bisa merubah halaman single produk WooCommerce. Contoh perubahannya bisa di lihat di salah satu contoh halaman produk dummy WooCommerce berikut. https://wpjakarta.com/produk/jaket-woocommerce-silver-keren/.

Hook untuk membatasi skrip yang tidak di inginkan

WordPress banyak membawa fitur-fitur untuk memudahkan user dalam blogging. Namun banyak juga pengguna WordPress yang justru tidak menginginkan fitur tersebut. Misalnya fitur feed, untuk secara total menon-aktifkannya bisa dengan membuat fungsi callback dan mengkatrol beberapa hook feed WordPress. Biasanya feed secara default bisa di akses pada url https://wpjakarta.com/feed/. Namun feed di website ini tidak akan pernah bisa di akses lagi karena memang sudah di matikan.

// disable Feed
function wpjkt_disable_feed() {
    wp_die(__('Kami tidak menyediakan feed, Mohon kunjungi halaman homepage wpJakarta !!!'));
}
add_action('do_feed', 'wpjkt_disable_feed', 1);
add_action('do_feed_rdf', 'wpjkt_disable_feed', 1);
add_action('do_feed_rss', 'wpjkt_disable_feed', 1);
add_action('do_feed_rss2', 'wpjkt_disable_feed', 1);
add_action('do_feed_atom', 'wpjkt_disable_feed', 1);
add_action('do_feed_rss2_comments', 'wpjkt_disable_feed', 1);
add_action('do_feed_atom_comments', 'wpjkt_disable_feed', 1);

Nah sudah tau apa itu WordPress hooks ? Artikel berikutnya kami membahas bagaimana mengkatrol sebuah atau beberaa hook. Setelah memahami apa itu WordPress hooks, perlu juga untuk mengetahui bagaimana cara dalam memanipulasi hook. Fungsi yang kita buat mungkin saja tidak berjalan karena ada kesalahan timing ketika mengkatrol sebuah hook. Lihat series artikel tentang WordPress hook pada artikel yang kami tag dengan WordPress hooks. List lengkap WordPress hooks bisa di lihat di https://developer.wordpress.org/reference/hooks/.

Artikel lainnya