{"id":33495,"date":"2026-10-02T08:09:19","date_gmt":"2026-10-02T08:09:19","guid":{"rendered":"https:\/\/hosteko.com\/blog\/?p=33495"},"modified":"2026-10-02T08:25:20","modified_gmt":"2026-10-02T08:25:20","slug":"kenali-apa-itu-hook-wordpress","status":"publish","type":"post","link":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress","title":{"rendered":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman"},"content":{"rendered":"<p>WordPress bukan hanya platform untuk membuat website, tetapi juga menyediakan berbagai mekanisme yang memungkinkan developer menyesuaikan fungsi dan perilaku website sesuai kebutuhan. Salah satu mekanisme terpenting di dalamnya adalah <em>Hook WordPress.<\/em><\/p>\n<p>Dengan hook, developer dapat menambahkan fungsi baru, mengubah data, atau menyesuaikan perilaku WordPress tanpa harus mengedit file inti WordPress secara langsung. Mekanisme ini menjadi salah satu alasan WordPress memiliki ekosistem tema dan plugin yang sangat fleksibel.<\/p>\n<p>Hook juga menjadi konsep penting yang perlu dipahami ketika mulai mempelajari pengembangan plugin, kustomisasi tema, maupun WordPress development menggunakan PHP.<\/p>\n<p>Lalu, <em>apa itu Hook WordPress?<\/em> Apa perbedaan Action Hook dan Filter Hook? Bagaimana cara kerjanya dan kapan masing-masing digunakan? Artikel ini akan membahas Hook WordPress secara lengkap, mulai dari pengertian, jenis, cara kerja, contoh penggunaan, hingga praktik terbaiknya.<\/p>\n<h2>Apa Itu Hook WordPress?<\/h2>\n<p>Hook WordPress adalah mekanisme yang memungkinkan plugin, tema, atau kode custom berinteraksi dengan proses WordPress pada titik tertentu tanpa perlu mengubah file WordPress Core secara langsung.<\/p>\n<p>WordPress menjalankan berbagai proses ketika website dibuka, plugin dimuat, posting disimpan, konten ditampilkan, pengguna login, dan berbagai aktivitas lainnya. Pada proses tersebut terdapat titik tertentu yang dapat digunakan sebagai tempat untuk menjalankan fungsi tambahan atau memodifikasi data. Titik tersebut disebut hook.<\/p>\n<p>Secara sederhana, cara kerjanya dapat digambarkan seperti berikut:<\/p>\n<pre><code>WordPress menjalankan proses\r\n          \u2193\r\n       Hook dipanggil\r\n          \u2193\r\nCallback function dijalankan\r\n          \u2193\r\nWordPress melanjutkan proses<\/code><\/pre>\n<p>Misalnya, developer ingin menjalankan fungsi tertentu ketika WordPress selesai melakukan proses inisialisasi. Daripada mengubah file Core, developer dapat menghubungkan fungsi tersebut dengan hook <code>init<\/code>. Dengan pendekatan ini, kode custom tetap terpisah dari kode inti WordPress.<\/p>\n<h2>Mengapa Hook WordPress Penting?<\/h2>\n<p>Hook memiliki peran penting dalam arsitektur WordPress karena memungkinkan tema dan plugin memperluas fungsi WordPress tanpa harus memodifikasi Core.<\/p>\n<p>Jika developer mengubah file Core secara langsung, perubahan tersebut berpotensi tertimpa ketika WordPress diperbarui. Selain itu, modifikasi langsung terhadap Core dapat membuat proses pemeliharaan website menjadi lebih sulit.<\/p>\n<p>Dengan hook, fungsi tambahan dapat ditempatkan pada plugin atau tema sesuai kebutuhan. Contohnya, sebuah plugin dapat menggunakan hook untuk:<\/p>\n<ul>\n<li>menambahkan fungsi tertentu ketika WordPress diinisialisasi;<\/li>\n<li>memodifikasi judul posting;<\/li>\n<li>mengubah konten;<\/li>\n<li>menambahkan stylesheet atau JavaScript;<\/li>\n<li>menjalankan proses ketika posting disimpan;<\/li>\n<li>menambahkan elemen pada bagian tertentu halaman;<\/li>\n<li>atau menyediakan titik ekstensi bagi plugin lain.<\/li>\n<\/ul>\n<p>Inilah yang membuat sistem WordPress menjadi sangat extensible.<\/p>\n<h2>Jenis-Jenis Hook WordPress<\/h2>\n<p>Secara umum, WordPress memiliki dua jenis hook utama, yaitu Action Hook dan Filter Hook. Keduanya sama-sama memungkinkan developer menghubungkan kode custom dengan proses WordPress, tetapi tujuan penggunaannya berbeda.<\/p>\n<table>\n<tbody>\n<tr>\n<th>Aspek<\/th>\n<th>Action Hook<\/th>\n<th>Filter Hook<\/th>\n<\/tr>\n<tr>\n<td>Fungsi utama<\/td>\n<td>Menjalankan suatu tindakan<\/td>\n<td>Memodifikasi data<\/td>\n<\/tr>\n<tr>\n<td>Fokus<\/td>\n<td>Melakukan proses<\/td>\n<td>Mengubah nilai<\/td>\n<\/tr>\n<tr>\n<td>Fungsi utama<\/td>\n<td><code>add_action()<\/code><\/td>\n<td><code>add_filter()<\/code><\/td>\n<\/tr>\n<tr>\n<td>Nilai dikembalikan<\/td>\n<td>Tidak digunakan untuk meneruskan nilai ke proses utama<\/td>\n<td>Harus mengembalikan nilai yang telah diproses<\/td>\n<\/tr>\n<tr>\n<td>Contoh penggunaan<\/td>\n<td>Menambahkan script, menjalankan proses<\/td>\n<td>Mengubah judul atau konten<\/td>\n<\/tr>\n<tr>\n<td>Cocok untuk<\/td>\n<td>Event dan tindakan<\/td>\n<td>Modifikasi data<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Apa Itu Action Hook?<\/h2>\n<p>Action Hook adalah hook yang digunakan untuk menjalankan fungsi tertentu ketika WordPress mencapai titik tertentu dalam proses eksekusinya.<\/p>\n<p>Action tidak digunakan untuk memodifikasi nilai yang kemudian diteruskan kembali ke proses WordPress. Callback pada Action menjalankan suatu pekerjaan, lalu proses WordPress berlanjut. Contoh sederhana:<\/p>\n<pre><code>function hosteko_custom_function() {\r\n    \/\/ Kode yang ingin dijalankan\r\n}\r\n\r\nadd_action( 'init', 'hosteko_custom_function' );<\/code><\/pre>\n<p>Pada contoh tersebut, <code>hosteko_custom_function()<\/code> akan dijalankan ketika WordPress memanggil hook <code>init<\/code>.<\/p>\n<h3>Contoh Penggunaan Action Hook<\/h3>\n<p>Action Hook dapat digunakan untuk berbagai kebutuhan.<\/p>\n<h4>1. Menjalankan Fungsi Saat WordPress Diinisialisasi<\/h4>\n<pre><code>function hosteko_custom_init() {\r\n    \/\/ Fungsi custom\r\n}\r\n\r\nadd_action( 'init', 'hosteko_custom_init' );<\/code><\/pre>\n<p>Kode tersebut mendaftarkan <code>hosteko_custom_init()<\/code> agar dijalankan ketika hook <code>init<\/code> dipanggil.<\/p>\n<h4>2. Memuat CSS dan JavaScript<\/h4>\n<p>Salah satu penggunaan Action Hook yang umum adalah mendaftarkan asset website melalui <code>wp_enqueue_scripts<\/code>.<\/p>\n<pre><code>function hosteko_enqueue_assets() {\r\n    wp_enqueue_style(\r\n        'hosteko-custom-style',\r\n        get_stylesheet_directory_uri() . '\/custom.css'\r\n    );\r\n}\r\n\r\nadd_action( 'wp_enqueue_scripts', 'hosteko_enqueue_assets' );<\/code><\/pre>\n<p>Pendekatan ini lebih baik daripada menambahkan file CSS secara sembarangan karena mengikuti mekanisme enqueue yang disediakan WordPress.<\/p>\n<h4>3. Menambahkan Output ke Halaman<\/h4>\n<p>Action juga dapat digunakan untuk menampilkan output pada lokasi yang disediakan oleh hook.<\/p>\n<pre><code>function hosteko_custom_notice() {\r\n    echo '&lt;p&gt;Selamat datang di website kami.&lt;\/p&gt;';\r\n}\r\n\r\nadd_action( 'wp_body_open', 'hosteko_custom_notice' );<\/code><\/pre>\n<p>Kode tersebut menampilkan pesan ketika hook <code>wp_body_open<\/code> dipanggil oleh tema. Namun, hasilnya bergantung pada apakah tema yang digunakan memang memanggil hook tersebut.<\/p>\n<h2>Apa Itu Filter Hook?<\/h2>\n<p>Filter Hook adalah hook yang digunakan untuk menerima, memodifikasi, dan mengembalikan data sebelum data tersebut digunakan lebih lanjut oleh WordPress. Inilah perbedaan penting antara Filter dan Action. Contohnya:<\/p>\n<pre><code>function hosteko_custom_title( $title ) {\r\n    return 'Artikel: ' . $title;\r\n}\r\n\r\nadd_filter( 'the_title', 'hosteko_custom_title' );<\/code><\/pre>\n<p>Jika judul awal adalah:<\/p>\n<pre><code>Belajar WordPress<\/code><\/pre>\n<p>hasilnya dapat menjadi:<\/p>\n<pre><code>Artikel: Belajar WordPress<\/code><\/pre>\n<p>Callback menerima <code>$title<\/code>, memprosesnya, kemudian mengembalikan hasil melalui <code>return<\/code>.<\/p>\n<h3>Contoh Filter Hook untuk Konten<\/h3>\n<p>Filter juga dapat digunakan untuk memodifikasi konten posting.<\/p>\n<pre><code>function hosteko_custom_content( $content ) {\r\n    $content .= '&lt;p&gt;Terima kasih telah membaca artikel ini.&lt;\/p&gt;';\r\n\r\n    return $content;\r\n}\r\n\r\nadd_filter( 'the_content', 'hosteko_custom_content' );<\/code><\/pre>\n<p>Kode tersebut menambahkan paragraf setelah konten yang diproses oleh filter.<\/p>\n<p>Dalam implementasi nyata, developer biasanya perlu menambahkan kondisi tertentu agar perubahan hanya diterapkan pada konteks yang diinginkan, misalnya hanya pada halaman single post.<\/p>\n<h2>Mengapa Filter Harus Menggunakan <code>return<\/code>?<\/h2>\n<p>Filter bekerja dengan konsep menerima nilai, memproses nilai tersebut, lalu meneruskan hasilnya. Alurnya:<\/p>\n<pre><code>Data awal\r\n   \u2193\r\nFilter Hook\r\n   \u2193\r\nCallback\r\n   \u2193\r\nData dimodifikasi\r\n   \u2193\r\nreturn data\r\n   \u2193\r\nProses WordPress berlanjut<\/code><\/pre>\n<p>Karena itu, callback Filter harus mengembalikan nilai.<\/p>\n<p>Contoh yang benar:<\/p>\n<pre><code>function hosteko_modify_title( $title ) {\r\n    return 'Tutorial: ' . $title;\r\n}\r\n\r\nadd_filter( 'the_title', 'hosteko_modify_title' );<\/code><\/pre>\n<p>Jika callback tidak menggunakan <code>return<\/code>, nilai yang seharusnya diteruskan ke proses berikutnya tidak tersedia sebagaimana mestinya.<\/p>\n<h2>Perbedaan Action Hook dan Filter Hook<\/h2>\n<p>Perbedaan Action dan Filter merupakan konsep paling penting ketika mulai mempelajari Hook WordPress.<\/p>\n<table style=\"height: 372px\" width=\"639\">\n<tbody>\n<tr>\n<th>Kebutuhan<\/th>\n<th>Hook yang Digunakan<\/th>\n<\/tr>\n<tr>\n<td>Menjalankan fungsi ketika event tertentu terjadi<\/td>\n<td>Action<\/td>\n<\/tr>\n<tr>\n<td>Menambahkan output pada lokasi tertentu<\/td>\n<td>Action<\/td>\n<\/tr>\n<tr>\n<td>Menjalankan proses ketika post disimpan<\/td>\n<td>Action<\/td>\n<\/tr>\n<tr>\n<td>Memuat CSS atau JavaScript<\/td>\n<td>Action<\/td>\n<\/tr>\n<tr>\n<td>Mengubah judul<\/td>\n<td>Filter<\/td>\n<\/tr>\n<tr>\n<td>Mengubah konten<\/td>\n<td>Filter<\/td>\n<\/tr>\n<tr>\n<td>Mengubah excerpt<\/td>\n<td>Filter<\/td>\n<\/tr>\n<tr>\n<td>Menambahkan class tertentu ke body<\/td>\n<td>Filter<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Bagaimana Cara Kerja Hook WordPress?<\/h2>\n<p>Untuk memahami cara kerja hook, bayangkan WordPress sebagai rangkaian proses yang memiliki sejumlah titik ekstensi. Misalnya:<\/p>\n<pre><code>WordPress mulai\r\n      \u2193\r\nPlugin dan tema diproses\r\n      \u2193\r\nHook tertentu dijalankan\r\n      \u2193\r\nCallback dipanggil\r\n      \u2193\r\nKonten diproses\r\n      \u2193\r\nFilter diterapkan\r\n      \u2193\r\nHalaman ditampilkan<\/code><\/pre>\n<p>Ketika WordPress menjalankan sebuah hook, sistem akan mencari callback yang sebelumnya telah didaftarkan pada hook tersebut. Misalnya:<\/p>\n<pre><code>add_action( 'init', 'hosteko_custom_function' );<\/code><\/pre>\n<p>Artinya:<\/p>\n<blockquote><p>Ketika hook <code>init<\/code> dijalankan, panggil fungsi <code>hosteko_custom_function()<\/code>.<\/p><\/blockquote>\n<p>Sedangkan:<\/p>\n<pre><code>add_filter( 'the_title', 'hosteko_custom_title' );<\/code><\/pre>\n<p>berarti:<\/p>\n<blockquote><p>Ketika WordPress memproses <code>the_title<\/code>, jalankan <code>hosteko_custom_title()<\/code> untuk memodifikasi nilai judul.<\/p><\/blockquote>\n<h2>Apa Itu Callback Function?<\/h2>\n<p>Callback function adalah fungsi yang didaftarkan ke sebuah hook dan akan dipanggil ketika hook tersebut dijalankan.<\/p>\n<p>Contohnya:<\/p>\n<pre><code>function hosteko_custom_function() {\r\n    echo 'Hello WordPress';\r\n}\r\n\r\nadd_action( 'init', 'hosteko_custom_function' );<\/code><\/pre>\n<p>Pada contoh tersebut:<\/p>\n<ul>\n<li><code>init<\/code> adalah nama hook;<\/li>\n<li><code>hosteko_custom_function<\/code> adalah callback;<\/li>\n<li><code>add_action()<\/code> digunakan untuk mendaftarkan callback;<\/li>\n<li>callback akan dijalankan ketika <code>init<\/code> dipanggil.<\/li>\n<\/ul>\n<p>Callback juga dapat menerima parameter, terutama pada Filter atau Action yang menyediakan argumen tertentu.<\/p>\n<p>Jumlah parameter yang tersedia berbeda-beda untuk setiap hook. Karena itu, developer perlu memeriksa dokumentasi hook yang digunakan sebelum membuat callback.<\/p>\n<h2>Apa Itu <code>add_action()<\/code>?<\/h2>\n<p><code>add_action()<\/code> merupakan fungsi WordPress yang digunakan untuk mendaftarkan callback pada Action Hook.<\/p>\n<p>Bentuk dasarnya:<\/p>\n<pre><code>add_action( 'nama_hook', 'nama_callback' );<\/code><\/pre>\n<p>Contoh:<\/p>\n<pre><code>function hosteko_custom_function() {\r\n    echo 'Hello WordPress';\r\n}\r\n\r\nadd_action( 'init', 'hosteko_custom_function' );<\/code><\/pre>\n<p><code>add_action()<\/code> juga mendukung parameter tambahan berupa <em>priority <\/em>dan jumlah <em>accepted arguments<\/em>.<\/p>\n<h3>Priority pada <code>add_action()<\/code><\/h3>\n<p>Priority menentukan urutan callback ketika terdapat beberapa fungsi yang terhubung pada hook yang sama.<\/p>\n<p>Contohnya:<\/p>\n<pre><code>add_action( 'init', 'hosteko_function_a', 10 );\r\nadd_action( 'init', 'hosteko_function_b', 20 );<\/code><\/pre>\n<p>Dalam kondisi tersebut, callback dengan priority <code>10<\/code> akan diproses sebelum callback dengan priority <code>20<\/code>.<\/p>\n<p>Secara sederhana:<\/p>\n<pre><code>init\r\n \u2193\r\nfunction_a (10)\r\n \u2193\r\nfunction_b (20)<\/code><\/pre>\n<p>Priority default yang digunakan pada pendaftaran hook adalah <code>10<\/code>.<\/p>\n<p>Priority menjadi penting ketika beberapa callback saling bergantung atau ketika urutan eksekusi memengaruhi hasil.<\/p>\n<h2>Apa Itu <code>accepted_args<\/code>?<\/h2>\n<p><code>accepted_args<\/code> menentukan jumlah argumen yang ingin diterima oleh callback.<\/p>\n<p>Contohnya:<\/p>\n<pre><code>function hosteko_after_save( $post_id, $post ) {\r\n    \/\/ Proses custom\r\n}\r\n\r\nadd_action(\r\n    'save_post',\r\n    'hosteko_after_save',\r\n    10,\r\n    2\r\n);<\/code><\/pre>\n<p>Pada contoh tersebut, callback menerima dua argumen.<\/p>\n<p>Namun, developer tidak dapat menentukan jumlah argumen secara sembarangan. Jumlahnya harus sesuai dengan argumen yang memang disediakan oleh hook yang digunakan. Karena setiap hook memiliki karakteristik berbeda, dokumentasi hook sebaiknya selalu diperiksa sebelum menentukan parameter callback.<\/p>\n<h2>Apa Itu <code>add_filter()<\/code>?<\/h2>\n<p><code>add_filter()<\/code> merupakan fungsi WordPress yang digunakan untuk menghubungkan callback dengan Filter Hook.<\/p>\n<p>Bentuk dasarnya:<\/p>\n<pre><code>add_filter( 'nama_filter', 'nama_callback' );<\/code><\/pre>\n<p>Contohnya:<\/p>\n<pre><code>function hosteko_modify_title( $title ) {\r\n    return 'Info: ' . $title;\r\n}\r\n\r\nadd_filter( 'the_title', 'hosteko_modify_title' );<\/code><\/pre>\n<p>Pada contoh tersebut, callback menerima nilai <code>$title<\/code>, memodifikasinya, kemudian mengembalikan hasil menggunakan <code>return<\/code>.<\/p>\n<p><code>add_filter()<\/code> juga mendukung priority dan jumlah argumen yang diterima callback.<\/p>\n<h2>Hook WordPress yang Sering Digunakan<\/h2>\n<p>WordPress menyediakan banyak hook untuk berbagai kebutuhan. Beberapa di antaranya cukup sering digunakan dalam pengembangan tema dan plugin.<\/p>\n<table style=\"height: 491px\" width=\"709\">\n<tbody>\n<tr>\n<th>Hook<\/th>\n<th>Jenis<\/th>\n<th>Kegunaan Umum<\/th>\n<\/tr>\n<tr>\n<td><code>init<\/code><\/td>\n<td>Action<\/td>\n<td>Menjalankan fungsi pada tahap inisialisasi<\/td>\n<\/tr>\n<tr>\n<td><code>wp_enqueue_scripts<\/code><\/td>\n<td>Action<\/td>\n<td>Mendaftarkan CSS dan JavaScript frontend<\/td>\n<\/tr>\n<tr>\n<td><code>wp_head<\/code><\/td>\n<td>Action<\/td>\n<td>Menambahkan output pada bagian <code>&lt;head&gt;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>wp_footer<\/code><\/td>\n<td>Action<\/td>\n<td>Menambahkan output pada bagian footer<\/td>\n<\/tr>\n<tr>\n<td><code>wp_body_open<\/code><\/td>\n<td>Action<\/td>\n<td>Menambahkan output setelah tag <code>&lt;body&gt;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>save_post<\/code><\/td>\n<td>Action<\/td>\n<td>Menjalankan proses ketika post disimpan<\/td>\n<\/tr>\n<tr>\n<td><code>the_title<\/code><\/td>\n<td>Filter<\/td>\n<td>Memodifikasi judul<\/td>\n<\/tr>\n<tr>\n<td><code>the_content<\/code><\/td>\n<td>Filter<\/td>\n<td>Memodifikasi konten<\/td>\n<\/tr>\n<tr>\n<td><code>the_excerpt<\/code><\/td>\n<td>Filter<\/td>\n<td>Memodifikasi excerpt<\/td>\n<\/tr>\n<tr>\n<td><code>body_class<\/code><\/td>\n<td>Filter<\/td>\n<td>Memodifikasi class pada body<\/td>\n<\/tr>\n<tr>\n<td><code>excerpt_length<\/code><\/td>\n<td>Filter<\/td>\n<td>Mengubah panjang excerpt<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Daftar tersebut hanya sebagian dari hook yang tersedia. WordPress memiliki banyak Action dan Filter Hook lainnya yang dapat digunakan sesuai kebutuhan.<\/p>\n<h2>Hook WordPress di <code>functions.php<\/code><\/h2>\n<p>Hook sering digunakan dalam file <code>functions.php<\/code>, khususnya ketika developer ingin menambahkan fungsi yang berkaitan dengan tema. Contohnya:<\/p>\n<pre><code>function hosteko_theme_function() {\r\n    \/\/ Fungsi custom\r\n}\r\n\r\nadd_action( 'init', 'hosteko_theme_function' );<\/code><\/pre>\n<p>Namun, <code>functions.php<\/code> bukan tempat untuk semua jenis custom functionality.<\/p>\n<p>Jika fungsi yang dibuat merupakan fitur website yang seharusnya tetap berjalan meskipun tema diganti, membuat plugin khusus sering menjadi pilihan yang lebih tepat.<\/p>\n<p>Sebaliknya, fungsi yang memang berkaitan erat dengan tampilan atau perilaku tema dapat ditempatkan pada tema atau child theme sesuai kebutuhan.<\/p>\n<h2>Hook WordPress pada Plugin<\/h2>\n<p>Plugin sangat bergantung pada Hook WordPress karena hook memungkinkan plugin berinteraksi dengan WordPress Core tanpa mengubah file Core. Contohnya, plugin dapat menggunakan hook untuk:<\/p>\n<ul>\n<li>menambahkan menu admin;<\/li>\n<li>mendaftarkan Custom Post Type;<\/li>\n<li>menambahkan metadata;<\/li>\n<li>memproses data;<\/li>\n<li>memodifikasi konten;<\/li>\n<li>menambahkan script;<\/li>\n<li>membuat endpoint;<\/li>\n<li>atau menjalankan proses tertentu ketika event tertentu terjadi.<\/li>\n<\/ul>\n<p>Secara sederhana:<\/p>\n<pre><code>WordPress Core\r\n      \u2193\r\nAction \/ Filter\r\n      \u2193\r\nPlugin\r\n      \u2193\r\nCallback Function\r\n      \u2193\r\nFungsi tambahan<\/code><\/pre>\n<p>Mekanisme tersebut membuat plugin dapat memperluas kemampuan WordPress dengan tetap mempertahankan pemisahan antara Core dan kode custom.<\/p>\n<h2>Apa Itu <code>do_action()<\/code>?<\/h2>\n<p><code>do_action()<\/code> digunakan untuk menjalankan sebuah Action Hook.<\/p>\n<p>Contohnya:<\/p>\n<pre><code>do_action( 'hosteko_custom_event' );<\/code><\/pre>\n<p>Developer lain dapat menghubungkan fungsi dengan hook tersebut:<\/p>\n<pre><code>function hosteko_custom_callback() {\r\n    echo 'Event berjalan';\r\n}\r\n\r\nadd_action( 'hosteko_custom_event', 'hosteko_custom_callback' );<\/code><\/pre>\n<p>Ketika:<\/p>\n<pre><code>do_action( 'hosteko_custom_event' );<\/code><\/pre>\n<p>dijalankan, callback yang terhubung dengan hook tersebut akan dipanggil.<\/p>\n<h2>Apa Itu <code>apply_filters()<\/code>?<\/h2>\n<p><code>apply_filters()<\/code> digunakan untuk menerapkan Filter Hook pada sebuah nilai.<\/p>\n<p>Contohnya:<\/p>\n<pre><code>$title = apply_filters( 'hosteko_custom_title', $title );<\/code><\/pre>\n<p>Developer lain kemudian dapat memodifikasi nilai tersebut:<\/p>\n<pre><code>function hosteko_modify_title( $title ) {\r\n    return 'Website: ' . $title;\r\n}\r\n\r\nadd_filter( 'hosteko_custom_title', 'hosteko_modify_title' );<\/code><\/pre>\n<p>Alurnya menjadi:<\/p>\n<pre><code>Nilai awal\r\n   \u2193\r\napply_filters()\r\n   \u2193\r\nCallback Filter\r\n   \u2193\r\nNilai dimodifikasi\r\n   \u2193\r\nNilai hasil filter<\/code><\/pre>\n<p><code>do_action()<\/code> dan <code>apply_filters()<\/code> sangat berguna ketika developer membuat plugin atau sistem yang ingin menyediakan titik ekstensi untuk kode lain.<\/p>\n<h2>Apa Itu Custom Hook WordPress?<\/h2>\n<p>Selain menggunakan hook yang sudah disediakan WordPress, developer dapat membuat <em>Custom Hook <\/em>sendiri. Custom Hook berguna ketika sebuah plugin atau aplikasi ingin menyediakan mekanisme agar kode lain dapat berinteraksi dengannya. Contoh Action:<\/p>\n<pre><code>do_action( 'hosteko_custom_event' );<\/code><\/pre>\n<p>Kemudian developer lain dapat menggunakan:<\/p>\n<pre><code>add_action(\r\n    'hosteko_custom_event',\r\n    'hosteko_custom_function'\r\n);<\/code><\/pre>\n<p>Untuk Filter:<\/p>\n<pre><code>$value = apply_filters(\r\n    'hosteko_custom_value',\r\n    $value\r\n);<\/code><\/pre>\n<p>Kemudian nilai tersebut dapat dimodifikasi:<\/p>\n<pre><code>add_filter(\r\n    'hosteko_custom_value',\r\n    'hosteko_modify_value'\r\n);<\/code><\/pre>\n<p>Custom Hook membuat plugin menjadi lebih <em>extensible<\/em>, karena developer lain dapat menambahkan fungsi tanpa harus mengubah kode sumber plugin secara langsung.<\/p>\n<h2>Kapan Sebaiknya Menggunakan Action Hook?<\/h2>\n<p>Action Hook cocok digunakan ketika ingin menjalankan suatu proses pada waktu tertentu. Beberapa contohnya:<\/p>\n<ul>\n<li>menjalankan fungsi saat WordPress diinisialisasi;<\/li>\n<li>memuat CSS atau JavaScript;<\/li>\n<li>menjalankan proses setelah posting disimpan;<\/li>\n<li>menambahkan output pada lokasi tertentu;<\/li>\n<li>menjalankan proses ketika pengguna melakukan tindakan tertentu.<\/li>\n<\/ul>\n<p>Contohnya:<\/p>\n<pre><code>function hosteko_custom_footer() {\r\n    echo '&lt;p&gt;Informasi tambahan.&lt;\/p&gt;';\r\n}\r\n\r\nadd_action( 'wp_footer', 'hosteko_custom_footer' );<\/code><\/pre>\n<p>Jika kebutuhan utamanya adalah melakukan suatu tindakan ketika event tertentu terjadi, Action Hook biasanya menjadi pilihan yang tepat.<\/p>\n<h2>Kapan Sebaiknya Menggunakan Filter Hook?<\/h2>\n<p>Filter Hook cocok digunakan ketika ingin mengubah data yang sedang diproses. Contohnya:<\/p>\n<ul>\n<li>mengubah judul;<\/li>\n<li>memodifikasi konten;<\/li>\n<li>mengubah excerpt;<\/li>\n<li>menambahkan class;<\/li>\n<li>mengubah nilai tertentu;<\/li>\n<li>atau menyesuaikan output sebelum digunakan.<\/li>\n<\/ul>\n<p>Contohnya:<\/p>\n<pre><code>function hosteko_body_class( $classes ) {\r\n    $classes[] = 'custom-page';\r\n\r\n    return $classes;\r\n}\r\n\r\nadd_filter( 'body_class', 'hosteko_body_class' );<\/code><\/pre>\n<p>Jika kebutuhan utamanya adalah mengambil suatu nilai, memodifikasinya, lalu mengembalikannya, Filter Hook biasanya lebih sesuai.<\/p>\n<h2>Kesalahan yang Sering Terjadi Saat Menggunakan Hook<\/h2>\n<p>Hook terlihat sederhana, tetapi penggunaannya tetap perlu diperhatikan.<\/p>\n<p><span style=\"font-size: 20px\">1. Salah Memilih Action dan Filter<\/span><\/p>\n<p>Action digunakan untuk menjalankan tindakan, sedangkan Filter digunakan untuk memodifikasi nilai. Kesalahan memilih jenis hook dapat membuat kode tidak bekerja sesuai harapan.<\/p>\n<p><span style=\"font-size: 20px\">2. Lupa <code>return<\/code> pada Filter<\/span><\/p>\n<p>Contoh yang kurang tepat:<\/p>\n<pre><code>function hosteko_modify_title( $title ) {\r\n    $title = 'Judul Baru';\r\n}\r\n\r\nadd_filter( 'the_title', 'hosteko_modify_title' );<\/code><\/pre>\n<p>Seharusnya:<\/p>\n<pre><code>function hosteko_modify_title( $title ) {\r\n    return 'Judul Baru';\r\n}\r\n\r\nadd_filter( 'the_title', 'hosteko_modify_title' );<\/code><\/pre>\n<p><span style=\"font-size: 20px\">3. Menggunakan Hook yang Tidak Sesuai<\/span><\/p>\n<p>Setiap hook memiliki waktu eksekusi dan parameter yang berbeda. Karena itu, developer sebaiknya tidak memilih hook hanya berdasarkan namanya. Periksa dokumentasi untuk mengetahui konteks penggunaan dan argumen yang tersedia.<\/p>\n<p><span style=\"font-size: 20px\">4. Mengabaikan Priority<\/span><\/p>\n<p>Jika banyak callback menggunakan hook yang sama, priority dapat memengaruhi urutan eksekusi. Hal ini dapat menjadi masalah ketika hasil satu callback bergantung pada callback lainnya.<\/p>\n<p><span style=\"font-size: 20px\">5. Mengubah WordPress Core Secara Langsung<\/span><\/p>\n<p>Mengedit file Core untuk menambahkan fitur custom bukan pendekatan yang ideal. Selain perubahan berpotensi hilang ketika WordPress diperbarui, modifikasi Core juga dapat menyulitkan proses troubleshooting dan maintenance.<\/p>\n<p><span style=\"font-size: 20px\">6. Menjalankan Proses Berat<\/span><\/p>\n<p>Callback yang terhubung ke hook dapat dijalankan berkali-kali sesuai konteks hook. Jika callback melakukan query database yang berat atau proses yang tidak diperlukan, performa website dapat terpengaruh.<\/p>\n<h2>Praktik Terbaik Menggunakan Hook WordPress<\/h2>\n<p>Agar penggunaan hook lebih aman dan mudah dipelihara, beberapa praktik berikut dapat diterapkan.<\/p>\n<p><strong>1. Gunakan Nama Fungsi yang Unik<\/strong><\/p>\n<p>Hindari nama fungsi yang terlalu umum karena berpotensi bertabrakan dengan fungsi dari plugin atau tema lain. Contohnya:<\/p>\n<pre><code>function custom_function() {}<\/code><\/pre>\n<p>lebih berisiko mengalami konflik dibandingkan nama yang menggunakan prefix khusus:<\/p>\n<pre><code>function hosteko_custom_function() {}<\/code><\/pre>\n<p>Dalam proyek nyata, gunakan prefix yang konsisten sesuai nama plugin atau proyek.<\/p>\n<p><strong>2. Pilih Hook yang Tepat<\/strong><\/p>\n<p>Pastikan memahami:<\/p>\n<ul>\n<li>kapan hook dipanggil;<\/li>\n<li>jenis hook;<\/li>\n<li>parameter yang tersedia;<\/li>\n<li>konteks frontend atau admin;<\/li>\n<li>serta kondisi ketika callback harus dijalankan.<\/li>\n<\/ul>\n<p><strong>3. Jangan Mengubah WordPress Core<\/strong><\/p>\n<p>Gunakan plugin, child theme, atau mekanisme extensibility WordPress yang sesuai untuk menempatkan kode custom.<\/p>\n<p><strong>4. Batasi Efek Samping pada Filter<\/strong><\/p>\n<p>Filter sebaiknya berfokus pada pemrosesan nilai yang diberikan dan mengembalikan hasilnya. Hindari menggunakan Filter sebagai tempat menjalankan proses yang tidak berkaitan dengan data yang sedang difilter.<\/p>\n<p><strong>5. Gunakan Conditional Check<\/strong><\/p>\n<p>Jika fungsi hanya dibutuhkan pada kondisi tertentu, gunakan pengecekan agar callback tidak dijalankan secara tidak perlu. Misalnya, fungsi tertentu hanya diperlukan pada halaman single post:<\/p>\n<pre><code>function hosteko_custom_content( $content ) {\r\n    if ( ! is_single() ) {\r\n        return $content;\r\n    }\r\n\r\n    return $content . '&lt;p&gt;Konten tambahan.&lt;\/p&gt;';\r\n}\r\n\r\nadd_filter( 'the_content', 'hosteko_custom_content' );<\/code><\/pre>\n<p>Pendekatan tersebut dapat membantu menghindari perubahan pada halaman yang tidak diperlukan.<\/p>\n<p><strong>6. Perhatikan Performa<\/strong><\/p>\n<p>Hindari melakukan proses berat pada hook yang dipanggil berkali-kali jika proses tersebut sebenarnya tidak dibutuhkan pada setiap eksekusi.<\/p>\n<p><strong>7. Gunakan Staging untuk Pengujian<\/strong><\/p>\n<p>Perubahan pada hook dapat memengaruhi fungsi website. Jika memungkinkan, uji kode terlebih dahulu pada lingkungan development atau staging sebelum diterapkan pada website produksi.<\/p>\n<h2>Apakah Hook WordPress Bisa Dihapus?<\/h2>\n<p>Ya. WordPress menyediakan <code>remove_action()<\/code> dan <code>remove_filter()<\/code> untuk melepaskan callback yang sebelumnya didaftarkan.<\/p>\n<p>Untuk Action:<\/p>\n<pre><code>remove_action(\r\n    'wp_footer',\r\n    'hosteko_custom_footer'\r\n);<\/code><\/pre>\n<p>Untuk Filter:<\/p>\n<pre><code>remove_filter(\r\n    'the_title',\r\n    'hosteko_modify_title'\r\n);<\/code><\/pre>\n<p>Agar proses penghapusan berhasil, callback dan parameter terkait harus sesuai dengan pendaftaran sebelumnya, termasuk priority jika menggunakan priority tertentu.<\/p>\n<p>Fitur ini berguna ketika developer ingin menonaktifkan perilaku tertentu yang telah ditambahkan oleh tema atau plugin.<\/p>\n<h2>Kelebihan Menggunakan Hook WordPress<\/h2>\n<p>Hook menawarkan beberapa keuntungan penting dalam pengembangan WordPress.<\/p>\n<table style=\"height: 307px\" width=\"691\">\n<tbody>\n<tr>\n<th>Keuntungan<\/th>\n<th>Penjelasan<\/th>\n<\/tr>\n<tr>\n<td>Fleksibel<\/td>\n<td>Memungkinkan fungsi WordPress diperluas<\/td>\n<\/tr>\n<tr>\n<td>Tidak perlu mengubah Core<\/td>\n<td>Kode custom dapat dipisahkan dari WordPress Core<\/td>\n<\/tr>\n<tr>\n<td>Mendukung plugin<\/td>\n<td>Plugin dapat menambahkan berbagai fungsi<\/td>\n<\/tr>\n<tr>\n<td>Mendukung tema<\/td>\n<td>Tema dapat menyesuaikan perilaku WordPress<\/td>\n<\/tr>\n<tr>\n<td>Extensible<\/td>\n<td>Developer dapat membuat Custom Hook<\/td>\n<\/tr>\n<tr>\n<td>Lebih mudah dipelihara<\/td>\n<td>Kode custom dapat dikelola secara terpisah<\/td>\n<\/tr>\n<tr>\n<td>Mendukung integrasi<\/td>\n<td>Komponen WordPress dapat berinteraksi melalui hook<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Tantangan dalam Menggunakan Hook WordPress<\/h2>\n<p>Meskipun sangat berguna, hook juga memiliki beberapa tantangan.<\/p>\n<ul>\n<li><strong>Banyaknya Hook<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 40px\">WordPress memiliki banyak hook sehingga developer pemula mungkin membutuhkan waktu untuk menemukan hook yang sesuai.<\/p>\n<ul>\n<li><strong>Konflik Antarplugin<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 40px\">Beberapa plugin dapat menggunakan hook yang sama dan memodifikasi data yang sama. Jika tidak dirancang dengan baik, perubahan tersebut dapat saling memengaruhi.<\/p>\n<ul>\n<li><strong>Urutan Eksekusi<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 40px\">Beberapa callback dapat memiliki ketergantungan terhadap callback lainnya. Priority menjadi penting dalam situasi seperti ini.<\/p>\n<ul>\n<li><strong>Sulit Dilacak pada Website Kompleks<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 40px\">Pada website dengan banyak plugin dan custom code, satu hook dapat memiliki banyak callback. Akibatnya, ketika terjadi perubahan yang tidak diharapkan, developer perlu melacak callback mana yang menyebabkan perubahan tersebut.<\/p>\n<ul>\n<li><strong>Risiko Performa<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 40px\">Hook yang dipanggil berkali-kali dapat menyebabkan callback berjalan berulang kali. Jika callback menjalankan proses berat, dampaknya dapat terasa pada performa website.<\/p>\n<h2>Hook WordPress vs Mengubah WordPress Core<\/h2>\n<p>Keduanya sama-sama dapat menghasilkan perubahan pada perilaku WordPress, tetapi pendekatannya berbeda.<\/p>\n<table style=\"height: 274px\" width=\"704\">\n<tbody>\n<tr>\n<th>Aspek<\/th>\n<th>Menggunakan Hook<\/th>\n<th>Mengubah WordPress Core<\/th>\n<\/tr>\n<tr>\n<td>Update WordPress<\/td>\n<td>Lebih mudah dipertahankan<\/td>\n<td>Perubahan berpotensi tertimpa<\/td>\n<\/tr>\n<tr>\n<td>Maintenance<\/td>\n<td>Lebih terstruktur<\/td>\n<td>Lebih sulit<\/td>\n<\/tr>\n<tr>\n<td>Pengembangan plugin<\/td>\n<td>Sesuai mekanisme WordPress<\/td>\n<td>Tidak dianjurkan<\/td>\n<\/tr>\n<tr>\n<td>Fleksibilitas<\/td>\n<td>Tinggi<\/td>\n<td>Tinggi tetapi berisiko<\/td>\n<\/tr>\n<tr>\n<td>Pemisahan kode<\/td>\n<td>Lebih baik<\/td>\n<td>Bercampur dengan Core<\/td>\n<\/tr>\n<tr>\n<td>Rekomendasi<\/td>\n<td>Digunakan<\/td>\n<td>Sebaiknya dihindari<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Untuk kebutuhan kustomisasi, menggunakan mekanisme extensibility yang disediakan WordPress umumnya jauh lebih mudah dipelihara daripada mengedit Core secara langsung.<\/p>\n<h2>Tips Mempelajari Hook WordPress untuk Pemula<\/h2>\n<p>Jika baru mulai mempelajari WordPress development, tidak perlu langsung menghafalkan seluruh hook. Mulailah dengan memahami konsep berikut:<\/p>\n<ol>\n<li>pahami perbedaan Action dan Filter;<\/li>\n<li>pelajari <code>add_action()<\/code>;<\/li>\n<li>pelajari <code>add_filter()<\/code>;<\/li>\n<li>pahami callback function;<\/li>\n<li>pahami priority;<\/li>\n<li>pelajari <code>accepted_args<\/code>;<\/li>\n<li>kenali hook yang sering digunakan;<\/li>\n<li>pelajari <code>remove_action()<\/code> dan <code>remove_filter()<\/code>;<\/li>\n<li>pahami <code>do_action()<\/code> dan <code>apply_filters()<\/code>;<\/li>\n<li>lanjutkan dengan Custom Hook.<\/li>\n<\/ol>\n<p>Setelah memahami konsep tersebut, membaca kode plugin dan tema WordPress akan menjadi jauh lebih mudah.<\/p>\n<p>Developer juga dapat menggunakan dokumentasi resmi WordPress untuk mencari hook berdasarkan kebutuhan tertentu, termasuk informasi mengenai jenis hook, parameter, dan penggunaannya.<\/p>\n<h2>Kesimpulan<\/h2>\n<p>Hook WordPress adalah mekanisme yang memungkinkan tema, plugin, dan kode custom menambahkan atau memodifikasi fungsi WordPress tanpa mengubah file Core secara langsung. Dua jenis utamanya adalah Action Hook untuk menjalankan tindakan dan Filter Hook untuk memodifikasi data.<\/p>\n<p>Dengan memahami <code>add_action()<\/code>, <code>add_filter()<\/code>, serta cara kerja hook, developer dapat melakukan kustomisasi WordPress dengan lebih fleksibel dan terstruktur.<\/p>\n<p>Untuk memahami lebih banyak tentang WordPress, hosting, cloud, cybersecurity, dan perkembangan teknologi digital, simak artikel informatif lainnya di <a href=\"https:\/\/hosteko.com\/blog\/\"><em>Blog Hosteko.<\/em><\/a><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;33495&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;0&quot;,&quot;greet&quot;:&quot;Jadilah yang pertama untuk memberi nilai&quot;,&quot;legend&quot;:&quot;5\\\/5 - (2 votes)&quot;,&quot;size&quot;:&quot;22&quot;,&quot;title&quot;:&quot;Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman&quot;,&quot;width&quot;:&quot;110&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 110px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 17.6px;\">\n            5\/5 - (2 votes)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress bukan hanya platform untuk membuat website, tetapi juga menyediakan berbagai mekanisme yang memungkinkan developer menyesuaikan fungsi dan perilaku website sesuai kebutuhan. Salah satu mekanisme terpenting di dalamnya adalah Hook WordPress. Dengan hook, developer dapat menambahkan fungsi baru, mengubah data, atau menyesuaikan perilaku WordPress tanpa harus mengedit file inti WordPress secara langsung. Mekanisme ini menjadi [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":33497,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"no","rop_publish_now_accounts":{"twitter_2392824914_2392824914":""},"rop_publish_now_history":[{"account":"twitter_2392824914_2392824914","service":"twitter","timestamp":1790929538,"status":"error"}],"rop_publish_now_status":"done","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[8],"tags":[24993,24999,25000,24990,24995,24998,24994,24997,24989,24996,24991,24992],"class_list":["post-33495","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-action-hook","tag-add_action","tag-add_filter","tag-apa-itu-hook-wordpress","tag-cara-kerja-hook-wordpress","tag-contoh-hook-wordpress","tag-filter-hook","tag-fungsi-hook-wordpress","tag-hook-wordpress","tag-jenis-hook-wordpress","tag-pengertian-hook-wordpress","tag-wordpress-hook"],"featured_image_src":{"landsacpe":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75-1140x445.png",1140,445,true],"list":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75-463x348.png",463,348,true],"medium":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75-300x169.png",300,169,true],"full":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png",1366,768,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog<\/title>\n<meta name=\"description\" content=\"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog\" \/>\n<meta property=\"og:description\" content=\"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\" \/>\n<meta property=\"og:site_name\" content=\"Hosteko Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-02T08:09:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-02T08:25:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fitri Ana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fitri Ana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#article\",\"isPartOf\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\"},\"author\":{\"name\":\"Fitri Ana\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/ffcd8071a8a3d6a862a4e1381d1c4ea0\"},\"headline\":\"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman\",\"datePublished\":\"2026-10-02T08:09:19+00:00\",\"dateModified\":\"2026-10-02T08:25:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\"},\"wordCount\":2455,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png\",\"keywords\":[\"Action Hook\",\"add_action\",\"add_filter\",\"apa itu Hook WordPress\",\"cara kerja Hook WordPress\",\"contoh Hook WordPress\",\"Filter Hook\",\"fungsi Hook WordPress\",\"Hook WordPress\",\"jenis Hook WordPress\",\"pengertian Hook WordPress\",\"WordPress Hook\"],\"articleSection\":[\"Wordpress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\",\"url\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\",\"name\":\"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog\",\"isPartOf\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png\",\"datePublished\":\"2026-10-02T08:09:19+00:00\",\"dateModified\":\"2026-10-02T08:25:20+00:00\",\"description\":\"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.\",\"breadcrumb\":{\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage\",\"url\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png\",\"contentUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png\",\"width\":1366,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hosteko.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hosteko.com\/blog\/#website\",\"url\":\"https:\/\/hosteko.com\/blog\/\",\"name\":\"Hosteko Blog\",\"description\":\"Berita &amp; Informasi Dunia IT\",\"publisher\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hosteko.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\",\"name\":\"HOSTEKO\",\"url\":\"https:\/\/hosteko.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png\",\"contentUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png\",\"width\":195,\"height\":57,\"caption\":\"HOSTEKO\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/ffcd8071a8a3d6a862a4e1381d1c4ea0\",\"name\":\"Fitri Ana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a099f723518ab9b89aa80b7ed8cadd2d3fae127c5bd735733cf24a661e75a882?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a099f723518ab9b89aa80b7ed8cadd2d3fae127c5bd735733cf24a661e75a882?s=96&d=mm&r=g\",\"caption\":\"Fitri Ana\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog","description":"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress","og_locale":"en_US","og_type":"article","og_title":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog","og_description":"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.","og_url":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress","og_site_name":"Hosteko Blog","article_published_time":"2026-10-02T08:09:19+00:00","article_modified_time":"2026-10-02T08:25:20+00:00","og_image":[{"width":1366,"height":768,"url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","type":"image\/png"}],"author":"Fitri Ana","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fitri Ana","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#article","isPartOf":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress"},"author":{"name":"Fitri Ana","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/ffcd8071a8a3d6a862a4e1381d1c4ea0"},"headline":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman","datePublished":"2026-10-02T08:09:19+00:00","dateModified":"2026-10-02T08:25:20+00:00","mainEntityOfPage":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress"},"wordCount":2455,"commentCount":0,"publisher":{"@id":"https:\/\/hosteko.com\/blog\/#organization"},"image":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage"},"thumbnailUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","keywords":["Action Hook","add_action","add_filter","apa itu Hook WordPress","cara kerja Hook WordPress","contoh Hook WordPress","Filter Hook","fungsi Hook WordPress","Hook WordPress","jenis Hook WordPress","pengertian Hook WordPress","WordPress Hook"],"articleSection":["Wordpress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress","url":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress","name":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman - Hosteko Blog","isPartOf":{"@id":"https:\/\/hosteko.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage"},"image":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage"},"thumbnailUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","datePublished":"2026-10-02T08:09:19+00:00","dateModified":"2026-10-02T08:25:20+00:00","description":"Kenali Hook WordPress: pengertian, jenis Action dan Filter Hook, cara kerja, contoh penggunaan, serta manfaatnya dalam pengembangan WordPress.","breadcrumb":{"@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#primaryimage","url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","contentUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","width":1366,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/hosteko.com\/blog\/kenali-apa-itu-hook-wordpress#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hosteko.com\/blog"},{"@type":"ListItem","position":2,"name":"Jangan Asal Edit WordPress Core! Kenali Hook untuk Kustomisasi Lebih Aman"}]},{"@type":"WebSite","@id":"https:\/\/hosteko.com\/blog\/#website","url":"https:\/\/hosteko.com\/blog\/","name":"Hosteko Blog","description":"Berita &amp; Informasi Dunia IT","publisher":{"@id":"https:\/\/hosteko.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hosteko.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hosteko.com\/blog\/#organization","name":"HOSTEKO","url":"https:\/\/hosteko.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png","contentUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png","width":195,"height":57,"caption":"HOSTEKO"},"image":{"@id":"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/ffcd8071a8a3d6a862a4e1381d1c4ea0","name":"Fitri Ana","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a099f723518ab9b89aa80b7ed8cadd2d3fae127c5bd735733cf24a661e75a882?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a099f723518ab9b89aa80b7ed8cadd2d3fae127c5bd735733cf24a661e75a882?s=96&d=mm&r=g","caption":"Fitri Ana"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2026\/10\/Desain-tanpa-judul75.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/33495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/comments?post=33495"}],"version-history":[{"count":3,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/33495\/revisions"}],"predecessor-version":[{"id":33502,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/33495\/revisions\/33502"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/media\/33497"}],"wp:attachment":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/media?parent=33495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/categories?post=33495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/tags?post=33495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}