WP_Query Class एक ऐसी Class है जिसे wp-includes/query.php File में Specify किया गया है और ये Class किसी Request किए गए Post या Page की विभिन्न Details के साथ Deal करता है और WordPress Initialization के दौरान हमने देखा था कि WordPress Initialization के दौरान $wp_query नाम का एक Object Create होता है, जो कि इस WP_Query Class का ही Object होता है।
User Web Browser के माध्यम से जो Request Perform करता है, इस $wp_query Object की विभिन्न Properties में इस Current Request से सम्बंधित विभिन्न प्रकार की जानकारियां Fill हो जाती हैं, जिन्हें इसी Object में Specify किए गए विभिन्न Methods द्वारा Access व Manipulate किया जाता है।
ये Object ही इस बात को तय करता है कि Currently WordPress किस प्रकार की Query (Category, Archive, Dated Archive, Feed, Search, etc…) के साथ Deal कर रहा है और उस Query के आधार पर Requested Post को फिर से User के Web Browser में Response Object के रूप में Fetch कर देता है।
ज्यादातर स्थितियों में हम इस Object के माध्यम से बिना $post Global Variable को Use किए हुए या बिना Class Internals को जाने हुए, विभिन्न प्रकार की Information प्राप्त कर सकते हैं और इन जानकारियों को प्राप्त करने के लिए ये Class हमें विभिन्न बहुत सारे Methods Provide करता है। फिर भी WP_Query Class के माध्यम से हम मूल रूप से दो तरह की जरूरतों को पूरा करने के लिए विभिन्न जानकारियां प्राप्त करते हैं:
- इस Object से हम इस बात का पता लगाते हैं कि WordPress Currently किस तरह की Request के साथ Deal कर रहा है और इस बात की जानकारी रखने के लिए विभिन्न प्रकार की $is_ Properties को Design किया गया है, जिन्हे WordPress में Conditional Tags के रूप में Categorize किया गया है। इन Properties का उपयोग मूल रूप से Plugin Development के दौरान किया जाता है।
- WP_Query Class बहुत सारे ऐसे Methods Provide करता है, जिनका प्रयोग विभिन्न प्रकार के Common Tasks को पूरा करने के लिए WordPress Loop, जिसे “The Loop” नाम से भी जाना जाता है, में किया जाता है और सामान्यत: इन Methods का उपयोग मूल रूप से Theme Development के दौरान किया जाता है।
उदाहरण के लिए जब हम have_posts() Function का प्रयोग करके इस बात का पता लगा रहे होते हैं, कि Current User Request को Fulfill करने के लिए कोई Post, $wp_query Object में Exist है या नहीं, तब हम वास्तव में $wp_query->have_posts() Method को Use कर रहे होते हैं।
इसी तरह से जब हम the_post() Function का प्रयोग करके $wp_query Object की विभिन्न Internal Properties व $post Global Variable को Initialize करते हुए Current Post के Content को Access कर रहे होते हैं, तब हम वास्तव में $wp_query->the_post() Method को Call कर रहे होते हैं।
$post Variable वह Global Variable होता है, जिसमें Database से Returned Current Post से सम्बंधित विभिन्न Information होती हैं। इसलिए हमें जहां पर भी Current Post को Refer करना होता है, हम $post को ही global Keyword के साथ Declare करते हैं।
WP_Query – Properties
WP_Query Class के $wp_query Object की Properties को हमें कभी भी Manually Change नहीं करना चाहिए क्योंकि ये Properties उस समय Automatically Initialize हो जाती हैं, जब WordPress Initialization के दौरान ये Object Create होता है और इस Object में Current Request से सम्बंधित Data होते हैं।
बल्कि इन Properties को हमेंशा इसी Class में Specify किए गए Methods का प्रयोग करते हुए ही Use करना चाहिए, क्योंकि Object Oriented Programming System में किसी Class के Methods ही उस Class के Data को Access करने के Most Appropriate Interface होते हैं।
$query Property
इस Property में वह Query String होता है, जिसे WP Class द्वारा $wp_query Object में Pass किया गया होता है।
$query_vars Property
ये Property एक Associative Array होता है, जिसमें Query String के विभिन्न Query Variables व उनकी Values, Key-Value Pair के रूप में Stored रहती हैं।
$queried_object Property
इस Property तब उपयोगी होता है, जब Request के रूप में किसी Category, Author, Post या Page की Request की गई हो। इस Property में Requested Category, Author, Page या Post की Information होती है।
$queried_object_id Property
इस Property तब उपयोगी होता है, जब Request के रूप में किसी Category, Author, Post, Page की Request की गई हो, तब इस Property में Requested Category, Author, Page या Post के ID की Information होती है।
$posts Property
ये Property, Database से Request किए गए Post की विभिन्न Information से Fill हो जाता है।
$post_count Property
इस Property में Currently Display होने वाले कुल Posts की संख्या होती है।
$found_posts Property
इस Property में Current Query Parameters के आधार पर Return होने वाले सभी Matching Posts की कुल संख्या होती है।
$max_num_pages Property
इस Property में कुल Return होने वाले Pages की संख्या होती है जो कि $found_posts या $posts_per_page द्वारा Return होती है।
$current_post Property
इस Property में Currently Display होने वाले Post का Index होता है, जबकि ये Property “The Loop” के दौरान Available होता है।
$post Property
इस Property में Currently Display होने वाला Post होता है, जबकि ये Property भी “The Loop” के दौरान Available होता है।
$is_ Properties
उपरोक्त सभी Properties के अलावा बहुत सारी $is_ Properties होती हैं जो कि Boolean Properties होती हैं और हमें इस बात का Indication देती हैं कि किस तरह की Request Perform की गई है। ये सभी Properties Self Descriptive हैं जो कि निम्नानुसार हैं:
$is_single | $is_page | $is_archive | $is_preview | $is_date |
$is_year | $is_month | $is_time | $is_author | $is_category |
$is_tag | $is_tax | $is_search | $is_feed | $is_comment_feed |
$is_trackback | $is_home | $is_404 | $is_comments_popup | $is_admin |
$is_attachment | $is_singular | $is_robots | $is_posts_page | $is_paged |
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF