Mam wieloetapowy proces, który integruje złożone aspekty w zapytaniach WP. Problem w tym, że im bardziej się pogłębiam, tym bardziej jestem rozmyty na temat tego, jak powinien działać, i mogłem skorzystać z wytycznej, zamiast być pomysłowym (i wykopać sobie dziurę).
Ogólne etapy, które mam (pseudo-kod, ale zbliżony do rzeczywistego):
- pobierać wartość z adresu URL (coś prostego jak
person=1
) - przetwarzaj wartość i dołącz niestandardowe instrukcje zapytania (
$relationship_query[] = array('relationship' => 'person_to_cat', 'object' => 1 );
) - pobierz końcowe instrukcje niestandardowego zapytania i wygeneruj odpowiednie dyrektywy SQL
Do tej pory mam wiele takich wydarzeń (relacje, taksonomie, daty) i stają się one niestabilne (jeden róg kodu nie nadaje wartości tam, gdzie oczekuje się go w innym rogu kodu i wszystko się rozpada).
Tak duże pytanie brzmi - jaki jest odpowiedni protokół do przekazywania, odbierania, przechowywania i przetwarzania niestandardowych danych do WP za pośrednictwem adresu URL ?
Mniejsze części:
- jak upewnić się, że nie koliduję z elementami wewnętrznymi WP?
- gdzie i jak przechowuję dane pośredniczące?
- różnica między
query
iquery_vars
właściwościami? Wydaje się, że są one używane prawie tak samo w kodzie, ale zwykle mają różne wartości, a metody sprzyjająquery_vars
jednej.
- różnica między
WP
iWP_Query
a jednocześnie istnieje wiele rzeczy dzieje się tam, myślę, żeadd_rewrite_tag()
wydaje się najbardziej zwięzły sposób, aby WP świadomi niestandardowego zapytania var i grać dobrze z nim.