Anonim

விரைவான முறிவு

  • query_posts - அரிதான விளிம்பு நிகழ்வுகளைத் தவிர பயன்படுத்த வேண்டாம்
  • pre_get_posts - ஒரு பக்கத்தில் இயல்புநிலை வினவலை மாற்ற விரும்பினால் பயன்படுத்தவும்
  • புதிய WP_Query - முக்கிய வினவலில் இருந்து வேறுபட்ட முடிவுகளைப் பெற பயன்படுத்தவும்
  • get_posts - WP_Query ஐப் போலவே, அதற்கு பதிலாக வரிசை வடிவத்தில் முடிவுகளை வழங்குகிறது
  • query_posts ஒரு

    வினவல்_ இடுகைகளைப் பயன்படுத்துவது இனி பரிந்துரைக்கப்படவில்லை. நீங்கள் சாதிக்க முயற்சிப்பதை நிறைவேற்ற சிறந்த வழிகள் உள்ளன. முக்கிய வினவலை மாற்ற முயற்சிக்கிறீர்களா? முடிவுகளை வடிகட்ட pre_get_posts என்ற செயலைப் பயன்படுத்தவும் (கீழே காண்க). query_posts அசல் பிரதான வினவலை பக்கத்திற்கு வீசுகிறது (இது ஏற்கனவே இயக்கப்பட்ட பிறகு), மேலும் ஒரு புதிய முக்கிய வினவலை உருவாக்குகிறது. இது அனைத்து பிந்தைய தொடர்புடைய உலகளாவிய மாறிகளையும் மாற்றுகிறது, மேலும் முற்றிலும் புதிய தரவுத்தள அழைப்பை விளைவிக்கிறது. ஏற்கனவே உள்ள வினவலை மாற்றக்கூடாது என்பதற்கு எந்த காரணமும் இல்லை. அதைப் பயன்படுத்த வேண்டிய சில விளிம்பு வழக்குகள் உள்ளன என்று நான் நம்புகிறேன், ஆனால் என் தலையின் மேற்புறத்தில் எதையும் நினைத்துப் பார்க்க முடியாது. கீழேயுள்ள விருப்பங்களில் ஒன்றைப் பயன்படுத்தவும், ஏனெனில் அவை மிகவும் பொருத்தமானதாக இருக்கும்.

    pre_get_posts

    இது ஒரு வடிகட்டி. இது முக்கிய வினவலை ஒரு பக்கத்திற்கு மாற்றியமைக்கிறது. எனவே, எடுத்துக்காட்டாக, முகப்புப்பக்கத்தில் திரும்பிய முடிவுகளின் எண்ணிக்கையை மாற்ற விரும்புகிறோம்…

செயல்பாடு tj_change_home_number (ery வினவல்) {if (is_home ()) {ery query-> set ('posts_per_page', 2); திரும்ப; }} add_action ('pre_get_posts', 'tj_change_home_number');

இது முகப்புப்பக்கத்தில் 2 இடுகைகளை மட்டுமே திருப்புவதற்கான முக்கிய வினவலை மாற்றும்.

wp_query

எந்தவொரு வார்ப்புருவிலும் உள்ள முக்கிய வினவல் WP_Query இன் ஒரு எடுத்துக்காட்டு. ஒரு டெம்ப்ளேட்டிற்குள் உலகளாவிய இடுகை மாறிகளுடன் நீங்கள் தொடர்பு கொள்ளும்போது, ​​அது WP_Query இன் விளைவாகும். இதற்கான பயன்பாட்டு வழக்குகள் ஏராளம், ஆனால் get_posts ஐப் போலவே, தொடர்புடைய இடுகைகளை இழுக்கும் நோக்கத்திற்காக ஒரு புதிய WP_Query ஐ அறிவிக்கிறேன், அந்த வழிகளில் ஏதாவது. புதிய WP_Query மூலம் வளையும்போது நீங்கள் the_post () செயல்பாட்டை இயக்கினால், உலகளாவிய இடுகை தரவை அசல் பிரதான வினவலுக்கு மீட்டமைக்க நீங்கள் லூப்பிங் செய்தபின் wp_reset_postdata () செயல்பாட்டை இயக்கவும் என்பதை நினைவில் கொள்ளுங்கள் .

get_posts

Get_posts ஐப் பயன்படுத்துவதன் மூலம், நீங்கள் ஒரு புதிய WP_Query ஐ அழைக்கிறீர்கள், மேலும் அந்த தகவலை வரிசை வடிவத்தில் திரும்பப் பெறுகிறீர்கள். முகப்புப்பக்கத்தில் ஒரு ஸ்லைடருக்கான இடுகைகளைத் திருப்பித் தரும்போது அல்லது பக்கப்பட்டியில் சில தொடர்புடைய இடுகைகளை அழைக்கும்போது நான் பொதுவாக get_posts ஐப் பயன்படுத்துவேன். WP_Query எளிதில் பயன்படுத்தப்படலாம், ஆனால் உலகளாவிய இடுகை மாறிகளை மாற்றாமல் இடுகைகளின் வரிசையைப் பெறுவதற்கான சிறந்த வழி இது. என் பார்வையில் இது மிகவும் எளிமையானது மற்றும் பயன்படுத்த எளிதானது. உங்கள் தரவு திரும்பிய பின் எந்த செயல்பாட்டு அழைப்புகளும் தேவையில்லை, ஒரு வரிசை வழியாக சுழலும்.

இது கொஞ்சம் குழப்பமாக இருக்கலாம், எனவே கீழேயுள்ள கருத்துகளில் கேள்விகளைக் கேட்கலாம்.

குறிப்பு:
wp_query
pre_get_posts
query_posts ஒரு
get_posts

Wp_query vs query_posts vs get_posts vs pre_get_posts