Saya memiliki beberapa tahap proses yang mengintegrasikan faceting kompleks ke dalam pertanyaan WP. Masalahnya adalah - semakin dalam saya semakin fuzzy saya tentang bagaimana seharusnya bekerja dan saya bisa menggunakan pedoman daripada menjadi inventif (dan menggali lubang sendiri).
Tahap umum yang saya miliki (pseudo-code, tetapi hampir nyata):
- mengambil nilai dari URL (sesuatu yang sederhana seperti
person=1
) - nilai proses dan tambahkan instruksi permintaan khusus (
$relationship_query[] = array('relationship' => 'person_to_cat', 'object' => 1 );
) - mengambil instruksi permintaan akhir kustom dan menghasilkan arahan SQL yang sesuai
Sekarang saya memiliki banyak hal yang terjadi (hubungan, taksonomi, tanggal) dan itu menjadi rapuh (satu sudut kode tidak memberikan nilai di mana sudut kode lain mengharapkannya untuk menemukan dan semuanya terpisah).
Jadi pertanyaan besar adalah - protokol apa yang tepat untuk meneruskan, menerima, menyimpan, dan memproses data khusus ke WP melalui URL ?
Bagian yang lebih kecil:
- bagaimana cara memastikan saya tidak bertabrakan dengan WP internal?
- di mana dan bagaimana saya menyimpan data perantara?
- perbedaan antara
query
danquery_vars
properti? Mereka tampaknya digunakan hampir sama dalam kode, namun mereka cenderung memiliki nilai dan metode yang berbedaquery_vars
.
- perbedaan antara
WP
danWP_Query
dan sementara ada banyak hal yang terjadi di sana, saya pikir ituadd_rewrite_tag()
cara yang paling ringkas untuk membuat WP mengetahui var permintaan kustom dan bermain baik dengannya.Contoh: dengan memuat halaman dengan /? Pagename = about, WP akan memproses string kueri dan menemukan query_var yang digunakan adalah page_id.
Contoh lain: /? Cat = 1, /? Category_name = uncategorized dan / category / uncategorized memiliki query_var 'cat' yang sama
sumber
Saya akan mengira itu dilakukan melalui
$_GET
dan / atau$_POST
, kemudian memanipulasi sesuai.Bergantian, simpan kumpulan data dalam db kemudian parsing id ke url seperti itu
Query jelas tidak akan sesederhana itu, mungkin melibatkan banyak bergabung dan bergabung dengan tabel. Itulah yang saya lakukan di salah satu halaman saya, parsing id unik lalu buat data melalui MySQL.
sumber