Cara Mendapatkan Nilai POST dan GET pada Halaman WordPress

Terkadang kita membutuhkan nilai POST atau GET yang dikirimkan melalui halaman WordPress untuk melakukan query. Seperti contohnya ingin membuat indeks berita per tanggal pada halaman WordPress, tentu membutuhkan sebuah form yang bertugas mengirimkan nilai POST atau GET.

Namun, pada WordPress, kita tidak bisa secara langsung mendapatkan nilai POST atau GET yang dikirimkan form menggunakan predefined variable PHP yang biasa digunakan, yaitu $_POST atau $_GET. Alasan singkatnya karena design pattern WordPress tidak memungkinkan untuk melakukan hal itu. Lebih jelasnya dapat melihat gambar diatas mengenai template structure pada WordPress, yang menjelaskan bahwa functions.php pada setiap template WordPress berperan sebagai “penghubung” untuk menyediakan data kepada template.

Jika kita mencoba langsung dengan menggunakan predefined variable PHP tanpa mengetahui design pattern-nya terlebih dahulu, kita akan diarahkan kehalaman 404 Page Not Found.

Salah satu solusinya, kita harus mendaftarkan terlebih dahulu parameter-parameter yang akan dikirimkan pada functions.php, lalu menambahkannya pada file tersebut.

Menambahkan Parameter pada function.php dengan query_vars

Pada folder theme WordPress, buka file functions.php, lalu tambahkan function baru, pada baris paling bawah seperti ini:

<?php

// end of some functions in your functions.php

function add_query_vars($add_vars) {
  $add_vars[] = "idx_year";
  $add_vars[] = "idx_month";
  $add_vars[] = "idx_date";
  $add_vars[] = "idx_submit";

  return $add_vars;
}

add_filter('query_vars', 'add_query_vars');

?>

Pada sumber kode di atas terdapat contoh nama parameter-parameter yang akan dipanggil, yaitu “idx_year”, “idx_month”, “idx_date”, “idx_submit”. Ada 4 parameter yang ditambahkan. Untuk penamaaan paramater diusahakan tidak menggunakan nama yang umum agar tidak menghadapi kendala, seperti diatas saya menambahkan prefix “idx_” pada setiap parameter.

Mendapatkan Nilai POST & GET Menggunakan query_vars

Pastikan penamaan parameter sudah benar, sesuai yang terdaftar pada functions.php. Setelah itu, kita bisa mencoba mengirimkan nilai atau data menggunakan method POST atau GET pada halaman (page) WordPress.

Untuk menangkap nilai-nilai yang telah di-passing, tentu kita tidak akan menggunakan predefined variable lagi, karena sudah diserahkan kepada query_vars. Sehingga kita memanggilnya dengan cara berikut:

<?php

$year = $wp_query->query_vars['idx_year'];
$month = $wp_query->query_vars['idx_month'];
$date = $wp_query->query_vars['idx_date'];
$submit = $wp_query->query_vars['idx_submit'];

// do query here using assigned variables

?>

Jika ingin memeriksa apakah nilai parameter sudah didapatkan atau belum, kita bisa melakukan “echo” terhadap nilai-nilai query_vars tersebut.

<?php

echo $wp_query->query_vars['parameter_name'];

?>

Note: Pemanggilan parameter menggunakan query_vars, dapat mendukung method $_POST dan $_GET sekaligus.

Published by

Riza

Contemplative Learner

3 thoughts on “Cara Mendapatkan Nilai POST dan GET pada Halaman WordPress”

  1. Saya mau tanya kalau saya bikin pendaftaran anggota UKM di WordPress tapi saya ingin mengisi Npm atau nomor mahasiswa nya saja lalu data seperti nama dan field yg lain di get dari tabel yg dibuat caranya bagaimana ya tolong pencerahan nya terimakasih banyak

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.