WordPress Query Database: WP_Query एक ऐसी 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 में उस 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 करते हैं।
WordPress Query Database: WP_Query – Properties
WordPress Query Database: 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 |
WordPress Query Database: WP_Query – Methods
WP_Query Class में Specified विभिन्न Properties को कभी भी Directly Access नहीं करना चाहिए, बल्कि इन्हें Access करने के लिए इसी Class में Define किए गए विभिन्न Methods को Use करना चाहिए, जो कि निम्नानुसार है:
init() Method
इस Method का प्रयोग करके हम WP_Query Class के $wp_query Object को Initialize करते हैं। यानी हम इस Object की सभी Properties को null, zero या false Set कर सकते हैं।
parse_query( $query ) Method
ये Method, Argument के रूप में एक String Formatted Query Accept करता है, उसे Parse करता है और $posts, $post_count, $post व $current_post Properties को छोडकर अन्य सभी Properties को Initialize कर देता है।
parse_query_vars() Method
ये Method, Old Query String को फिर से Reparse करता है।
get( $query_var ) Method
ये Method, Named Query Variable को Return करता है।
set( $query_var, $value ) Method
ये Method, Named Query Variable को नई Value से Set करता है।
&get_posts() Method
ये Method, Database से Requested Posts को Fetch या Return करता है। साथ ही $posts व $post_count Properties को भी Populate करता है। इस Method के साथ Specified & Symbol वास्तव में Actual Parameter को Return करता है। यानी Object का Reference या Pointer Return करता है।
next_post() Method
ये Method, “The Loop” में Use किया जाता है, जो कि Post Pointer को Current Post से अगले Post पर ले जाता है। यानी $current_post को Increment करता है और $post को न, Current Post Object से Set कर देता है तथा Current Post Object Return करता है। यहां ध्यान रखने वाली बात ये है कि इस Method द्वारा Return होने वाला Current Post Object, Global $post Variable को Set नहीं करता।
the_post() Method
ये Method भी “The Loop” में Use किया जाता है, जो कि Post Pointer को Current Post से अगले Post पर ले जाने के साथ ही Global $post Variable को भी Set कर देता है।
have_posts() Method
ये Method भी “The Loop” में Use किया जाता है, जो इस बात को निश्चित करता है कि User के Web Browser में Render करने के लिए और Posts Remaining यानी बचे हुए हैं या नहीं।
rewind_posts() Method
ये Method $current_post व $posts Properties को फिर से Reset कर देता है। ताकि यदि have_posts(), next_post() या the_post() जैसे Methods को Use किया जाए, तो ये सभी Methods First Post से Posts की Accessing करना शुरू करें न कि Current Post से।
&query( $query ) Method
ये Method parse_query() व get_posts() Methods को Call करता है और get_posts() Method द्वाराए Return किए जाने वाले Posts का Reference Return करता है।
get_queried_object() Method
यदि $queried_object Property अभी तक Set न हुई हो, तो ये Method $get_queried_object Property को Set कर देता है।
get_queried_object_id() Method
यदि $queried_object_id Property अभी तक Set न हुई हो, तो ये Method $get_queried_object_id Property को Set कर देता है।
WP_Query( $query = ” ) Constructer Method
ये Method एक Constructor Method है, जिसका प्रयोग नया WP_Query Object Create करने के लिए किया जाता है। जबकि यदि हम इस Method में Argument के रूप में कोई Query Specify करते हैं, तो हमें query() Method को Call करना जरूरी होता है। इस Method को कई तरीकों से Use करते हुए विभिन्न प्रकार की Custom Requirements को पूरा किया जा सकता है, इसलिए हम इस Method के बारे में आगे विस्तार से जानेंगे। (WordPress Query Database)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF