WordPress-ൽ WP_Query ഉപയോഗിക്കുന്നു. സ്ഥിര മൂല്യങ്ങൾ. ഓരോ പേജിനും #1 പോസ്റ്റുകൾ

നിങ്ങൾ ഞങ്ങളുടെ ലേഖനങ്ങളുടെ പരമ്പര പിന്തുടരുകയാണെങ്കിൽ, WP_Query ക്ലാസ് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്നും നിങ്ങളുടെ സ്വന്തം അന്വേഷണങ്ങൾ സൃഷ്ടിക്കാൻ അത് എങ്ങനെ ഉപയോഗിക്കാമെന്നും നിങ്ങൾക്ക് ഇതിനകം തന്നെ അറിയാമായിരിക്കും. ഡാറ്റാബേസിൽ നിന്ന് ഏത് ഡാറ്റയാണ് നിങ്ങൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ ആഗ്രഹിക്കുന്നതെന്ന് നിർണ്ണയിക്കാൻ, ഈ ക്ലാസിൻ്റെ ആർഗ്യുമെൻ്റുകൾ നിങ്ങൾ പരിചിതരാകുകയും അവ എങ്ങനെ ശരിയായി ഉപയോഗിക്കണമെന്ന് പഠിക്കുകയും വേണം.

ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾക്കായുള്ള ആർഗ്യുമെൻ്റുകൾ ഇന്ന് നമുക്ക് പരിചയപ്പെടാം ( ഇഷ്ടാനുസൃത ഫീൽഡുകൾ), എന്നാൽ ആദ്യം നമുക്ക് WP_Query-ൽ ആർഗ്യുമെൻ്റുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഓർക്കാം.

WP_Query-ൽ ആർഗ്യുമെൻ്റുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നമുക്ക് ഓർക്കാം

നിങ്ങൾ തീമുകളിലോ പ്ലഗിന്നുകളിലോ WP_Query ഉപയോഗിക്കുമ്പോൾ, നിങ്ങളുടെ കോഡിൽ ഉൾപ്പെടുത്തേണ്ട നാല് പ്രധാന ഘടകങ്ങൾ ഉണ്ട്:

  • പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്ന ഒരു അഭ്യർത്ഥനയ്ക്കുള്ള ആർഗ്യുമെൻ്റുകൾ;
  • അപേക്ഷ തന്നെ;
  • സൈക്കിൾ;
  • അവസാന ഘട്ടം: റെക്കോർഡിംഗ് ഡാറ്റ പുനഃസജ്ജമാക്കുന്നു.

പ്രായോഗികമായി, ഇത് ഇതുപോലെ കാണപ്പെടുന്നു:

have_posts()) ( // അന്വേഷണ ഫലങ്ങളിൽ നിന്ന് ഡാറ്റ പ്രോസസ്സിംഗ് സൈക്കിൾ ആരംഭിക്കുമ്പോൾ ($query->have_posts()) ( $query->the_post(); // ചോദിച്ച പോസ്റ്റിൻ്റെ ഉള്ളടക്കങ്ങൾ) // യഥാർത്ഥമായത് പുനഃസ്ഥാപിക്കുന്നു പോസ്റ്റ് ഡാറ്റ wp_reset_postdata(); ?>

ഡാറ്റാബേസിൽ നിന്ന് എന്ത് ഡാറ്റ വീണ്ടെടുക്കണമെന്ന് വാദങ്ങൾ WordPress-നോട് പറയുന്നു:

$args = അറേ(// നിങ്ങളുടെ അഭ്യർത്ഥനയ്ക്കുള്ള ആർഗ്യുമെൻ്റുകൾ);

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ആർഗ്യുമെൻ്റുകൾ ഒരു അറേയിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

വാദങ്ങൾക്കായി കോഡ് സൃഷ്ടിക്കുന്നു

നിലവിലുണ്ട് പ്രത്യേക വഴിഒരു അറേയിൽ ആർഗ്യുമെൻ്റുകൾ ക്രമീകരിക്കുന്നു:

$args = array("parameter1" => "value", "parameter2" => "value", "parameter3" => "value");

പരാമീറ്ററുകളും അവയുടെ മൂല്യങ്ങളും ഉൾപ്പെടുത്തേണ്ടത് ആവശ്യമാണ് ഒറ്റ ഉദ്ധരണികൾ, കൂടാതെ അവയ്ക്കിടയിൽ => ഉപയോഗിക്കുക. ഓരോ ആർഗ്യുമെൻ്റും ഒരു കോമയാൽ വേർതിരിച്ചിരിക്കുന്നു. നിങ്ങൾ ഇവിടെ എന്തെങ്കിലും തെറ്റ് ചെയ്‌താൽ, നിങ്ങൾ വ്യക്തമാക്കിയ എല്ലാ ആർഗ്യുമെൻ്റുകളും വേർഡ്പ്രസ്സ് പോൾ ചെയ്തേക്കില്ല, സ്‌ക്രീനിൽ ഒന്നും പ്രദർശിപ്പിക്കില്ല.

ഇഷ്‌ടാനുസൃത ഫീൽഡ് ഓപ്ഷനുകൾ

ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ ( പോസ്റ്റ് മെറ്റാഡാറ്റ എന്നും അറിയപ്പെടുന്നു) ഒരു പ്രത്യേക WP_Meta_Query ക്ലാസ് ഉപയോഗിക്കാം. അതിനാൽ, പോസ്റ്റ് മെറ്റാഡാറ്റ ലഭിക്കുന്നതിന്, നിങ്ങൾക്ക് WP_Meta_Query അല്ലെങ്കിൽ WP_Query ( അത് ഇപ്പോഴും WP_Meta_Query ആക്സസ് ചെയ്യുന്നു). എന്നാൽ നിങ്ങൾക്ക് മെറ്റാഡാറ്റയും മറ്റ് ഘടകങ്ങളും അന്വേഷിക്കണമെങ്കിൽ ( പോസ്റ്റ് തരം പോലെ), തുടർന്ന് WP_Query മാത്രമേ ഉപയോഗിക്കാവൂ.

ഈ ക്ലാസും WP_Query ഉം ഉപയോഗിക്കുന്നതിലെ പ്രധാന വ്യത്യാസം, നെസ്റ്റഡ് അറേകൾ ഉപയോഗിക്കാതെ തന്നെ ലളിതമായ ആർഗ്യുമെൻ്റുകൾ സൃഷ്ടിക്കാൻ WP_Query നിങ്ങളെ അനുവദിക്കുന്നു എന്നതാണ്.

ഒരു ലളിതമായ ഇഷ്‌ടാനുസൃത ഫീൽഡ് അഭ്യർത്ഥനയ്ക്കുള്ള ഓപ്‌ഷനുകൾ

ചോദ്യം ചെയ്യുന്നതിനുള്ള അടിസ്ഥാന WP_Query പാരാമീറ്ററുകൾ ഇഷ്ടാനുസൃത ഫീൽഡുകൾ:

  • മെറ്റാ_കീ( സ്ട്രിംഗ്): ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ;
  • meta_value( സ്ട്രിംഗ്
  • meta_value_num( നമ്പർ): ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം;
  • meta_compare( സ്ട്രിംഗ്): ടെസ്റ്റിംഗിനുള്ള ഓപ്പറേറ്റർ " മെറ്റാ_മൂല്യം ". സാധുവായ മൂല്യങ്ങൾ: "=", "!=", ">", ">=", "<", "<=", "LIKE", "NOT LIKE", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "NOT EXISTS", "REGEXP", "NOT REGEXP" или "RLIKE". Значение по умолчанию: "=".

ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾക്കെതിരെ ലളിതമായ ചോദ്യങ്ങൾ സൃഷ്‌ടിക്കാൻ ഈ ഓപ്‌ഷനുകൾ ഉപയോഗിക്കുക. ഉദാഹരണത്തിന്, കീ കീ1 ഉപയോഗിച്ച് ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ അടങ്ങിയിരിക്കുന്ന റെക്കോർഡുകൾ പ്രദർശിപ്പിക്കുന്നതിന് ( അതിൻ്റെ അർത്ഥം പരിഗണിക്കാതെ), നിങ്ങൾ ഇനിപ്പറയുന്ന വാദം ഉപയോഗിക്കേണ്ടതുണ്ട്:

$args = അറേ("meta_key" => "key1");

മൂല്യം പരിഗണിക്കാതെ, കീ1 ഉള്ള ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് ഉള്ള എല്ലാ റെക്കോർഡുകളും ഈ ആർഗ്യുമെൻ്റ് ലഭിക്കും. ഒരു നിർദ്ദിഷ്ട മൂല്യം നൽകുന്നതിന്, നിങ്ങൾ ഒരു അധിക ആർഗ്യുമെൻ്റ് ചേർക്കേണ്ടതുണ്ട്:

$args = array("meta_key" => "key1", "meta_value" => "value1");

മൂല്യം1 മൂല്യമുള്ള കീ1 ഉള്ള ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് ഉള്ള എല്ലാ റെക്കോർഡുകളും ഈ ആർഗ്യുമെൻ്റ് പ്രദർശിപ്പിക്കും.

നിങ്ങൾക്ക് ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് ഉപയോഗിച്ച് എല്ലാ റെക്കോർഡുകളും വീണ്ടെടുക്കാനും കഴിയും, അതിൻ്റെ മൂല്യം മൂല്യം1 ആയിരിക്കും, കീ പരിഗണിക്കാതെ തന്നെ. ഡ്യൂപ്ലിക്കേറ്റ് മൂല്യങ്ങളുള്ള ഒന്നിലധികം ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീകൾ ഉപയോഗിക്കുമ്പോൾ ഇത് ആവശ്യമാണ്:

$args = അറേ("meta_value" => "value1");

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, നിങ്ങൾക്ക് ഒരു അനിയന്ത്രിതമായ ഫീൽഡിലേക്ക് കീ അല്ലെങ്കിൽ മൂല്യം വഴി ഒരു ചോദ്യം നയിക്കാനാകും, കൂടാതെ ഓരോ തവണയും രണ്ട് ആർഗ്യുമെൻ്റുകളും വ്യക്തമാക്കേണ്ട ആവശ്യമില്ല.

ഞങ്ങൾ meta_compare ആർഗ്യുമെൻ്റ് ഉപയോഗിക്കുന്നു

meta_compare ആർഗ്യുമെൻ്റിനായി നിരവധി ഓപ്ഷനുകൾ ഉണ്ടെന്ന് നിങ്ങൾ ശ്രദ്ധിച്ചിരിക്കാം. ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്നവ നോക്കാം:

  • =: തുല്യം. ഇതാണ് സ്ഥിരസ്ഥിതി ക്രമീകരണം. അതായത്, നിങ്ങൾ meta_compare ആർഗ്യുമെൻ്റ് ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, WP_Query അത് ഉപയോഗിക്കും;
  • !+: തുല്യമല്ല;
  • >: അതിലും കൂടുതൽ;
  • >=: വലുത് അല്ലെങ്കിൽ തുല്യം;
  • ലൈക്ക്: നിങ്ങൾ മൂല്യം നൽകുന്ന കേസ് ഈ ഓപ്ഷൻ അവഗണിക്കുന്നു. മൂല്യങ്ങൾക്കായി തിരയാൻ ഇവിടെ നിങ്ങൾക്ക് പ്രത്യേക പ്രതീകങ്ങൾ പോലും ഉപയോഗിക്കാം;
  • ഇഷ്‌ടമല്ല: ലൈക്ക് പോലെ അതേ തത്ത്വത്തിൽ പ്രവർത്തിക്കുന്നു, പക്ഷേ തികച്ചും വിപരീതമാണ്;
  • IN: അറേയിൽ ഒന്നോ അതിലധികമോ മൂല്യങ്ങളുള്ള എൻട്രികൾക്കായി തിരയാൻ 'മൂല്യം' ആർഗ്യുമെൻ്റായി ഒരു അറേയ്‌ക്കൊപ്പം ഈ ഓപ്ഷൻ ഉപയോഗിക്കുക;
  • ഇടയിൽ: ആ രണ്ട് മൂല്യങ്ങൾക്കിടയിലുള്ള (എന്നാൽ തുല്യമല്ലാത്ത) ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യമുള്ള റെക്കോർഡുകൾ കണ്ടെത്താൻ രണ്ട് സംഖ്യാ മൂല്യങ്ങളുടെ (മെറ്റാ_വാല്യൂ ആർഗ്യുമെൻ്റിൽ വ്യക്തമാക്കിയത്) ഒരു അറേ ഉപയോഗിച്ച് ഉപയോഗിക്കുന്നു;
  • ഇടയിലല്ല: meta_value-ലെ രണ്ട് സംഖ്യാ മൂല്യങ്ങളുടെ നിർദ്ദിഷ്‌ട ശ്രേണിക്ക് പുറത്തുള്ള ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യമുള്ള റെക്കോർഡുകൾക്കായുള്ള അന്വേഷണങ്ങൾ.

meta_compare ആർഗ്യുമെൻ്റ് ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡിൻ്റെ കീകളോ മൂല്യങ്ങളോ ഒഴിവാക്കാനാകും. കീ 1 ഉപയോഗിക്കുന്ന പ്രധാന മൂല്യം ഒഴികെയുള്ള എല്ലാ റെക്കോർഡുകളും വീണ്ടെടുക്കുന്നതിന്, നിങ്ങൾ ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കും:

$args = array("meta_key" => "key1", "meta_compare" => "!=");

നിങ്ങൾക്ക് meta_compare ആർഗ്യുമെൻ്റിൽ 'NOT IN' എന്ന മൂല്യം ഉപയോഗിക്കാം, അത് ഒന്നിലധികം മൂല്യങ്ങളുടെ ഒരു സ്ട്രിംഗ് ഉപയോഗിച്ചും ഉപയോഗിക്കാം:

$args = array("meta_key" => "key1, key2", "meta_compare" => "INNOT");

കീ1 അല്ലെങ്കിൽ കീ2 മൂല്യങ്ങളുള്ള ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ ഇല്ലാത്ത റെക്കോർഡുകളെ ഈ കോഡ് അന്വേഷിക്കുന്നു. നിങ്ങൾക്ക് ഒരു പ്രത്യേക ഇഷ്‌ടാനുസൃത ഫീൽഡ് ഉള്ള റെക്കോർഡുകൾക്കായി അന്വേഷിക്കേണ്ടതുണ്ടെങ്കിൽ മറ്റൊന്നല്ല, നിങ്ങൾക്ക് ഒരു നെസ്റ്റഡ് അറേ ഉപയോഗിക്കാം, അത് ഞാൻ പിന്നീട് നിങ്ങളോട് പറയാം.

മുകളിലുള്ള ഉദാഹരണങ്ങൾ നോൺ-സംഖ്യാ മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നു. സംഖ്യാ മൂല്യങ്ങളുള്ള ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് WP_Query ഉപയോഗിക്കാം, ആ മൂല്യങ്ങളുള്ള പോസ്റ്റുകൾ വീണ്ടെടുക്കുന്നതിന് മാത്രമല്ല, ആ മൂല്യങ്ങളേക്കാൾ ഉയർന്നതോ താഴ്ന്നതോ ആയ ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ അന്വേഷിക്കുന്നതിനും. ഉദാഹരണത്തിന്, നിർദ്ദിഷ്ട വിലയേക്കാൾ വിലകുറഞ്ഞതോ ചെലവേറിയതോ ആയ ഉൽപ്പന്നങ്ങൾക്കായി തിരയേണ്ടിവരുമ്പോൾ ഇത് ഒരു ഓൺലൈൻ സ്റ്റോറിൽ ഉപയോഗപ്രദമാകും.

തന്നിരിക്കുന്ന നമ്പറിനേക്കാൾ വലിയ ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യമുള്ള റെക്കോർഡുകൾ കണ്ടെത്തുന്നതിന്, നിങ്ങൾ ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കേണ്ടതുണ്ട്:

$args = അറേ("meta_key" => "numkey", "meta_value" => "100", "meta_compare" => ">");

ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം 100-ൽ കൂടുതലുള്ള എല്ലാ റെക്കോർഡുകളും ഈ ചോദ്യം തിരികെ നൽകും. നിങ്ങൾക്ക് 100-ലും അതിനുമുകളിലും മൂല്യങ്ങളുള്ള റെക്കോർഡുകൾ അഭ്യർത്ഥിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് "meta_compare" => ">=" പാരാമീറ്റർ ഉപയോഗിക്കാം.

കൂടാതെ, BETWEEN ആർഗ്യുമെൻ്റും ഒരു അറേയും ഉപയോഗിച്ച്, ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ മൂല്യങ്ങൾ ഉപയോഗിക്കുന്ന റെക്കോർഡുകൾ നിങ്ങൾക്ക് കണ്ടെത്താനാകും ഒരു നിശ്ചിത പരിധി:

$args = array("meta_key" => "numkey", "meta_value" => array("100", "200"), "meta_compare" => "BETWEEN");

100 നും 200 നും ഇടയിലുള്ള ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യങ്ങളുള്ള എല്ലാ റെക്കോർഡുകളും കണ്ടെത്താൻ അത്തരമൊരു അന്വേഷണം നിങ്ങളെ അനുവദിക്കും.

നെസ്റ്റഡ് ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾക്കായുള്ള അന്വേഷണങ്ങൾ

നിങ്ങൾക്ക് നിരവധി ഇഷ്‌ടാനുസൃത ഫീൽഡുകളിൽ ഒരു അന്വേഷണം നടത്തണമെങ്കിൽ അല്ലെങ്കിൽ ഒന്നിൽ കൂടുതൽ ഓപ്പറേറ്ററുകൾ ഉപയോഗിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് ഒരു നെസ്റ്റഡ് അറേ ഉപയോഗിക്കാം.

അഭ്യർത്ഥന ഘടന ഇപ്രകാരമായിരിക്കും:

$args = നിര

WP_Query ക്ലാസിലെ "meta_query" ആർഗ്യുമെൻ്റിൻ്റെ ഘടന WP_Meta_Query ക്ലാസ് ഉപയോഗിക്കുമ്പോൾ സമാനമായിരിക്കും, അത് ഞങ്ങൾ ഇനിപ്പറയുന്ന ലേഖനങ്ങളിൽ വിശദമായി സംസാരിക്കും.

വേർഡ്പ്രസ്സ് പതിപ്പ് 4.1 പുറത്തിറങ്ങിയതോടെ, കൂടുതൽ സങ്കീർണ്ണമായതും സൃഷ്ടിക്കാൻ നെസ്റ്റഡ് അറേകളുടെ ഒന്നിലധികം ലെവലുകൾ ഉപയോഗിക്കാൻ സാധിച്ചു. കൃത്യമായ ചോദ്യങ്ങൾ. അത്തരം അഭ്യർത്ഥനകളുടെ ഘടന ഇതുപോലെ കാണപ്പെടുന്നു:

$args = നിര ( // `മെറ്റാ_ക്വറി` ആർഗ്യുമെൻ്റുകളുടെ രണ്ടാമത്തെ സെറ്റ്.))));

ഈ സമീപനം വിവിധ ബന്ധങ്ങൾ ഉപയോഗിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു വ്യത്യസ്ത തലങ്ങൾഅപേക്ഷയിൽ. ഉദാഹരണത്തിന്, ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡിൽ ഒരു മൂല്യവും മറ്റൊരു ഇഷ്‌ടാനുസൃത ഫീൽഡിൽ രണ്ട് മൂല്യങ്ങളും ഉള്ള റെക്കോർഡുകൾക്കായി നിങ്ങൾക്ക് ഒരു അന്വേഷണം സൃഷ്‌ടിക്കാനാകും.

ഉപസംഹാരമായി

പോസ്റ്റ് മെറ്റാഡാറ്റ അന്വേഷണങ്ങൾ സൃഷ്ടിക്കാൻ WP_Query ക്ലാസ് ഉപയോഗിക്കുന്നു ( അല്ലെങ്കിൽ ഇഷ്ടാനുസൃത ഫീൽഡുകൾ) ഓപ്പറേറ്റർമാരുമായി സംയോജിച്ച് നിരവധി വ്യത്യസ്ത ആർഗ്യുമെൻ്റുകൾക്കൊപ്പം പ്രവർത്തിക്കാനുള്ള വഴക്കം നൽകുന്നു.

നിങ്ങളുടെ ചോദ്യത്തിൽ പോസ്റ്റ് മെറ്റാഡാറ്റ ആർഗ്യുമെൻ്റുകൾ മാത്രമേ ഉപയോഗിക്കാവൂ എങ്കിൽ ( അവയെ മറ്റുള്ളവരുമായി സംയോജിപ്പിക്കരുത്), തുടർന്ന് നിങ്ങൾക്ക് WP_Meta_Query ക്ലാസും ഉപയോഗിക്കാം, അത് ഞങ്ങൾ പിന്നീട് സംസാരിക്കും.

ലേഖനത്തിൻ്റെ വിവർത്തനം " WP_Query ആർഗ്യുമെൻ്റുകൾ: ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾഎ മുതൽ ഇസഡ് വരെയുള്ള പ്രോജക്ട് വെബ്‌സൈറ്റ് ബിൽഡിംഗിൻ്റെ സൗഹൃദസംഘമാണ് തയ്യാറാക്കിയത്.

Prestashop ഒരു ഓൺലൈൻ സ്റ്റോർ മാനേജ്മെൻ്റ് എഞ്ചിനാണ്. ഇൻറർനെറ്റിൽ നിങ്ങൾക്ക് പണമടച്ചതും സൗജന്യവുമായ നിരവധി കണ്ടെത്താനാകും Prestashop മൊഡ്യൂളുകൾ, ഇത് ഉൽപ്പന്ന പേജുകൾ മെച്ചപ്പെടുത്താനും പരിവർത്തനങ്ങളുടെ എണ്ണം വർദ്ധിപ്പിക്കാനും സഹായിക്കുന്നു. ഈ ലേഖനത്തിൽ, ഞങ്ങൾ 5 മികച്ച SEO മൊഡ്യൂളുകൾ നോക്കും.

നിങ്ങൾ കുറച്ച് കാലമായി WordPress-ൽ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, അതിനെ അടിസ്ഥാനമാക്കിയുള്ള പോസ്റ്റുകളുടെ ലിസ്റ്റുകൾ സൃഷ്‌ടിക്കുന്നത് എത്ര ബുദ്ധിമുട്ടായിരുന്നുവെന്ന് നിങ്ങൾക്കറിയാം. വലിയ അളവ്മാനദണ്ഡങ്ങളും അതേ സമയം അനുസരിച്ച് വേർഡ്പ്രസ്സ് മാനദണ്ഡങ്ങൾ. എന്നാൽ കഴിഞ്ഞ കുറച്ച് വർഷങ്ങളായി പ്ലാറ്റ്ഫോം ഇല്ലാതായി ലോംഗ് ഹോൽ. ഇപ്പോൾ, ഒരു ശക്തമായ ക്ലാസിൻ്റെ സഹായത്തോടെ WP_Query, ഒരു തരത്തിലും സ്വയം പരിമിതപ്പെടുത്താതെ നമുക്ക് സന്ദേശങ്ങളുടെ ലിസ്റ്റുകൾ സൃഷ്ടിക്കാൻ കഴിയും.

എന്താണ് WP_Query?

ക്ലാസ് WP_Queryലെ ഏറ്റവും പ്രധാനപ്പെട്ട ഭാഗങ്ങളിൽ ഒന്നാണ് വേർഡ്പ്രസ്സ് എഞ്ചിൻ. മറ്റ് കാര്യങ്ങൾക്കൊപ്പം, ഏത് പേജിലും നിങ്ങൾക്കാവശ്യമായ അന്വേഷണങ്ങൾ ഇത് നിർണ്ണയിക്കുകയും നിർദ്ദിഷ്ട മാനദണ്ഡങ്ങൾക്കനുസരിച്ച് സന്ദേശങ്ങൾ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു. പേജ് ഒപ്റ്റിമൈസേഷനും (പിശക് ഇല്ലാതാക്കാനും) സഹായിക്കുന്ന അഭ്യർത്ഥനകളെക്കുറിച്ചുള്ള ധാരാളം വിവരങ്ങളും ഇത് സംഭരിക്കുന്നു.

WP_Queryസങ്കീർണ്ണമായ ഡാറ്റാബേസ് അന്വേഷണങ്ങൾ സുരക്ഷിതവും ലളിതവും മോഡുലാർ രീതിയിലും നടത്താൻ ഞങ്ങളെ അനുവദിക്കുന്നു.

സുരക്ഷ

ഈ ഒബ്‌ജക്‌റ്റുമായുള്ള ഞങ്ങളുടെ ഇടപെടലിലുടനീളം, ഞങ്ങൾ പാരാമീറ്ററുകൾ മാത്രം വ്യക്തമാക്കുകയും ഞങ്ങളുടെ ലക്ഷ്യം നേടുന്നതിന് ഫംഗ്‌ഷനുകൾ ഉപയോഗിക്കുകയും ചെയ്യുന്നു. SQL ഇഞ്ചക്ഷൻ പരിരക്ഷയും ഉപയോഗ പരിശോധനയും പോലെയുള്ള പല പ്രശ്നങ്ങളും ആന്തരിക വസ്തുക്കൾ സ്വയം കൈകാര്യം ചെയ്യുന്നു ശരിയായ തരംഡാറ്റ.

ലാളിത്യം

ഈ ഒബ്‌ജക്‌റ്റ് ഉപയോഗിക്കുമ്പോൾ, ഞങ്ങളുടെ ഡാറ്റാബേസിൻ്റെ പ്രത്യേകതകൾ പഠിക്കേണ്ടതില്ല. ഞങ്ങളുടെ പാരാമീറ്ററുകൾ കൈമാറാൻ ഞങ്ങൾ ഒരു അറേ ഉപയോഗിക്കുന്നതിനാൽ, ജോയിൻ ക്വറികളോ നെസ്റ്റഡ് ക്വറികളോ സ്വമേധയാ എഴുതേണ്ട ആവശ്യമില്ല, ആർഗ്യുമെൻ്റുകളുടെ ഒരു നിരയും ക്ലാസിൻ്റെ ഒരു ഉദാഹരണവും സൃഷ്‌ടിക്കുക!

മോഡുലാരിറ്റി

WP_Queryകോഡിൽ SQL ചോദ്യങ്ങൾ ഉപയോഗിക്കുന്നത് ഒഴിവാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, ക്ലാസ് ഉപയോഗിക്കുന്നു അസോസിയേറ്റീവ് അറേഒരു വാദമായി. ഇത് നിരവധി ആനുകൂല്യങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു: നിങ്ങൾക്ക് വാദങ്ങൾ സംയോജിപ്പിക്കാൻ കഴിയും പല സ്ഥലങ്ങൾകോഡ്, ഫംഗ്‌ഷനുകളുടെ ഒരു നിര പ്രവർത്തിപ്പിച്ച് എല്ലാത്തരം വഴികളിലും അവ കൈകാര്യം ചെയ്യുക.

അതിനാൽ, നമുക്ക് ആരംഭിക്കാം!

വേർഡ്പ്രസ്സിലെ "സ്റ്റാൻഡേർഡ്" ലൂപ്പ്

നമുക്ക് ആദ്യം ഒരു സാധാരണ ലൂപ്പ് നോക്കാം, തുടർന്ന് അതേ ലൂപ്പ് ഉപയോഗിച്ച് സൃഷ്ടിക്കുക WP_Query. നമ്മുടെ തീമിനായി ഞങ്ങൾ ഒരു category.php ഫയൽ സൃഷ്ടിക്കുകയാണെന്ന് കരുതുക.

എങ്കിൽ (have_posts() ):
അതേസമയം (have_posts() ):
the_post();
?>



അവസാനം ;
വേറെ:
?>
ശ്ശോ, എൻട്രികളൊന്നും കണ്ടെത്തിയില്ല!
endif ;
?>

WP_Query ഉപയോഗിക്കുന്ന അതേ ലൂപ്പ്:

$args = അറേ ("പൂച്ച" => 4 );
$category_posts = പുതിയ WP_Query($args) ;

എങ്കിൽ ($category_posts -> have_posts()) :
അതേസമയം ($category_posts -> have_posts()) :
$category_posts -> the_post () ;
?>



അവസാനം ;
വേറെ:
?>
ശ്ശോ, എൻട്രികളൊന്നും കണ്ടെത്തിയില്ല!
endif ;
?>

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒറ്റനോട്ടത്തിൽ വലിയ വ്യത്യാസമില്ല! നമുക്ക് അത് സൂക്ഷ്മമായി പരിശോധിക്കാം:

ബിൽഡിംഗ് അന്വേഷണങ്ങൾ

വിഭാഗം പേജിൽ, ആ വിഭാഗത്തിൽ നിന്നുള്ള പോസ്റ്റുകളുടെ ഒരു ലിസ്റ്റ് ലഭിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. WP_Query ഉപയോഗിച്ച് ഞങ്ങൾ ആദ്യം മുതൽ ചോദ്യം നിർമ്മിക്കുന്നതിനാൽ, ഞങ്ങൾ ഇത് സ്വയം നിർവചിക്കേണ്ടതുണ്ട്. കുറച്ച് കഴിഞ്ഞ് ഞങ്ങൾ ഇതിലേക്ക് കുറച്ച് ആഴത്തിൽ പോകും.

സന്ദേശങ്ങൾക്കായുള്ള ക്ലാസിൻ്റെയും അന്വേഷണങ്ങളുടെയും ഒരു ഉദാഹരണം സൃഷ്ടിക്കുന്നു

ഒരു ക്ലാസ് ഉദാഹരണവും ആർഗ്യുമെൻ്റുകളുടെ ഒരു നിരയും ഉപയോഗിച്ച്, നിർദ്ദിഷ്ട സന്ദേശങ്ങൾ വീണ്ടെടുക്കാൻ WP_Query ശ്രമിക്കും.

ഒരു ലൂപ്പ് സൃഷ്ടിക്കുന്നു

നിങ്ങൾക്ക് ഏതെങ്കിലും ഉപയോഗിക്കാം സാധാരണ പ്രവർത്തനങ്ങൾ, അവയെ ഒബ്ജക്റ്റ് രീതികളായി ഉപയോഗിക്കാൻ ഓർക്കുക:

ഇതിനുപകരമായി have_posts(), ഉപയോഗിക്കുക $category_posts->have_posts().
ഇതിനുപകരമായി the_post(), ഉപയോഗിക്കുക $category_posts->the_post().

മുകളിലുള്ള എല്ലാ കാര്യങ്ങളും ചെയ്തുകഴിഞ്ഞാൽ, ഞങ്ങൾക്ക് അറിയാവുന്നതും ഇഷ്ടപ്പെടുന്നതുമായ ഏതെങ്കിലും ടെംപ്ലേറ്റ് ടാഗുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം.

നിങ്ങൾ ഇത് കൂടുതൽ വിശദമായി നോക്കിയാൽ, ആഗോള വസ്തു എന്ന് നിങ്ങൾ കാണും $പോസ്റ്റ്ലഭ്യമാണ്. നിങ്ങൾ ഒരു ഇഷ്‌ടാനുസൃത ലൂപ്പ് ഉപയോഗിക്കുകയാണെങ്കിൽ, കാര്യങ്ങൾ തെറ്റായി പോകാം എന്നാണ് ഇതിനർത്ഥം. സംരക്ഷിക്കുന്നത് ഉറപ്പാക്കുക യഥാർത്ഥ അർത്ഥംവസ്തു $പോസ്റ്റ്സൈക്കിളിനു ശേഷം അത് പുനഃസ്ഥാപിക്കുക.

മുന്നോട്ടുപോകുക...

നമുക്ക് ലൂപ്പുകൾ സൃഷ്‌ടിക്കാനുള്ള എളുപ്പം വ്യക്തമാണ്, എന്നാൽ യഥാർത്ഥത്തിൽ റെക്കോർഡുകൾക്കായി ഞങ്ങൾ എങ്ങനെയാണ് അന്വേഷണങ്ങൾ സൃഷ്ടിക്കുന്നത്? വാണിജ്യ തീമുകളിൽ സ്ലൈഡറുകൾ സൃഷ്ടിക്കുമ്പോൾ പലപ്പോഴും ഉപയോഗിക്കുന്ന ഒരു പൊതു രീതി ഞാൻ നിങ്ങൾക്ക് കാണിച്ചുതരാം.

മിക്കപ്പോഴും, നിങ്ങളുടെ തീമിൻ്റെ ഉപയോക്താക്കൾക്ക് അവരുടെ സൈറ്റുകളിൽ മനോഹരമായി കാണപ്പെടുന്ന സ്ലൈഡറുകൾ വേണം, എന്നാൽ ഉള്ളടക്കം സൃഷ്ടിക്കുമ്പോൾ അവർ അൽപ്പം അലസരായേക്കാം. പല ഉപയോക്താക്കളും പ്രസിദ്ധീകരിക്കാൻ ഷെഡ്യൂൾ ചെയ്‌തിരിക്കുന്ന ഭാവി പോസ്റ്റുകൾ കാണിക്കാൻ ആഗ്രഹിക്കുന്നു. ഒരു ചിത്രമുള്ള വരാനിരിക്കുന്ന (അതായത് പ്രസിദ്ധീകരിക്കാത്ത) പോസ്റ്റുകൾ വീണ്ടെടുക്കാൻ നമുക്ക് ഒരു ചോദ്യം സൃഷ്ടിക്കാം.

$args = അറേ (
"post_status" => "ഭാവി" ,
"meta_query" => അറേ (
അറേ (
"കീ" => "_thumbnail_id" ,
"മൂല്യം" => "" ,
"താരതമ്യപ്പെടുത്തുക" => "!="
)
) ;
$slider_posts = പുതിയ WP_Query($args) ;
?>

have_posts () : ?>


have_posts () ) : $slider_posts -> the_post () ?>




ഹ്രസ്വവും പൂർണ്ണമായും മനസ്സിലാക്കാവുന്നതുമായ കോഡ് - ലളിതവും മനോഹരവുമാണ്.

സ്ഥിര മൂല്യങ്ങൾ

എൻ്റെ അഭ്യർത്ഥനയിൽ ആവശ്യമായ രേഖകളുടെ എണ്ണം ഞാൻ വ്യക്തമാക്കിയിട്ടില്ലെന്ന് നിങ്ങൾ ശ്രദ്ധിച്ചിരിക്കാം. ലിസ്റ്റിൽ എത്ര സന്ദേശങ്ങളുണ്ട്? ഞങ്ങൾ ആദ്യം നൽകിയ അഭ്യർത്ഥനയിലെ പോസ്റ്റിൻ്റെ സ്ഥിതി എന്താണ്?

ഏറ്റവും സാധാരണമായ നിരവധി ആർഗ്യുമെൻ്റുകൾക്കായി സ്ഥിരസ്ഥിതി മൂല്യങ്ങൾ സജ്ജീകരിച്ചിരിക്കുന്നു. നിങ്ങൾക്ക് അവ മാറ്റാൻ താൽപ്പര്യമില്ലെങ്കിൽ വ്യക്തമാക്കേണ്ടതില്ലാത്ത ചിലത് ഇതാ:

posts_per_page
സ്ഥിരസ്ഥിതിയായി, പേജിലെ സന്ദേശങ്ങളുടെ എണ്ണത്തിനായി സൈറ്റ് പാരാമീറ്ററുകളിൽ വ്യക്തമാക്കിയ മൂല്യം ഉപയോഗിക്കുന്നു.

പോസ്റ്റ്_തരം
സ്ഥിരസ്ഥിതിയാണ് പോസ്റ്റ്.

പോസ്റ്റ്_സ്റ്റാറ്റസ്
സ്ഥിരസ്ഥിതിയാണ് പ്രസിദ്ധീകരിക്കുക.

ഡോക്യുമെൻ്റേഷനിൽ നിങ്ങൾക്ക് പാരാമീറ്ററുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് കണ്ടെത്താം!

അണികൾ

മിക്ക കേസുകളിലും, ആർഗ്യുമെൻ്റിന് എടുക്കാവുന്ന ഒന്നിലധികം മൂല്യങ്ങൾ നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ ജീവിതം എളുപ്പമാക്കുന്നതിന് അറേകൾ ഉപയോഗിക്കാൻ WP_Query നിങ്ങളെ അനുവദിക്കുന്നു. ചില ഉദാഹരണങ്ങൾ ഇതാ:

ഇതിനായി നിങ്ങൾക്ക് ഒരു അറേ ഉപയോഗിക്കാം പോസ്റ്റ്_സ്റ്റാറ്റസ്വ്യത്യസ്ത സ്റ്റാറ്റസുകളുള്ള സന്ദേശങ്ങൾ സ്വീകരിക്കുന്നതിന്. നിങ്ങൾക്ക് ലൈൻ ഉപയോഗിക്കാനാകുമെന്നത് ശ്രദ്ധിക്കുക ഏതെങ്കിലുംഎല്ലാത്തരം സ്റ്റാറ്റസുകളുമുള്ള സന്ദേശങ്ങൾ സ്വീകരിക്കുന്നതിന്.

മെറ്റാഡാറ്റയിൽ പ്രവർത്തിക്കുന്നു

നിങ്ങൾ അത് നേരത്തെ കണ്ടിട്ടുണ്ടോ WP_Queryമികച്ച മെറ്റാഡാറ്റ കൈകാര്യം ചെയ്യുന്നു - ഞങ്ങൾ ഉപയോഗിച്ചു മെറ്റാ_ക്വറിരണ്ടാമത്തെ ഉദാഹരണത്തിൽ, ചിത്രങ്ങളുള്ള പോസ്റ്റുകളുള്ള ഒരു സ്ലൈഡർ ഞങ്ങൾ നിർമ്മിക്കുമ്പോൾ.

ഞങ്ങൾ ഒരു വേർഡ്പ്രസ്സ് തീം സൃഷ്ടിക്കുകയാണെന്ന് സങ്കൽപ്പിക്കുക, അത് ഒരു അപ്പാർട്ട്മെൻ്റ് (കൾ) വാടകയ്‌ക്കെടുക്കുന്നതിന് ഒരു വെബ്‌സൈറ്റിനായി ഉപയോഗിക്കും. ഞങ്ങൾ ഒരു ഇഷ്‌ടാനുസൃത പോസ്റ്റ് തരത്തിൽ അപ്പാർട്ട്‌മെൻ്റുകൾ സംഭരിക്കുകയും അധിക വിവരങ്ങൾ സംഭരിക്കുന്നതിന് മെറ്റാഡാറ്റ ഉപയോഗിക്കുകയും ചെയ്യും. ഈ രീതിയിൽ നമുക്ക് എളുപ്പത്തിൽ ലഭിക്കും, ഉദാഹരണത്തിന്, നാലോ അതിലധികമോ ആളുകൾക്ക് താമസിക്കാൻ കഴിയുന്ന എല്ലാ അപ്പാർട്ടുമെൻ്റുകളും, അല്ലെങ്കിൽ ഒരു ബാൽക്കണി ഉള്ളവ, അല്ലെങ്കിൽ ഒരു ജാക്കുസി ഉള്ള ദിവസത്തേക്കുള്ള അപ്പാർട്ടുമെൻ്റുകൾ മാത്രം.

$args = അറേ (
"post_type" => "അപ്പാർട്ട്മെൻ്റ്" ,
"meta_query" => അറേ (
"ബന്ധം" => "AND" ,
"=" => "="
)
) ;
?>

ഉപയോഗിക്കാനാകുന്ന പാരാമീറ്ററുകളെക്കുറിച്ച് കൂടുതലറിയാൻ, WP_Query ഡോക്യുമെൻ്റേഷൻ്റെ ഇഷ്‌ടാനുസൃത ഫീൽഡ് പാരാമീറ്ററുകൾ വിഭാഗം പരിശോധിക്കുക.

രീതികളും ഗുണങ്ങളും

ഒരിക്കൽ നിങ്ങൾ ഒരു അഭ്യർത്ഥന നടത്തിക്കഴിഞ്ഞാൽ, നിങ്ങളുടെ ഒബ്‌ജക്‌റ്റിൽ നിന്ന് ധാരാളം വിവരങ്ങൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനാകും. ഡോക്യുമെൻ്റേഷനിൽ "രീതികളും ഗുണങ്ങളും" എന്നതിൻ്റെ പൂർണ്ണമായ ലിസ്റ്റ് നിങ്ങൾക്ക് കണ്ടെത്താം. ഞാൻ മിക്കപ്പോഴും ഉപയോഗിക്കാൻ ഇഷ്ടപ്പെടുന്നവ ഇതാ:

$ചോദ്യം
$wp_query ഒബ്‌ജക്‌റ്റിലേക്ക് കൈമാറിയ അന്വേഷണ സ്ട്രിംഗ് കാണിക്കുന്നു. ചില സന്ദർഭങ്ങളിൽ ട്രബിൾഷൂട്ടിംഗിന് ഇത് വളരെ ഉപയോഗപ്രദമാണ്.

$query_vars
നിങ്ങൾ പാസാക്കിയ ആർഗ്യുമെൻ്റുകളുടെ ഒരു അനുബന്ധ ശ്രേണി കാണിക്കുന്നു. ആർഗ്യുമെൻ്റുകൾ പാസാക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ധാരാളം മിക്‌സിംഗും മാച്ചിംഗും ചെയ്യുകയാണെങ്കിൽ, എല്ലാം ശരിയായി പാസ്സാക്കിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഈ ഉപകരണം ഉപയോഗപ്രദമാകും.

$പോസ്റ്റ്
ഡാറ്റാബേസിൽ നിന്ന് ആവശ്യപ്പെട്ട രേഖകൾ അടങ്ങിയിരിക്കുന്നു.

$found_posts
കണ്ടെത്തിയ മൂലകങ്ങളുടെ ആകെ എണ്ണം കാണിക്കുന്ന ഒരു സുലഭമായ കാര്യം (posts_per_page ആർഗ്യുമെൻ്റ് സജ്ജമാക്കിയ പരിധി ഇല്ലാതെ).

വലിയ ശക്തിയോടെ വലിയ ഉത്തരവാദിത്തം വരുന്നു

WP_Query നിങ്ങൾക്ക് വലിയ ശക്തി നൽകുന്നു, പക്ഷേ ഇതിന് അതിൻ്റെ പോരായ്മകളുണ്ട്. എല്ലായിടത്തും ചോദ്യങ്ങൾ വിളിക്കുന്നത് എത്ര എളുപ്പമാണെന്ന് മനസ്സിലാക്കുമ്പോൾ പലരും ഭ്രാന്തന്മാരാകും.

അഭ്യർത്ഥനകൾ കൂടുന്തോറും സെർവറിലെ ലോഡ് കൂടുമെന്ന കാര്യം ഓർക്കുക. സങ്കീർണ്ണമായ ചോദ്യങ്ങൾ സൃഷ്‌ടിക്കുമ്പോൾ, നിങ്ങളുടെ ഹോസ്റ്റിംഗ് റാമിൽ നിങ്ങൾക്ക് പ്രശ്‌നങ്ങൾ നേരിടാം, ഇത് നിങ്ങളുടെ പക്കലുള്ള പരിമിതമായ ഉറവിടമാണ്.

ഡിഫോൾട്ട് അന്വേഷണം എല്ലാ പേജിലും പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക. ഹോം പേജിൽ ഏറ്റവും പുതിയ പോസ്‌റ്റുകൾ ഡിഫോൾട്ടായി ഉണ്ടെങ്കിൽ അത് ലഭിക്കാൻ ഒരു പുതിയ ചോദ്യം സൃഷ്‌ടിച്ചിട്ട് എന്ത് കാര്യം? സെർവർ ലോഡ് കുറയ്ക്കാൻ റിസൾട്ട് കാഷിംഗ് ഉപയോഗിക്കുക.


നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, ഞങ്ങളുടെ ഉപയോഗം ഉപയോഗിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു

init() ഒബ്‌ജക്റ്റ് സമാരംഭിക്കുക, എല്ലാ ഗുണങ്ങളും അസാധുവായി, പൂജ്യം അല്ലെങ്കിൽ തെറ്റ് എന്ന് സജ്ജമാക്കുക. parse_query($query) അഭ്യർത്ഥന നിർവചിക്കുന്ന ഒരു അന്വേഷണ സ്ട്രിംഗ് എടുക്കുന്നു, അത് പാഴ്‌സ് ചെയ്യുകയും $posts , $post_count , $post, $current_post എന്നിവ കൂടാതെ എല്ലാ പ്രോപ്പർട്ടികളും പോപ്പുലേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. parse_query_vars() പഴയ അന്വേഷണ സ്ട്രിംഗ് പുനഃപരിശോധിക്കുക. get($query_var) പേരുള്ള ഒരു അന്വേഷണ വേരിയബിൾ നേടുക. സെറ്റ് ($query_var, $value) ഒരു നിർദ്ദിഷ്ട മൂല്യത്തിലേക്ക് ഒരു പേരുള്ള അന്വേഷണ വേരിയബിൾ സജ്ജമാക്കുക. &get_posts() ഡാറ്റാബേസിൽ നിന്ന് ആവശ്യപ്പെട്ട പോസ്റ്റുകൾ ലഭ്യമാക്കി തിരികെ നൽകുക. $posts, $post_count എന്നിവയും പോപ്പുലേറ്റ് ചെയ്യുക. കുറിപ്പ്: WP_Query ആർഗ്യുമെൻ്റുകളോടെയാണ് നിർമ്മിച്ചതെങ്കിൽ, നിർമ്മാണ സമയത്ത് ഇതിനെ വിളിക്കുന്നു. അത് അല്ലബുദ്ധിശക്തിയില്ലാത്തതും ഒരേ ചോദ്യ ഒബ്‌ജക്‌റ്റിൽ ഒന്നിൽ കൂടുതൽ തവണ വിളിക്കാൻ പാടില്ലാത്തതുമാണ്. അങ്ങനെ ചെയ്യുന്നത് ഒരു ചോദ്യം തകർന്നേക്കാം. next_post() (ഇപ്പോൾ ഉപയോഗിക്കുന്നതിന്) $posts-ലെ അടുത്ത പോസ്റ്റിലേക്ക് മുന്നേറുക. $current_post വർദ്ധിപ്പിക്കുകയും (പുതിയ) നിലവിലെ പോസ്റ്റ് ഒബ്‌ജക്റ്റിലേക്ക് $post സജ്ജമാക്കുകയും ചെയ്യുക (ശ്രദ്ധിക്കുക: ഇത് ആഗോള $post വേരിയബിളിനെ സജ്ജമാക്കുന്നില്ല, WP_Query ഒബ്‌ജക്റ്റിൻ്റെ ഇൻസ്റ്റൻസ് വേരിയബിൾ മാത്രം.) നിലവിലെ പോസ്റ്റ് ഒബ്‌ജക്റ്റ് നൽകുന്നു (ഇത് ഒഴിവാക്കിയിരിക്കുന്നു, ദയവായി "next_post_link()" ഉപയോഗിക്കുക) the_post() (ഇപ്പോൾ ഉപയോഗിക്കുന്നതിന്) അടുത്ത പോസ്റ്റിലേക്ക് മുന്നേറുക, ആഗോള $post വേരിയബിൾ സജ്ജമാക്കുക. have_posts() (ൽ ആയിരിക്കുമ്പോൾ, അല്ലെങ്കിൽ ലൂപ്പിന് തൊട്ടുമുമ്പ് ഉപയോഗിക്കേണ്ടത്) ഞങ്ങൾക്ക് പ്രദർശിപ്പിക്കാൻ പോസ്റ്റുകൾ അവശേഷിക്കുന്നുണ്ടോ എന്ന് നിർണ്ണയിക്കുക. rewind_posts() കോളുകൾ, പോസ്റ്റുകൾ ശേഷിക്കുന്നില്ലെങ്കിൽ തെറ്റ് എന്ന് നൽകുന്നു. റിവൈൻഡ് കാരണം, നിങ്ങൾക്ക് have_posts() false ആയി തുടരാൻ കഴിയില്ല. കാണുക. rewind_posts() $current_post, $post എന്നിവ പുനഃസജ്ജമാക്കുക. &query($query) വിളിക്കുക parse_query() and get_posts() . get_posts() ഫലങ്ങൾ തിരികെ നൽകുക. get_queried_object() $queried_object ഇത് ഇതിനകം സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ അത് തിരികെ നൽകുക. WP_Query($query = "") (കൺസ്‌ട്രക്റ്റർ) നിങ്ങൾ ഒരു അന്വേഷണ സ്ട്രിംഗ് നൽകുകയാണെങ്കിൽ, അതിനൊപ്പം query() എന്ന് വിളിക്കുക.

പരാമീറ്ററുകൾ

രചയിതാവിൻ്റെ പാരാമീറ്ററുകൾ

ചില രചയിതാക്കളുമായി ബന്ധപ്പെട്ട പോസ്റ്റുകൾ കാണിക്കുക.

  • രചയിതാവ് (int | സ്ട്രിംഗ്) - രചയിതാവ് ഐഡി അല്ലെങ്കിൽ കോമയാൽ വേർതിരിച്ച ഐഡികളുടെ ലിസ്റ്റ് ഉപയോഗിക്കുക.
  • രചയിതാവിൻ്റെ_നാമം (സ്ട്രിംഗ്) - " user_nicename " ഉപയോഗിക്കുക - പേരല്ല.
  • രചയിതാവ്__ഇൻ (അറേ
  • രചയിതാവ്__not_in (അറേ) - രചയിതാവ് ഐഡി ഉപയോഗിക്കുക (മുതൽ ലഭ്യമാണ്).

ഒരു രചയിതാവിനുള്ള പോസ്റ്റുകൾ കാണിക്കുക

രചയിതാവിൻ്റെ ഐഡി ഉപയോഗിച്ച് രചയിതാവിൻ്റെ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("രചയിതാവ്" => 123));

" user_nicname " എന്ന രചയിതാവ് ഉപയോഗിച്ച്, രചയിതാവിൻ്റെ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("author_name" => "rami"));

നിരവധി എഴുത്തുകാരിൽ നിന്നുള്ള പോസ്റ്റുകൾ കാണിക്കുക

നിരവധി പ്രത്യേക രചയിതാക്കളിൽ നിന്നുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("രചയിതാവ്" => "2,6,17,38"));

ഒരു രചയിതാവിൻ്റെ പോസ്റ്റുകൾ ഒഴിവാക്കുക

എല്ലാ പോസ്റ്റുകളും പ്രദർശിപ്പിക്കുക ഒഴികെഒരു രചയിതാവിൽ നിന്നുള്ള (ഏകവചനം) അതിൻ്റെ ഐഡിയെ "-" (മൈനസ്) ചിഹ്നം ഉപയോഗിച്ച് പ്രിഫിക്‌സ് ചെയ്തുകൊണ്ട്:

$query = പുതിയ WP_Query(അറേ("രചയിതാവ്" => -12));

ഒന്നിലധികം രചയിതാവ് കൈകാര്യം ചെയ്യൽ

ഒന്നിലധികം രചയിതാക്കളിൽ നിന്നുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("author__in" => array(2, 6)));

നിങ്ങൾക്ക് ഈ രീതിയിൽ ഒന്നിലധികം രചയിതാക്കളെ ഒഴിവാക്കാനും കഴിയും:

$query = പുതിയ WP_Query(array("author__not_in" => array(2, 6)));

വിഭാഗം പരാമീറ്ററുകൾ

ചില വിഭാഗങ്ങളുമായി ബന്ധപ്പെട്ട പോസ്റ്റുകൾ കാണിക്കുക.

  • പൂച്ച (int) - വിഭാഗം ഐഡി ഉപയോഗിക്കുക.
  • വിഭാഗം_പേര് (സ്ട്രിംഗ്) - വിഭാഗം സ്ലഗ് ഉപയോഗിക്കുക.
  • വിഭാഗം__ കൂടാതെ (അറേ) - വിഭാഗം ഐഡി ഉപയോഗിക്കുക.
  • വിഭാഗം__ഇൻ (അറേ) - വിഭാഗം ഐഡി ഉപയോഗിക്കുക.
  • വിഭാഗം__അല്ല (അറേ) - വിഭാഗം ഐഡി ഉപയോഗിക്കുക.

ഒരു വിഭാഗത്തിനായുള്ള പോസ്റ്റുകൾ കാണിക്കുക

വിഭാഗ ഐഡി ഉപയോഗിച്ച് ഈ വിഭാഗമുള്ള (കൂടാതെ ആ വിഭാഗത്തിലെ ഏതെങ്കിലും കുട്ടികൾ) പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("പൂച്ച" => 4));

വിഭാഗ സ്ലഗ് ഉപയോഗിച്ച് ഈ വിഭാഗമുള്ള (കൂടാതെ ആ വിഭാഗത്തിലെ ഏതെങ്കിലും കുട്ടികൾ) പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("category_name" => "സ്റ്റാഫ്"));

വിഭാഗ ഐഡി ഉപയോഗിച്ച് ഈ വിഭാഗമുള്ള (ആ വിഭാഗത്തിലെ കുട്ടികളല്ല) പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("category__in" => 4));

നിരവധി വിഭാഗങ്ങളിൽ നിന്നുള്ള പോസ്റ്റുകൾ കാണിക്കുക

വിഭാഗ ഐഡി ഉപയോഗിച്ച് ഈ വിഭാഗങ്ങളുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("പൂച്ച" => "2,6,17,38"));

വിഭാഗ സ്ലഗ് ഉപയോഗിച്ച് ഈ വിഭാഗങ്ങളുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("category_name" => "സ്റ്റാഫ്, വാർത്ത"));

ഈ വിഭാഗങ്ങളിൽ "എല്ലാം" ഉള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("category_name" => "സ്റ്റാഫ്+വാർത്ത"));

വിഭാഗത്തിൽ പെടുന്ന പോസ്റ്റുകൾ ഒഴിവാക്കുക

എല്ലാ പോസ്റ്റുകളും പ്രദർശിപ്പിക്കുക ഒഴികെ"-" (മൈനസ്) ചിഹ്നം ഉപയോഗിച്ച് അതിൻ്റെ ഐഡി പ്രിഫിക്‌സ് ചെയ്‌ത് ഒരു വിഭാഗത്തിൽ നിന്നുള്ളവ.

$query = പുതിയ WP_Query(അറേ("പൂച്ച" => "-12,-34,-56"));

ഒന്നിലധികം വിഭാഗം കൈകാര്യം ചെയ്യൽ

ഒന്നിലധികം വിഭാഗങ്ങളിലുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക. 2, 6 എന്നീ രണ്ട് വിഭാഗങ്ങളിലെയും പോസ്റ്റുകൾ ഇത് കാണിക്കുന്നു:

$query = പുതിയ WP_Query(array("category__and" => array(2, 6)));

വിഭാഗങ്ങൾ 2 അല്ലെങ്കിൽ 6 എന്നിവയിൽ നിന്നുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുന്നതിന്, മുകളിൽ സൂചിപ്പിച്ചതുപോലെ നിങ്ങൾക്ക് cat ഉപയോഗിക്കാം, അല്ലെങ്കിൽ category__in ഉപയോഗിച്ച് (ഈ വിഭാഗങ്ങളിലെ ഏതെങ്കിലും കുട്ടികളിൽ നിന്നുള്ള പോസ്റ്റുകൾ ഇത് കാണിക്കുന്നില്ലെന്ന് ശ്രദ്ധിക്കുക):

$query = പുതിയ WP_Query(array("category__in" => array(2, 6)));

നിങ്ങൾക്ക് ഈ രീതിയിൽ ഒന്നിലധികം വിഭാഗങ്ങൾ ഒഴിവാക്കാനും കഴിയും:

$query = പുതിയ WP_Query(array("category__not_in" => array(2, 6)));

ടാഗ് പാരാമീറ്ററുകൾ

ചില ടാഗുകളുമായി ബന്ധപ്പെട്ട പോസ്റ്റുകൾ കാണിക്കുക.

  • ടാഗ് (സ്ട്രിംഗ്) - ടാഗ് സ്ലഗ് ഉപയോഗിക്കുക.
  • ടാഗ്_ഐഡി (int) - ടാഗ് ഐഡി ഉപയോഗിക്കുക.
  • ടാഗ്__ കൂടാതെ (അറേ) - ടാഗ് ഐഡികൾ ഉപയോഗിക്കുക.
  • ടാഗ്_ഇൻ (അറേ) - ടാഗ് ഐഡികൾ ഉപയോഗിക്കുക.
  • tag__not_in (അറേ) - ടാഗ് ഐഡികൾ ഉപയോഗിക്കുക.
  • ടാഗ്_സ്ലഗ്__ഒപ്പം (അറേ) - ടാഗ് സ്ലഗുകൾ ഉപയോഗിക്കുക.
  • tag_slug__in (അറേ) - ടാഗ് സ്ലഗുകൾ ഉപയോഗിക്കുക.

ഒരു ടാഗിനുള്ള പോസ്റ്റുകൾ കാണിക്കുക

ടാഗ് സ്ലഗ് ഉപയോഗിച്ച് ഈ ടാഗ് ഉള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("ടാഗ്" => "പാചകം"));

ടാഗ് ഐഡി ഉപയോഗിച്ച് ഈ ടാഗ് ഉള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("tag_id" => 13));

നിരവധി ടാഗുകളിൽ നിന്നുള്ള പോസ്റ്റുകൾ കാണിക്കുക

ഈ ടാഗുകളിൽ "ഏതെങ്കിലും" ഉള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("ടാഗ്" => "ബ്രെഡ്,ബേക്കിംഗ്"));

കുറിപ്പ്:ഫലം ഏകവചനമായിരിക്കുമെന്ന് WP_Query നിർണ്ണയിക്കുകയാണെങ്കിൽ ( ശരിയാണ്), അത് ടാക്സ്_ക്വറി പാരാമീറ്റർ അവഗണിക്കും. ടാക്സ്_ക്വറി പരിഷ്കരിക്കുന്നതിന്, ആവശ്യമായ SQL പ്രസ്താവനകൾ ചേർക്കാൻ ഫിൽട്ടർ ഉപയോഗിക്കുക.

പ്രധാന കുറിപ്പ്:ടാക്സ്_ക്വറി ഒരു എടുക്കുന്നു അറേനികുതി അന്വേഷണ വാദങ്ങൾ അറേകൾ(ഇത് അറേകളുടെ ഒരു നിര എടുക്കുന്നു). ഉപയോഗിച്ച് ഒന്നിലധികം ടാക്സോണമികൾ അന്വേഷിക്കാൻ ഈ നിർമ്മാണം നിങ്ങളെ അനുവദിക്കുന്നു ബന്ധംടാക്സോണമി അറേകൾ തമ്മിലുള്ള ബൂളിയൻ ബന്ധം വിവരിക്കുന്നതിനുള്ള ആദ്യ (പുറം) ശ്രേണിയിലെ പരാമീറ്റർ.

ലളിതമായ ടാക്സോണമി ചോദ്യം:

പ്രദർശിപ്പിക്കുക പോസ്റ്റുകൾകൂടെ ടാഗ് ചെയ്തു ബോബ്, താഴെ ആളുകൾകസ്റ്റം ടാക്സോണമി:

$args = array("post_type" => "post", "tax_query" => array("taxonomy" => "Pople", "field" => "slug", "terms" => "bob", ),),); $query = പുതിയ WP_Query($args);

ഒന്നിലധികം ടാക്‌സോണമി കൈകാര്യം ചെയ്യൽ:

പ്രദർശിപ്പിക്കുക പോസ്റ്റുകൾനിരവധി ഇഷ്‌ടാനുസൃത ടാക്‌സോണമികളിൽ നിന്ന്:

$args = array("post_type" => "post", "tax_query" => array("relation" => "AND", array("taxonomy" => "movie_genre", "field" => "slug", "നിബന്ധനകൾ" => അറേ("ആക്ഷൻ", "കോമഡി"), അറേ("ടാക്സോണമി" => "ആക്ടർ", "ഫീൽഡ്" => "ടേം_ഐഡി", "ടേംസ്" => അറേ(103, 115, 206 ), "ഓപ്പറേറ്റർ" => "ഇല്ല",),); $query = പുതിയ WP_Query($args);

പ്രദർശിപ്പിക്കുക പോസ്റ്റുകൾഉള്ളത് ഉദ്ധരണികൾവിഭാഗം അല്ലെങ്കിൽ ഉണ്ട് ഉദ്ധരണി :

$args = array("post_type" => "post", "tax_query" => array("relation" => "OR", array("taxonomy" => "category", "field" => "slug", "നിബന്ധനകൾ" => അറേ("ഉദ്ധരണികൾ"), അറേ("ടാക്സോണമി" => "പോസ്റ്റ്_ഫോർമാറ്റ്", "ഫീൽഡ്" => "സ്ലഗ്", "ടേംസ്" => അറേ("പോസ്റ്റ് ഫോർമാറ്റ്-ക്വോട്ട്"), ),),); $query = പുതിയ WP_Query($args);

നെസ്റ്റഡ് ടാക്‌സോണമി കൈകാര്യം ചെയ്യൽ:

കൂടുതൽ സങ്കീർണ്ണമായ അന്വേഷണങ്ങൾ സൃഷ്ടിക്കാൻ "tax_query" ക്ലോസുകൾ നെസ്റ്റഡ് ചെയ്യാം. ഉദാഹരണം: ഡിസ്പ്ലേ പോസ്റ്റുകൾഉള്ളത് ഉദ്ധരണികൾവിഭാഗം അല്ലെങ്കിൽ രണ്ടിനും ഉണ്ട് ഉദ്ധരണിപോസ്റ്റ് ഫോർമാറ്റിൽ ഉണ്ട് ജ്ഞാനംവിഭാഗം:

$args = array("post_type" => "post", "tax_query" => array("relation" => "OR", array("taxonomy" => "category", "field" => "slug", "നിബന്ധനകൾ" => അറേ("ഉദ്ധരണികൾ"),), അറേ("ബന്ധം" => "AND", അറേ("ടാക്സോണമി" => "പോസ്റ്റ്_ഫോർമാറ്റ്", "ഫീൽഡ്" => "സ്ലഗ്", "ടേംസ്" => array("post-format-quote"), array("taxonomy" => "category", "field" => "slug", "terms" => array("wisdom"),),),) ,); $query = പുതിയ WP_Query($args);

തിരയൽ പരാമീറ്റർ

ഒരു കീവേഡ് തിരയലിനെ അടിസ്ഥാനമാക്കി പോസ്റ്റുകൾ കാണിക്കുക.

  • എസ് (സ്ട്രിംഗ്) - തിരയൽ കീവേഡ്.

ഒരു കീവേഡ് തിരയലിനെ അടിസ്ഥാനമാക്കി പോസ്റ്റുകൾ കാണിക്കുക

"കീവേഡ്" എന്ന തിരയൽ പദവുമായി പൊരുത്തപ്പെടുന്ന പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(അറേ("കൾ" => "കീവേഡ്"));

ഒരു ഹൈഫൻ ഉപയോഗിച്ച് ഒരു പദത്തിന് മുൻകൈയെടുക്കുന്നത് ആ പദവുമായി പൊരുത്തപ്പെടുന്ന പോസ്റ്റുകളെ ഒഴിവാക്കും. ഉദാ, "തലയിണ -സോഫ" എന്നത് "തലയിണ" അടങ്ങിയ പോസ്റ്റുകൾ നൽകും എന്നാൽ "സോഫ" അല്ല (മുതൽ ലഭ്യമാണ് ).

പോസ്റ്റ് & പേജ് പാരാമീറ്ററുകൾ

പോസ്റ്റ്, പേജ് പാരാമീറ്ററുകൾ അടിസ്ഥാനമാക്കി ഉള്ളടക്കം പ്രദർശിപ്പിക്കുക. ഡിഫോൾട്ട് post_type എന്നത് പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കാൻ മാത്രമേ സജ്ജീകരിച്ചിട്ടുള്ളൂ, എന്നാൽ പേജുകൾ അല്ല എന്ന് ഓർക്കുക.

  • പി (int) - പോസ്റ്റ് ഐഡി ഉപയോഗിക്കുക. ഡിഫോൾട്ട് പോസ്റ്റ് തരം പോസ്റ്റ് ആണ്.
  • പേര് (സ്ട്രിംഗ്) - പോസ്റ്റ് സ്ലഗ് ഉപയോഗിക്കുക.
  • തലക്കെട്ട് (സ്ട്രിംഗ്) - പോസ്റ്റ് ശീർഷകം ഉപയോഗിക്കുക ( കൂടെ ലഭ്യമാണ്).
  • page_id (int) - പേജ് ഐഡി ഉപയോഗിക്കുക.
  • പേജിൻ്റെ പേര് (സ്ട്രിംഗ്) - പേജ് സ്ലഗ് ഉപയോഗിക്കുക.
  • പോസ്റ്റ്_പാരൻ്റ് (int) - ചൈൽഡ് പേജുകൾ മാത്രം തിരികെ നൽകാൻ പേജ് ഐഡി ഉപയോഗിക്കുക. ഉയർന്ന തലത്തിലുള്ള എൻട്രികൾ മാത്രം നൽകുന്നതിന് 0 ആയി സജ്ജമാക്കുക.
  • post_parent__in (അറേ) - പോസ്റ്റ് ഐഡികൾ ഉപയോഗിക്കുക. രക്ഷിതാവ് ഒരു അറേയിൽ ഉള്ള പോസ്റ്റുകൾ വ്യക്തമാക്കുക. (മുതൽ ലഭ്യമാണ്)
  • post_parent__not_in (അറേ) - പോസ്റ്റ് ഐഡികൾ ഉപയോഗിക്കുക. രക്ഷിതാവ് അറേയിൽ ഇല്ലാത്ത പോസ്റ്റുകൾ വ്യക്തമാക്കുക. post__in/post__not_in പോലെ, post_parent__in-ൽ ഉള്ള ഐഡികൾ post_parent__not_in-ൽ വ്യക്തമാക്കിയ ഐഡികൾ ഓവർ-റൈഡ് ചെയ്യും (തുടർന്നു ലഭ്യമാണ്)
  • പോസ്റ്റ്_ഇൻ (അറേ) - പോസ്റ്റ് ഐഡികൾ ഉപയോഗിക്കുക. വീണ്ടെടുക്കാൻ പോസ്റ്റുകൾ വ്യക്തമാക്കുക. ശ്രദ്ധനിങ്ങൾ സ്റ്റിക്കി പോസ്റ്റുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്കാവശ്യമുണ്ടെങ്കിലും ഇല്ലെങ്കിലും നിങ്ങൾ വീണ്ടെടുക്കുന്ന പോസ്റ്റുകളിൽ അവ ഉൾപ്പെടുത്തും (മുൻകൂട്ടി!). ഈ സ്വഭാവ ഉപയോഗം അടിച്ചമർത്താൻ.
  • പോസ്റ്റ്__അല്ല (അറേ) - പോസ്റ്റ് ഐഡികൾ ഉപയോഗിക്കുക. പോസ്റ്റ് വീണ്ടെടുക്കാൻ അല്ല എന്ന് വ്യക്തമാക്കുക. post__in എന്ന അതേ ചോദ്യത്തിൽ ഇത് ഉപയോഗിക്കുകയാണെങ്കിൽ, അത് അവഗണിക്കപ്പെടും.
  • post_name__in (അറേ) - പോസ്റ്റ് സ്ലഗുകൾ ഉപയോഗിക്കുക. വീണ്ടെടുക്കാൻ പോസ്റ്റുകൾ വ്യക്തമാക്കുക. (മുതൽ ലഭ്യമാണ്)
  • പോസ്റ്റ്_തരം (സ്ട്രിംഗ് / അറേ) - പോസ്റ്റ് തരങ്ങൾ ഉപയോഗിക്കുക. വഴി പോസ്റ്റുകൾ വീണ്ടെടുക്കുന്നു, സ്ഥിര മൂല്യം "പോസ്റ്റ്" ആണ്. ഒരു അന്വേഷണത്തിനായി "tax_query" സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, സ്ഥിരസ്ഥിതി മൂല്യം "ഏതെങ്കിലും" ആയി മാറുന്നു;
    • "പോസ്റ്റ്" - ഒരു പോസ്റ്റ്.
    • "പേജ്" - ഒരു പേജ്.
    • "റിവിഷൻ" - ഒരു പുനരവലോകനം.
    • "അറ്റാച്ച്മെൻ്റ്" - ഒരു അറ്റാച്ച്മെൻ്റ്. സ്ഥിരസ്ഥിതി WP_Query post_status "publish" ആണെങ്കിലും, അറ്റാച്ച്‌മെൻ്റുകൾക്ക് "inherit" എന്നതിൻ്റെ സ്ഥിരസ്ഥിതി post_status ഉണ്ട്. ഇതിനർത്ഥം നിങ്ങൾ post_status "inherit" അല്ലെങ്കിൽ "ഏതെങ്കിലും" എന്ന് വ്യക്തമായി സജ്ജീകരിക്കുന്നില്ലെങ്കിൽ അറ്റാച്ചുമെൻ്റുകളൊന്നും തിരികെ ലഭിക്കില്ല എന്നാണ്. (താഴെ നോക്കുക)
    • " nav_menu_item " - ഒരു നാവിഗേഷൻ മെനു ഇനം
    • " any " - "exclude_from_search" ഉപയോഗിച്ച് ശരിയാക്കി സജ്ജീകരിച്ചിട്ടുള്ള പുനരവലോകനങ്ങളും തരങ്ങളും ഒഴികെയുള്ള ഏത് തരവും വീണ്ടെടുക്കുന്നു.
    • ഇഷ്‌ടാനുസൃത പോസ്റ്റ് തരങ്ങൾ (ഉദാ. സിനിമകൾ)

തരം അനുസരിച്ച് പോസ്റ്റ് കാണിക്കുക

പേജുകൾ മാത്രം പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("post_type" => "page"));

"ഏത്" പോസ്റ്റ് തരവും പ്രദർശിപ്പിക്കുക (റിവിഷനുകളും തരങ്ങളും ഒഴികെ ഏത് തരവും വീണ്ടെടുക്കുന്നു, "exclude_from_search" ഉപയോഗിച്ച് TRUE ആയി സജ്ജീകരിച്ചിരിക്കുന്നു):

$query = പുതിയ WP_Query(array("post_type" => "any"));

ഇഷ്‌ടാനുസൃത പോസ്‌റ്റ് തരങ്ങൾ ഉൾപ്പെടെ ഒന്നിലധികം പോസ്‌റ്റ് തരങ്ങൾ പ്രദർശിപ്പിക്കുക:

$args = array("post_type" => array("post", "page", "movie", "book")); $query = പുതിയ WP_Query($args);

സ്റ്റാറ്റസ് പാരാമീറ്ററുകൾ

  • പോസ്റ്റ്_സ്റ്റാറ്റസ് (സ്ട്രിംഗ് / അറേ) - പോസ്റ്റ് സ്റ്റാറ്റസ് ഉപയോഗിക്കുക. എന്നയാളുടെ പോസ്റ്റുകൾ വീണ്ടെടുക്കുന്നു. സ്ഥിര മൂല്യം "പ്രസിദ്ധീകരിക്കുക" ആണ്, എന്നാൽ ഉപയോക്താവ് ലോഗിൻ ചെയ്തിട്ടുണ്ടെങ്കിൽ, "സ്വകാര്യം" ചേർക്കും. പൊതുജനങ്ങളും സ്ഥിരസ്ഥിതിയായി ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഒരു അഡ്‌മിൻ സന്ദർഭത്തിലാണ് (അഡ്‌മിനിസ്‌ട്രേഷൻ ഏരിയ അല്ലെങ്കിൽ AJAX കോൾ) അന്വേഷണം നടത്തുന്നതെങ്കിൽ, പരിരക്ഷിത സ്റ്റാറ്റസുകളും ചേർക്കും. "ഭാവി", "ഡ്രാഫ്റ്റ്", "തീർച്ചപ്പെടുത്താത്തത്" എന്നിവയാണ് ഡിഫോൾട്ടായി പരിരക്ഷിത സ്റ്റാറ്റസുകൾ.
    • " പ്രസിദ്ധീകരിക്കുക " - ഒരു പ്രസിദ്ധീകരിച്ച പോസ്റ്റ് അല്ലെങ്കിൽ പേജ്.
    • "തീർച്ചപ്പെടുത്താത്തത്" - പോസ്റ്റ് അവലോകനം തീർച്ചപ്പെടുത്തിയിട്ടില്ല.
    • "ഡ്രാഫ്റ്റ്" - ഡ്രാഫ്റ്റ് നിലയിലുള്ള ഒരു പോസ്റ്റ്.
    • "ഓട്ടോ-ഡ്രാഫ്റ്റ്" - ഉള്ളടക്കം ഇല്ലാത്ത, പുതുതായി സൃഷ്ടിച്ച ഒരു പോസ്റ്റ്.
    • "ഭാവി" - ഭാവിയിൽ പ്രസിദ്ധീകരിക്കാനുള്ള ഒരു പോസ്റ്റ്.
    • "സ്വകാര്യം" - ലോഗിൻ ചെയ്യാത്ത ഉപയോക്താക്കൾക്ക് ദൃശ്യമല്ല.
    • "അവകാശി" - ഒരു പുനരവലോകനം. കാണുക.
    • "ട്രാഷ്" - പോസ്റ്റ് ചവറ്റുകുട്ടയിലാണ് (മുതൽ ലഭ്യമാണ്).
    • " any " - "exclude_from_search" എന്ന പോസ്റ്റ് സ്റ്റാറ്റസുകളിൽ നിന്നുള്ള സ്റ്റാറ്റസ് ഒഴികെയുള്ള ഏതൊരു സ്റ്റാറ്റസും വീണ്ടെടുക്കുന്നു (അതായത്, ട്രാഷും ഓട്ടോ ഡ്രാഫ്റ്റും).

സ്റ്റാറ്റസ് പ്രകാരം പോസ്റ്റ് കാണിക്കുക

ഡ്രാഫ്റ്റുകൾ മാത്രം പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("post_status" => "draft"));

ഒന്നിലധികം പോസ്റ്റ് നില പ്രദർശിപ്പിക്കുക:

$args = അറേ("post_status" => അറേ("തീർച്ചപ്പെടുത്താത്തത്", "ഡ്രാഫ്റ്റ്", "ഭാവി")); $query = പുതിയ WP_Query($args);

എല്ലാ അറ്റാച്ചുമെൻ്റുകളും പ്രദർശിപ്പിക്കുക:

$args = അറേ("post_status" => "ഏതെങ്കിലും", "post_type" => "അറ്റാച്ച്മെൻ്റ്"); $query = പുതിയ WP_Query($args);

കമൻ്റ് പാരാമീറ്ററുകൾ

$paged = (get_query_var("page")) ? get_query_var("പേജ്") : 1; $query = പുതിയ WP_Query(അറേ("പേജ്ഡ്" => $പേജ്ഡ്));

സ്റ്റിക്കി പോസ്റ്റുകൾ കാണിക്കുക

ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ് മാത്രം പ്രദർശിപ്പിക്കുക:

$സ്റ്റിക്കി = get_option("sticky_posts"); $query = പുതിയ WP_Query(അറേ("p" => $സ്റ്റിക്കി));

അവസാനം പ്രസിദ്ധീകരിച്ച പോസ്റ്റ് ആരും തിരികെ നൽകിയില്ലെങ്കിൽ ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ് മാത്രം പ്രദർശിപ്പിക്കുക:

$സ്റ്റിക്കി = get_option("sticky_posts"); $args = അറേ("posts_per_page" => 1, "post__in" => $sticky, "ignore_sticky_posts" =>

ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ് പ്രദർശിപ്പിക്കുക, മുകളിലെ ബ്ലോക്കിലേക്ക് ഈ വരി ചേർക്കുക:

($സ്റ്റിക്കി) ആണെങ്കിൽ ( // നിങ്ങളുടെ സാധനങ്ങൾ ഇവിടെ ചേർക്കുക... )

സ്റ്റിക്കി പോസ്റ്റുകൾ കാണിക്കരുത്

ചോദ്യത്തിൽ നിന്ന് എല്ലാ സ്റ്റിക്കി പോസ്റ്റുകളും ഒഴിവാക്കുക:

$query = പുതിയ WP_Query(array("post__not_in" => get_option("sticky_posts")));

വിഭാഗത്തിനുള്ളിലെ എല്ലാ പോസ്റ്റുകളും തിരികെ നൽകുക, എന്നാൽ മുകളിൽ സ്റ്റിക്കി പോസ്റ്റുകൾ കാണിക്കരുത് ("അവഗണിക്കുക") (അവ ഇപ്പോഴും അവയുടെ സ്വാഭാവിക സ്ഥാനത്ത് കാണിക്കും, ഉദാ. തീയതി പ്രകാരം):

$query = പുതിയ WP_Query(array("ignore_sticky_posts" => 1, "posts_per_page" => 3, "cat" => 6);

ഒരു വിഭാഗത്തിൽ നിന്ന് സ്റ്റിക്കി പോസ്റ്റുകൾ ഒഴിവാക്കുക. വിഭാഗത്തിനുള്ളിൽ പോസ്റ്റുകൾ തിരികെ നൽകുക, എന്നാൽ സ്റ്റിക്കി പോസ്റ്റുകൾ പൂർണ്ണമായും ഒഴിവാക്കുക, കൂടാതെ പേജിംഗ് നിയമങ്ങൾ പാലിക്കുക:

$paged = get_query_var("paged") ? get_query_var("paged") : 1; $സ്റ്റിക്കി = get_option("sticky_posts"); $args = array("cat" => 3, "ignore_sticky_posts" => 1, "post__not_in" => $sticky, "paged" => $paged,); $query = പുതിയ WP_Query($args);

ക്രമവും ക്രമവും പാരാമീറ്ററുകൾ

വീണ്ടെടുത്ത പോസ്റ്റുകൾ അടുക്കുക.

  • ഓർഡർ (ചരട് | അറേ) - "ഓർഡർബൈ" പാരാമീറ്ററിൻ്റെ ആരോഹണ അല്ലെങ്കിൽ അവരോഹണ ക്രമം നിയോഗിക്കുന്നു. "DESC"-ലേക്കുള്ള ഡിഫോൾട്ടുകൾ. ഒന്നിലധികം ഓർഡർ/ഓർഡർബൈ സെറ്റുകൾക്ക് ഒരു അറേ ഉപയോഗിക്കാം.
    • "ASC" - താഴ്ന്നതിൽ നിന്ന് ഉയർന്ന മൂല്യങ്ങളിലേക്കുള്ള ആരോഹണ ക്രമം (1, 2, 3; a, b, c).
    • "DESC" - ഏറ്റവും ഉയർന്ന മൂല്യങ്ങളിൽ നിന്ന് താഴ്ന്ന മൂല്യങ്ങളിലേക്കുള്ള അവരോഹണ ക്രമം (3, 2, 1; c, b, a).
  • ക്രമപ്രകാരം (ചരട് | അറേ) - വീണ്ടെടുത്ത പോസ്റ്റുകൾ പാരാമീറ്റർ പ്രകാരം അടുക്കുക. "date (post_date)" എന്നതിലേക്കുള്ള ഡിഫോൾട്ടുകൾ. ഒന്നോ അതിലധികമോ ഓപ്ഷനുകൾ കടന്നുപോകാം.
    • "ഒന്നുമില്ല" - ഓർഡർ ഒന്നുമില്ല (മുതൽ ലഭ്യമാണ് ).
    • "ഐഡി" - പോസ്റ്റ് ഐഡി പ്രകാരം ഓർഡർ ചെയ്യുക. വലിയക്ഷരം ശ്രദ്ധിക്കുക.
    • "രചയിതാവ്" - രചയിതാവിൻ്റെ ഓർഡർ. ("post_author" എന്നതും അംഗീകരിക്കപ്പെട്ടിരിക്കുന്നു.)
    • " ശീർഷകം "(! LANG: - തലക്കെട്ട് പ്രകാരം ഓർഡർ ചെയ്യുക. (" post_title "സ്വീകാര്യവുമാണ്.)
    • " name " - Order by post name (post slug). (" post_name " is also accepted.)!}
    • "തരം" - ഓർഡർ പ്രകാരം ഓർഡർ ചെയ്യുക (മുതൽ ലഭ്യമാണ് ). ("post_type" എന്നതും അംഗീകരിക്കപ്പെടുന്നു.)
    • " തീയതി " - തീയതി പ്രകാരം ഓർഡർ ചെയ്യുക. ("post_date" എന്നതും അംഗീകരിക്കപ്പെടുന്നു.)
    • "പരിഷ്ക്കരിച്ചത്" - അവസാനം പരിഷ്കരിച്ച തീയതി പ്രകാരം ഓർഡർ ചെയ്യുക. ("post_modified" എന്നതും അംഗീകരിക്കപ്പെടുന്നു.)
    • " രക്ഷിതാവ് " - പോസ്റ്റ്/പേജ് പാരൻ്റ് ഐഡി പ്രകാരം ഓർഡർ ചെയ്യുക. ("post_parent" എന്നതും അംഗീകരിക്കപ്പെട്ടിരിക്കുന്നു.)
    • "റാൻഡ്" - ക്രമരഹിതമായ ക്രമം. നിങ്ങൾക്ക് "RAND(x)" ഉപയോഗിക്കാനും കഴിയും, ഇവിടെ "x" എന്നത് ഒരു പൂർണ്ണ വിത്ത് മൂല്യമാണ്. "ഓർഡർബൈ" റാൻഡിനായി ഒരു "ഓർഡർ" പാരാമീറ്റർ ഉണ്ടായിരിക്കണമെന്ന് ശ്രദ്ധിക്കുക.
    • " comment_count " - അഭിപ്രായങ്ങളുടെ എണ്ണം അനുസരിച്ച് ഓർഡർ ചെയ്യുക (മുതൽ ലഭ്യമാണ് ).
    • " പ്രസക്തി" - ഇനിപ്പറയുന്ന ക്രമത്തിൽ തിരയൽ പദങ്ങൾ അനുസരിച്ച് ഓർഡർ ചെയ്യുക: ആദ്യം, മുഴുവൻ വാക്യവും പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന്. രണ്ടാമതായി, എല്ലാ തിരയൽ പദങ്ങളും ശീർഷകങ്ങൾക്കുള്ളിലാണെങ്കിൽ. മൂന്നാമതായി, ശീർഷകങ്ങളിൽ ഏതെങ്കിലും തിരയൽ പദങ്ങൾ പ്രത്യക്ഷപ്പെടുകയാണെങ്കിൽ. കൂടാതെ, നാലാമതായി, മുഴുവൻ വാക്യവും ഉള്ളടക്കത്തിൽ ദൃശ്യമാകുകയാണെങ്കിൽ.
    • "menu_order" - പേജ് ഓർഡർ പ്രകാരം ഓർഡർ ചെയ്യുക. മിക്കപ്പോഴും ഉപയോഗിക്കുന്നത് ( ഓർഡർ ചെയ്യുകഎഡിറ്റ് പേജ് ആട്രിബ്യൂട്ടുകൾ ബോക്സിലെ ഫീൽഡ്), (ഇൻസേർട്ട് / അപ്‌ലോഡ് മീഡിയ ഗാലറി ഡയലോഗിലെ പൂർണ്ണസംഖ്യ ഫീൽഡുകൾ), എന്നാൽ വ്യതിരിക്തമായ "മെനു_ഓർഡർ" മൂല്യങ്ങളുള്ള ഏത് പോസ്റ്റിനും ഉപയോഗിക്കാം (അവയെല്ലാം ഡിഫോൾട്ട് 0 ആയി).
    • " meta_value " - ശ്രദ്ധിക്കുക a" meta_key=keyname " must also be present in the query. Note also that the sorting will be alphabetical which is fine for strings (i.e. words), but can be unexpected for numbers (e.g. 1, 3, 34, 4, 56, 6, etc, rather than 1, 3, 4, 6, 34, 56 as you might naturally expect). Use " meta_value_num " instead for numeric values. You may also specify " meta_type " if you want to cast the meta value as a specific type. Possible values are "NUMERIC", "BINARY", "CHAR", "DATE", "DATETIME", "DECIMAL", "SIGNED", "TIME", "UNSIGNED", same as in " $meta_query ". When using " meta_type " you can also use " meta_value_* " accordingly. For example, when using DATETIME as " meta_type " you can use " meta_value_datetime " to define order structure.!}
    • " meta_value_num " - സംഖ്യാ മെറ്റാ മൂല്യം അനുസരിച്ച് ഓർഡർ ചെയ്യുക (മുതൽ ലഭ്യമാണ് ). അന്വേഷണത്തിൽ ഒരു "meta_key=keyname" ഉണ്ടായിരിക്കണം എന്നതും ശ്രദ്ധിക്കുക. ഈ മൂല്യം " meta_value ". എന്നതിൽ മുകളിൽ സൂചിപ്പിച്ചത് പോലെ സംഖ്യാക്രമം ക്രമീകരിക്കാൻ അനുവദിക്കുന്നു.
    • " post__in " - Preserve post ID order given in the " post__in " array (available since ). !} കുറിപ്പ്
    • " post_name__in " - " post_name__in " അറേയിൽ നൽകിയിരിക്കുന്ന പോസ്റ്റ് സ്ലഗ് ഓർഡർ സൂക്ഷിക്കുക (മുതൽ ലഭ്യമാണ് ). കുറിപ്പ്- ഓർഡർ പരാമീറ്ററിൻ്റെ മൂല്യം തത്ഫലമായുണ്ടാകുന്ന അടുക്കൽ ക്രമം മാറ്റില്ല.
    • " post_parent__in " - " post_parent__in " അറേയിൽ നൽകിയിരിക്കുന്ന പോസ്റ്റ് പാരൻ്റ് ഓർഡർ സൂക്ഷിക്കുക (മുതൽ ലഭ്യമാണ് ). കുറിപ്പ്- ഓർഡർ പരാമീറ്ററിൻ്റെ മൂല്യം തത്ഫലമായുണ്ടാകുന്ന അടുക്കൽ ക്രമം മാറ്റില്ല.

ശീർഷകം, അവരോഹണ ക്രമം എന്നിവ പ്രകാരം അടുക്കിയ പോസ്റ്റുകൾ കാണിക്കുക

പോസ്റ്റ് "ശീർഷകം" പ്രകാരം അടുക്കിയ പോസ്റ്റുകൾ അവരോഹണ ക്രമത്തിൽ പ്രദർശിപ്പിക്കുക:

$args = array("orderby" => "title", "order" =>

"ശീർഷകം" എന്നതിലേക്ക് ഒരു ഫാൾബാക്ക് ഉപയോഗിച്ച് "menu_order" പ്രകാരം അടുക്കിയ പോസ്റ്റുകൾ ഒരു അവരോഹണ ക്രമത്തിൽ പ്രദർശിപ്പിക്കുക:

$args = array("orderby" => "menu_order title", "order" => "DESC",); $query = പുതിയ WP_Query($args);

ക്രമരഹിതമായ പോസ്റ്റ് കാണിക്കുക

ക്രമരഹിതമായ ഒരു പോസ്റ്റ് പ്രദർശിപ്പിക്കുക:

$args = array("orderby" => "rand", "posts_per_page" => 1,); $query = പുതിയ WP_Query($args);

ജനപ്രിയ പോസ്റ്റുകൾ കാണിക്കുക

കമൻ്റുകളുടെ എണ്ണം അനുസരിച്ച് ക്രമീകരിച്ച പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = array("orderby" => "comment_count"); $query = പുതിയ WP_Query($args);

വില അനുസരിച്ച് അടുക്കിയ ഉൽപ്പന്നങ്ങൾ കാണിക്കുക

"പ്രൈസ്" ഇഷ്‌ടാനുസൃത ഫീൽഡ് പ്രകാരം ഓർഡർ ചെയ്ത "ഉൽപ്പന്ന" തരത്തോടുകൂടിയ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = array("post_type" => "product", "orderby" => "meta_value_num", "meta_key" => "price",); $query = പുതിയ WP_Query($args);

ഒന്നിലധികം "ഓർഡർബൈ" മൂല്യങ്ങൾ

"ശീർഷകം", "menu_order" എന്നിവ പ്രകാരം ക്രമീകരിച്ച പേജുകൾ പ്രദർശിപ്പിക്കുക. (ശീർഷകം പ്രബലമാണ്):

$args = array("post_type" => "page", "orderby" => "title menu_order", "order" => "ASC",); $query = പുതിയ WP_Query($args);

ഒരു അറേ ഉപയോഗിച്ച് ഒന്നിലധികം "ഓർഡർബൈ" മൂല്യങ്ങൾ

വ്യത്യസ്ത അടുക്കൽ ഓർഡറുകൾ (ASC/DESC) ഉപയോഗിച്ച് "ശീർഷകം", "menu_order" എന്നിവ പ്രകാരം ക്രമീകരിച്ച പേജുകൾ പ്രദർശിപ്പിക്കുക (മുതൽ ലഭ്യമാണ് ):

$args = array("orderby" => array("title" => "DESC", "menu_order" => "ASC")); $query = പുതിയ WP_Query($args);

ഒന്നിലധികം ക്രമം/ഓർഡർ ജോഡികൾ

$args = array("orderby" => array("meta_value_num" => "DESC", "title" => "ASC"), "meta_key" => "വയസ്സ്"); $query = പുതിയ WP_Query($args);

"ഓർഡർബൈ", "meta_value" എന്നിവയും ഇഷ്‌ടാനുസൃത പോസ്റ്റ് തരവും

"my_custom_post_type" എന്ന തരത്തിലുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക, "പ്രായം" പ്രകാരം ക്രമീകരിച്ച്, 3 ഉം 4 ഉം വയസ്സ് മാത്രം കാണിക്കാൻ ഫിൽട്ടർ ചെയ്‌തു (meta_query ഉപയോഗിച്ച്).

$args = അറേ("post_type" => "my_custom_post_type", "meta_key" => "പ്രായം", "orderby" => "meta_value_num", "order" => "ASC", "meta_query" => അറേ(അറേ( "കീ" => "പ്രായം", "മൂല്യം" => അറേ(3, 4), "താരതമ്യപ്പെടുത്തുക" => "IN",),); $query = പുതിയ WP_Query($args);

"ഒന്നിലധികം "മെറ്റാ_കീ"കൾക്കൊപ്പം ഓർഡർബൈ"

പോസ്റ്റ്‌മെറ്റയുടെ രണ്ട് വ്യത്യസ്ത ഭാഗങ്ങൾ (ഉദാഹരണത്തിന്, സിറ്റി ഫസ്റ്റ്, സ്റ്റേറ്റ് രണ്ടാമത്) ഉപയോഗിച്ച് ഓർഡർ ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, "പേരുള്ള മെറ്റാ അന്വേഷണങ്ങൾ" ഉപയോഗിച്ച് നിങ്ങളുടെ മെറ്റാ അന്വേഷണം നിങ്ങളുടെ ഓർഡർ ബൈ അറേയിലേക്ക് സംയോജിപ്പിച്ച് ലിങ്ക് ചെയ്യേണ്ടതുണ്ട്. ചുവടെയുള്ള ഉദാഹരണം കാണുക:

$q = പുതിയ WP_Query(array("meta_query" => array("relation" => "AND", "state_clause" => array("key" => "state", "value" => "Wisconsin",) , "city_clause" => array("key" => "city", "compare" => "exISTS",), "orderby" => array("city_clause" => "ASC", "state_clause" => "DESC",),));

തീയതി പാരാമീറ്ററുകൾ

ഒരു നിശ്ചിത സമയവും തീയതിയും കാലയളവുമായി ബന്ധപ്പെട്ട പോസ്റ്റുകൾ കാണിക്കുക.

  • വർഷം (int) - 4 അക്ക വർഷം (ഉദാ. 2011).
  • മാസം (int
  • w (int) - വർഷത്തിലെ ആഴ്ച (0 മുതൽ 53 വരെ). MySQL WEEK കമാൻഡ് ഉപയോഗിക്കുന്നു. മോഡ് "start_of_week" ഓപ്ഷനെ ആശ്രയിച്ചിരിക്കുന്നു.
  • ദിവസം (int
  • മണിക്കൂർ (int) - മണിക്കൂർ (0 മുതൽ 23 വരെ).
  • മിനിറ്റ് (int) - മിനിറ്റ് (0 മുതൽ 60 വരെ).
  • രണ്ടാമത്തേത് (int) - രണ്ടാമത്തേത് (0 മുതൽ 60 വരെ).
  • എം (int) - വർഷം മാസം (ഉദാ. 201307 ).
  • തീയതി_ചോദ്യം (അറേ) - തീയതി പാരാമീറ്ററുകൾ (മുതൽ ലഭ്യമാണ് ).
    • വർഷം (int) - 4 അക്ക വർഷം (ഉദാ. 2011).
    • മാസം (int) - മാസ സംഖ്യ (1 മുതൽ 12 വരെ).
    • ആഴ്ച (int) - വർഷത്തിലെ ആഴ്ച (0 മുതൽ 53 വരെ).
    • ദിവസം (int) - മാസത്തിലെ ദിവസം (1 മുതൽ 31 വരെ).
    • മണിക്കൂർ (int) - മണിക്കൂർ (0 മുതൽ 23 വരെ).
    • മിനിറ്റ് (int) - മിനിറ്റ് (0 മുതൽ 59 വരെ).
    • രണ്ടാമത്തേത് (int) - രണ്ടാമത്തേത് (0 മുതൽ 59 വരെ).
    • ശേഷം (സ്ട്രിംഗ്/അറേ) - ശേഷം പോസ്റ്റുകൾ വീണ്ടെടുക്കേണ്ട തീയതി. strtotime() അംഗീകരിക്കുന്നു
      • വർഷം (സ്ട്രിംഗ്
      • മാസം (സ്ട്രിംഗ്) വർഷത്തിലെ മാസം. 1-12 നമ്പറുകൾ സ്വീകരിക്കുന്നു. സ്ഥിരസ്ഥിതി: 12.
      • ദിവസം (സ്ട്രിംഗ്) മാസത്തിലെ ദിവസം. 1-31 നമ്പറുകൾ സ്വീകരിക്കുന്നു. സ്ഥിരസ്ഥിതി: മാസത്തിലെ അവസാന ദിവസം.
    • മുമ്പ് (സ്ട്രിംഗ്/അറേ) - മുമ്പ് പോസ്റ്റുകൾ വീണ്ടെടുക്കേണ്ട തീയതി. strtotime() -അനുയോജ്യമായ സ്ട്രിംഗ് അല്ലെങ്കിൽ "വർഷം", "മാസം", "ദിവസം" മൂല്യങ്ങളുടെ ശ്രേണി സ്വീകരിക്കുന്നു:
      • വർഷം (സ്ട്രിംഗ്) ഏത് നാലക്ക വർഷവും സ്വീകരിക്കുന്നു. ഡിഫോൾട്ട് ശൂന്യമാണ്.
      • മാസം (സ്ട്രിംഗ്) വർഷത്തിലെ മാസം. 1-12 നമ്പറുകൾ സ്വീകരിക്കുന്നു. സ്ഥിരസ്ഥിതി: 1.
      • ദിവസം (സ്ട്രിംഗ്) മാസത്തിലെ ദിവസം. 1-31 നമ്പറുകൾ സ്വീകരിക്കുന്നു. സ്ഥിരസ്ഥിതി: 1.
    • ഉൾപ്പെടെ (ബൂളിയൻ) - ശേഷം/മുമ്പ്, കൃത്യമായ മൂല്യം പൊരുത്തപ്പെടണോ വേണ്ടയോ എന്ന്".
    • താരതമ്യം ചെയ്യുക (സ്ട്രിംഗ്) - WP_Date_Query::get_compare() കാണുക.
    • കോളം (സ്ട്രിംഗ്) - എതിരായി ചോദിക്കാൻ. സ്ഥിരസ്ഥിതി: "post_date".
    • ബന്ധം (സ്ട്രിംഗ്) - അല്ലെങ്കിൽ അല്ലെങ്കിൽ AND, സബ്-അറേകൾ എങ്ങനെ താരതമ്യം ചെയ്യണം. ഡിഫോൾട്ട്:AND.

ഡിസംബർ 12, 2012-ലെ പോസ്റ്റുകൾ നൽകുന്നു:

$query = പുതിയ WP_Query("വർഷം=2012&മാസം=12&ദിവസം=12");

$args = array("date_query" => array(array("year" => 2012, "month" => 12, "day" => 12,),),); $query = പുതിയ WP_Query($args);

ഇന്നത്തെ പോസ്റ്റുകൾ നൽകുന്നു:

$ഇന്ന് = getdate(); $query = പുതിയ WP_Query("year=" . $today[" year"] . "&monthnum=" . $today["mon"] . "&day=" . $today["mday"]);

$ഇന്ന് = getdate(); $args = array("date_query" => array(array("year" => $today["year"], "month" => $today["mon"], "day" => $today["mday "],),),); $query = പുതിയ WP_Query($args);

ഈ ആഴ്‌ചയിലെ പോസ്റ്റുകൾ നൽകുന്നു:

$ആഴ്ച = തീയതി("W"); $ വർഷം = തീയതി ("Y"); $query = പുതിയ WP_Query("year=" . $ year . "&w=" . $week);

$args = array("date_query" => array(array("year" => date("Y"), "week" => date("W"),),); $query = പുതിയ WP_Query($args);

പ്രവൃത്തിദിവസങ്ങളിൽ 9AM മുതൽ 5PM വരെ പോസ്റ്റുകൾ തിരികെ നൽകുക

$args = array("date_query" => array(array("hour" => 9, "compare" => ">=",), array("hour" => 17, "compare" => "<=",), array("dayofweek" =>അറേ(2, 6), "താരതമ്യപ്പെടുത്തുക" => "ഇടയിൽ",), "posts_per_page" =>

ജനുവരി 1 മുതൽ ഫെബ്രുവരി 28 വരെയുള്ള പോസ്റ്റുകൾ തിരികെ നൽകുക

$args = അറേ("date_query" => അറേ(അറേ("ശേഷം" => "ജനുവരി 1, 2013", "മുമ്പ്" => അറേ("വർഷം" => 2013, "മാസം" => 2, "ദിവസം" => 28,), "ഉൾപ്പെടെ" => true,), "posts_per_page" => -1,); $query = പുതിയ WP_Query($args);

മുമ്പത്തെ പരാമീറ്ററിൽ ഒരു തീയതിയുള്ള ഒരു strtotime() -compatible സ്ട്രിംഗ് നൽകിയിട്ടുണ്ടെങ്കിൽ, അത് ആ തീയതിയിൽ 00:00:00 ആയി പരിവർത്തനം ചെയ്യപ്പെടും. ഈ സാഹചര്യത്തിൽ, ഇൻക്ലൂസീവ് എന്നത് true ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലും, ചോദ്യത്തിൽ തീയതി ഉൾപ്പെടുത്തില്ല. നിങ്ങൾക്ക് മുമ്പുള്ള തീയതി ഉൾപ്പെടുത്തണമെങ്കിൽ, "മുമ്പ്" => "2013-02-28 23:59:59" പോലെയുള്ള സമയവും ഉൾപ്പെടുത്തുക, അല്ലെങ്കിൽ ഉൾപ്പെടുത്തിയാൽ സ്വയമേവ ക്രമീകരിക്കുന്ന അറേ ഫോർമാറ്റ് ഉപയോഗിക്കുക .

റിട്ടേൺ പോസ്‌റ്റുകൾ ഒരു വർഷം മുമ്പ് സൃഷ്‌ടിച്ചെങ്കിലും കഴിഞ്ഞ മാസത്തിൽ പരിഷ്‌ക്കരിച്ചു

$args = അറേ("തീയതി => "1 മാസം മുമ്പ്",), "posts_per_page" => -1,); $query = പുതിയ WP_Query($args);

സങ്കീർണ്ണമായ അന്വേഷണങ്ങൾ നിർമ്മിക്കുന്നതിനായി "date_query" ക്ലോസുകൾ നെസ്റ്റഡ് ചെയ്യാം. വാക്യഘടനയെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾക്ക് കാണുക.

ഇഷ്‌ടാനുസൃത ഫീൽഡ് പാരാമീറ്ററുകൾ

ഒരു പ്രത്യേക ഇഷ്‌ടാനുസൃത ഫീൽഡുമായി ബന്ധപ്പെട്ട പോസ്റ്റുകൾ കാണിക്കുക.

ചോദ്യത്തിൻ്റെ ഈ ഭാഗം പാഴ്‌സ് ചെയ്‌തതാണ്, അതിനാൽ ഈ ആർഗ്യുമെൻ്റുകളുടെ ലിസ്റ്റ് കാലികമല്ലെങ്കിൽ കൂടി പരിശോധിക്കുക.

  • മെറ്റാ_കീ (സ്ട്രിംഗ്) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ.
  • മെറ്റാ_മൂല്യം (സ്ട്രിംഗ്) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം.
  • meta_value_num (നമ്പർ) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം.
  • meta_compare (സ്ട്രിംഗ്) - " meta_value " (! LANG:. സാധ്യമായ മൂല്യങ്ങൾ പരിശോധിക്കുന്നതിനുള്ള ഓപ്പറേറ്റർ"=", "!=", ">", ">=", "!}<", "<=", "LIKE", "NOT LIKE", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "NOT EXISTS", "REGEXP", "NOT REGEXP" or "RLIKE". Default value is "=".
  • മെറ്റാ_ക്വറി (അറേ) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് പാരാമീറ്ററുകൾ (മുതൽ ലഭ്യമാണ്).
    • ബന്ധം (സ്ട്രിംഗ്) - ഒന്നിൽ കൂടുതൽ ഉള്ളപ്പോൾ ഓരോ ആന്തരിക മെറ്റാ_ക്വറി അറേയും തമ്മിലുള്ള ലോജിക്കൽ ബന്ധം. സാധ്യമായ മൂല്യങ്ങൾ "AND", "OR" എന്നിവയാണ്. ഒരൊറ്റ ആന്തരിക meta_query അറേയ്‌ക്കൊപ്പം ഉപയോഗിക്കരുത്.

meta_query-ൽ ഇനിപ്പറയുന്ന കീകളുള്ള ഒന്നോ അതിലധികമോ അറേകളും അടങ്ങിയിരിക്കുന്നു:

  • താക്കോൽ (സ്ട്രിംഗ്) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ.
  • മൂല്യം (സ്ട്രിംഗ്|അറേ) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം. എപ്പോൾ മാത്രമേ ഇത് ഒരു അറേ ആകാൻ കഴിയൂ താരതമ്യം ചെയ്യുക"ഇൻ" , "ഇൻ ഇൻ" , "ഇടയിൽ" , അല്ലെങ്കിൽ "ഇടയിൽ അല്ല" . വേർഡ്പ്രസ്സ് 3.9-ലും അതിനുമുകളിലുള്ളവയിലും "എക്‌സിസ്റ്റുകൾ" അല്ലെങ്കിൽ "ഇസ്‌സിസ്റ്റുകൾ" എന്ന താരതമ്യങ്ങൾ ഉപയോഗിക്കുമ്പോൾ നിങ്ങൾ ഒരു മൂല്യം വ്യക്തമാക്കേണ്ടതില്ല.
    (കുറിപ്പ്:ബഗ് #23268 കാരണം, നിലവിലില്ലാത്ത താരതമ്യങ്ങൾ ശരിയായി പ്രവർത്തിക്കുന്നതിന് മൂല്യം ആവശ്യമാണ് 3.9 ന് മുമ്പ്. നിങ്ങൾ വിതരണം ചെയ്യണം ചിലത്മൂല്യ പാരാമീറ്ററിനുള്ള സ്ട്രിംഗ്. ഒരു ശൂന്യമായ സ്ട്രിംഗ് അല്ലെങ്കിൽ NULL പ്രവർത്തിക്കില്ല. എന്നിരുന്നാലും, മറ്റേതെങ്കിലും സ്ട്രിംഗും ഈ തന്ത്രം ചെയ്യും കൂടാതെ NOT EXISTS ഉപയോഗിക്കുമ്പോൾ നിങ്ങളുടെ SQL-ൽ ദൃശ്യമാകില്ല. പ്രചോദനം ആവശ്യമുണ്ടോ? എങ്ങനെ "ബഗ് #23268" .)
  • താരതമ്യം ചെയ്യുക (സ്ട്രിംഗ്) - പരിശോധിക്കാൻ ഓപ്പറേറ്റർ. സാധ്യമായ മൂല്യങ്ങൾ "=", "!=", ">", ">=", " എന്നിവയാണ്<", "<=", "LIKE", "NOT LIKE", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "EXISTS" and "NOT EXISTS". Default value is "=".
  • തരം (സ്ട്രിംഗ്) - ഇഷ്‌ടാനുസൃത ഫീൽഡ് തരം. സാധ്യമായ മൂല്യങ്ങൾ "NUMERIC", "BINARY", "CHAR", "DATE", "DATETIME", "DECIMAL", "SIGNED", "TIME", "UNSIGNED" എന്നിവയാണ്. സ്ഥിര മൂല്യം "CHAR" ആണ്. "DECIMAL", "NUMERIC" തരങ്ങൾക്കായി നിങ്ങൾക്ക് കൃത്യതയും സ്കെയിലും വ്യക്തമാക്കാം (ഉദാഹരണത്തിന്, "DECIMAL(10,5)" അല്ലെങ്കിൽ "NUMERIC(10)" സാധുവാണ്).

തീയതി YYYY-MM-DD ഫോർമാറ്റിൽ സംഭരിക്കുകയും ഈ ഫോർമാറ്റ് ഉപയോഗിച്ച് പരീക്ഷിക്കുകയും ചെയ്താൽ മാത്രമേ "തരം" DATE "താരതമ്യപ്പെടുത്തുക" എന്ന മൂല്യത്തിൽ പ്രവർത്തിക്കൂ.

പ്രധാന കുറിപ്പ്: meta_query ഒരു എടുക്കുന്നു അറേമെറ്റാ ക്വറി ആർഗ്യുമെൻ്റുകളുടെ അറേകൾ(ഇതിന് അറേകളുടെ ഒരു നിര ആവശ്യമാണ്) - ചുവടെയുള്ള ഉദാഹരണങ്ങളിൽ നിങ്ങൾക്ക് ഇത് കാണാൻ കഴിയും. ഉപയോഗിച്ച് ഒന്നിലധികം മെറ്റാഡാറ്റകൾ അന്വേഷിക്കാൻ ഈ നിർമ്മാണം നിങ്ങളെ അനുവദിക്കുന്നു ബന്ധംമെറ്റാ അന്വേഷണങ്ങൾ തമ്മിലുള്ള ബൂളിയൻ ബന്ധം വിവരിക്കുന്നതിനുള്ള ആദ്യ (പുറം) അറേയിലെ പരാമീറ്റർ. സ്വീകാര്യമായ ആർഗ്യുമെൻ്റുകൾ "AND", "OR" എന്നിവയാണ്. സ്ഥിരസ്ഥിതി "AND" ആണ്.

ലളിതമായ ഇഷ്‌ടാനുസൃത ഫീൽഡ് അന്വേഷണം:

ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം പരിഗണിക്കാതെ തന്നെ ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ "നിറം" ആയ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("meta_key" => "color"));

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ പരിഗണിക്കാതെ, ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം "നീല" ആയിരിക്കുന്ന പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$query = പുതിയ WP_Query(array("meta_value" => "blue"));

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ പരിഗണിക്കാതെ, ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം "നീല" എവിടെയാണെന്ന് പ്രദർശിപ്പിക്കുക:

$args = അറേ("meta_value" => "blue", "post_type" => "page"); $query = പുതിയ WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ "നിറം" ആയിരിക്കുകയും ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം "നീല" ആയിരിക്കുകയും ചെയ്യുന്ന പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = array("meta_key" => "color", "meta_value" => "blue"); $query = പുതിയ WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ "നിറം" ആയതും ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം "നീല" അല്ലാത്തതുമായ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = array("meta_key" => "color", "meta_value" => "blue", "meta_compare" => "!="); $query = പുതിയ WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം ഒരു സംഖ്യയായിരിക്കുന്ന പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക. ആ സംഖ്യ 10-ൽ താഴെയുള്ള പോസ്റ്റുകൾ മാത്രം പ്രദർശിപ്പിക്കുന്നു. (WP_Query താരതമ്യം ചെയ്യാൻ ഈ സമവാക്യം ഉപയോഗിക്കുന്നു: $post_meta . $args["meta_value"] . $args["meta_value"] , ഇവിടെ "$post_meta" എന്നത് ഇഷ്‌ടാനുസൃത പോസ്റ്റിൻ്റെ മൂല്യമാണ് ഓരോ പോസ്റ്റിലും മെറ്റാ സംഭരിച്ചിരിക്കുന്നു; പൂരിപ്പിച്ച മൂല്യങ്ങളുള്ള യഥാർത്ഥ സമവാക്യം: $post_meta< 10)

$args = array("post_type" => "post", "meta_key" => "number", "meta_value_num" => 10, "meta_compare" => "<",); $query = new WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ ഒരു സജ്ജീകരിച്ച തീയതിയും ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം ഇപ്പോൾ ഉള്ളതുമായ പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക. തീയതി കടന്നുപോകാത്ത പോസ്റ്റുകൾ മാത്രം പ്രദർശിപ്പിക്കുന്നു.

$args = അറേ("post_type" => "event", "meta_key" => "event_date", "meta_value" => തീയതി("Ymd"), // "ഇവൻ്റ് തീയതി" എങ്ങനെ സംഭരിക്കുന്നു എന്നതിലേക്ക് മാറ്റുക "meta_compare" = > ">",); $query = പുതിയ WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ 'വില' ആയിരിക്കുന്നിടത്ത് "ഉൽപ്പന്നം"(കൾ) പ്രദർശിപ്പിക്കുക, ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യം 22-നേക്കാൾ കുറവോ തുല്യമോ ആണ്.
'meta_value' പാരാമീറ്റർ ഉപയോഗിക്കുന്നതിലൂടെ, ഡാറ്റ 'നമ്പറുകൾ' അല്ല, 'സ്ട്രിംഗുകൾ' ആയി സംഭരിച്ചിരിക്കുന്നതിനാൽ മൂല്യം 99 100-നേക്കാൾ വലുതായി കണക്കാക്കും. നമ്പർ താരതമ്യത്തിനായി 'meta_value_num' ഉപയോഗിക്കുക.

$args = array('meta_key' => 'price', 'meta_value' => '22', 'meta_compare' => '<=', 'post_type' =>'ഉൽപ്പന്നം'); $query = പുതിയ WP_Query($args);

ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ പരിഗണിക്കാതെ പൂജ്യത്തിൻ്റെ (0) ഇഷ്‌ടാനുസൃത ഫീൽഡ് മൂല്യമുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = അറേ('meta_value' => '_wp_zero_value'); $query = പുതിയ WP_Query($args);

സിംഗിൾ ഇഷ്‌ടാനുസൃത ഫീൽഡ് കൈകാര്യം ചെയ്യൽ:

ഒരൊറ്റ ഇഷ്‌ടാനുസൃത ഫീൽഡിൽ നിന്നുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക:

$args = array('post_type' => 'product', 'meta_query' => array('key' => 'color', 'value' => 'blue', 'compare' => 'ഇഷ്ടമല്ല' ,),),); $query = പുതിയ WP_Query($args);

(നിങ്ങൾക്ക് ഒരു ചോദ്യം മാത്രമേ ഉള്ളുവെങ്കിലും, meta_query നെസ്റ്റഡ് അറേകൾ പ്രതീക്ഷിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക.)

WP_Query ക്ലാസ് പര്യവേക്ഷണം ചെയ്യുന്ന ഞങ്ങളുടെ സീരീസിലെ ഇന്നത്തെ ലേഖനത്തിൽ, നിങ്ങൾക്ക് WP_Query ഉപയോഗിച്ച് ചോദിക്കാൻ ഉപയോഗിക്കാവുന്ന നിരവധി വാദങ്ങളെക്കുറിച്ച് നിങ്ങൾ പഠിക്കും:

  • പദവി;
  • ഓർഡർ;
  • പേജിനേഷൻ.

ഈ ആർഗ്യുമെൻ്റുകൾ ഡാറ്റാബേസിൽ നിന്ന് റെക്കോർഡുകൾ വീണ്ടെടുക്കുന്നതിനും, അറ്റാച്ച്മെൻ്റ് അന്വേഷണങ്ങളിൽ, റെക്കോർഡുകൾ പുനഃക്രമീകരിക്കുന്നതിനും അടുക്കുന്നതിനും, എത്ര റെക്കോർഡുകൾ പ്രദർശിപ്പിക്കണമെന്ന് വ്യക്തമാക്കുന്നതിനും മറ്റും ഉപയോഗിക്കാനാകും.

WP_Query-ൽ ആർഗ്യുമെൻ്റുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നമുക്ക് ഓർക്കാം

നിങ്ങളുടെ സ്വന്തം തീമുകളിലോ പ്ലഗിന്നുകളിലോ WP_Query ഉപയോഗിക്കുമ്പോൾ, നിങ്ങളുടെ കോഡിൽ ഉൾപ്പെടുത്തേണ്ട നാല് പ്രധാന ഘടകങ്ങളുണ്ട്:

  • പാരാമീറ്ററുകൾ ഉപയോഗിക്കുന്ന ഒരു അഭ്യർത്ഥനയ്ക്കുള്ള ആർഗ്യുമെൻ്റുകൾ;
  • അപേക്ഷ തന്നെ;
  • സൈക്കിൾ;
  • അവസാന ഘട്ടം: റെക്കോർഡിംഗ് ഡാറ്റ പുനഃസജ്ജമാക്കുന്നു.

പ്രായോഗികമായി, ഇത് ഇതുപോലെ കാണപ്പെടുന്നു:

have_posts()) ( // അന്വേഷണ ഫലങ്ങളിൽ നിന്ന് ഡാറ്റ പ്രോസസ്സിംഗ് സൈക്കിൾ ആരംഭിക്കുമ്പോൾ ($query->have_posts()) ( $query->the_post(); // ചോദിച്ച പോസ്റ്റിൻ്റെ ഉള്ളടക്കങ്ങൾ) // യഥാർത്ഥമായത് പുനഃസ്ഥാപിക്കുന്നു പോസ്റ്റ് ഡാറ്റ wp_reset_postdata(); ?>

ഡാറ്റാബേസിൽ നിന്ന് എന്ത് ഡാറ്റ വീണ്ടെടുക്കണമെന്ന് വാദങ്ങൾ WordPress-നോട് പറയുന്നു. കോഡിൻ്റെ തുടക്കത്തിൽ തന്നെ നമുക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാം:

$args = അറേ(// നിങ്ങളുടെ അഭ്യർത്ഥനയ്ക്കുള്ള ആർഗ്യുമെൻ്റുകൾ);

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ആർഗ്യുമെൻ്റുകൾ ഒരു അറേയിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

വാദങ്ങൾക്കായി കോഡ് സൃഷ്ടിക്കുന്നു

ഒരു അറേയിൽ ആർഗ്യുമെൻ്റുകൾ ആരംഭിക്കുന്നതിന് ഒരു പ്രത്യേക വാക്യഘടനയുണ്ട്:

$args = array("parameter1" => "value", "parameter2" => "value", "parameter3" => "value");

നിങ്ങൾ പാരാമീറ്ററുകളും അവയുടെ മൂല്യങ്ങളും ഒറ്റ ഉദ്ധരണികളിൽ ഉൾപ്പെടുത്തുകയും അവയ്ക്കിടയിൽ => ഉപയോഗിക്കുകയും വേണം. ആർഗ്യുമെൻ്റുകൾ കോമകളാൽ വേർതിരിച്ചിരിക്കുന്നു. നിങ്ങൾ സ്ഥാപിതമായ വാക്യഘടന പിന്തുടരുന്നില്ലെങ്കിൽ, നിങ്ങൾ വ്യക്തമാക്കിയ എല്ലാ ആർഗ്യുമെൻ്റുകളും വേർഡ്പ്രസ്സ് പോൾ ചെയ്യാനിടയില്ല, അതിൻ്റെ ഫലമായി, സ്ക്രീനിൽ ഒന്നും പ്രദർശിപ്പിക്കില്ല.

സ്റ്റാറ്റസ് ഓപ്ഷനുകൾ

നിങ്ങൾക്കറിയാവുന്നതുപോലെ, വേർഡ്പ്രസ്സ് ഓരോ പോസ്റ്റിനും പ്രത്യേക സ്റ്റാറ്റസ് നൽകുന്നു. ഒന്നോ അതിലധികമോ സ്റ്റാറ്റസുകളുള്ള പോസ്റ്റുകൾ അന്വേഷിക്കാൻ നിങ്ങൾക്ക് post_status പാരാമീറ്റർ ഉപയോഗിക്കാം.

ഇനിപ്പറയുന്ന വാദങ്ങൾ ലഭ്യമാണ്:

  • പ്രസിദ്ധീകരിക്കുക : പ്രസിദ്ധീകരിച്ച പോസ്റ്റ് അല്ലെങ്കിൽ പേജ്;
  • pending : എൻട്രി അവലോകനം തീർച്ചപ്പെടുത്തിയിട്ടില്ല;
  • draft : കരട് നിലയിലുള്ള പ്രവേശനം;
  • auto-draft : പുതിയതായി സൃഷ്ടിച്ച പോസ്റ്റ്, ഉള്ളടക്കം ഒന്നുമില്ലാതെ;
  • ഭാവി : ഷെഡ്യൂൾ ചെയ്ത പ്രവേശനം;
  • സ്വകാര്യം: സൈറ്റിൽ ലോഗിൻ ചെയ്യാത്ത സന്ദർശകർക്ക് എൻട്രി ദൃശ്യമാകില്ല;
  • inherit : പരിഷ്കരിച്ച പോസ്റ്റ് പതിപ്പ് അല്ലെങ്കിൽ അറ്റാച്ച് ചെയ്ത പോസ്റ്റുകളുടെ സ്റ്റാറ്റസ്;
  • ചവറ്റുകുട്ട : പ്രവേശനം ചവറ്റുകുട്ടയിലാണ്;
  • ഏതെങ്കിലും : പരാമീറ്റർ ഉള്ളവ ഒഴികെ ഏത് നിലയും അഭ്യർത്ഥിക്കുന്നു 'exclude_from_search'ശരിയായി സജ്ജമാക്കുക (ഉദാഹരണത്തിന്, ഓട്ടോ ഡ്രാഫ്റ്റ്ടി അല്ലെങ്കിൽ ചവറ്റുകുട്ട).

നിങ്ങളുടെ അഭ്യർത്ഥന ആർഗ്യുമെൻ്റുകളിൽ നിങ്ങൾ ഒരു സ്റ്റാറ്റസ് വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, പ്രസിദ്ധീകരിക്കുന്നതിന് WordPress സ്ഥിരസ്ഥിതിയാകും ; സൈറ്റിൽ ഉപയോക്താവിന് അധികാരമുണ്ടെങ്കിൽ, അഭ്യർത്ഥന സ്വകാര്യ സ്റ്റാറ്റസ് ഉള്ള റെക്കോർഡുകളും കണക്കിലെടുക്കും. നിങ്ങൾ ഒരു അഡ്‌മിനിസ്‌ട്രേറ്ററായി അഭ്യർത്ഥന നടത്തുകയാണെങ്കിൽ, പരിരക്ഷിത സ്റ്റാറ്റസുകളും വേർഡ്പ്രസ്സ് കണക്കിലെടുക്കും: ഭാവി , ഡ്രാഫ്റ്റ്, തീർപ്പുകൽപ്പിക്കാത്ത .

നിങ്ങൾക്ക് അതിൻ്റേതായ ഇവൻ്റ് പോസ്റ്റ് തരം ഉപയോഗിക്കുന്ന ഒരു പോസ്റ്റർ സൈറ്റ് ഉണ്ടെന്ന് പറയാം, കൂടാതെ ഇവൻ്റ് ഷെഡ്യൂൾ ചെയ്‌തിരിക്കുന്ന തീയതി പ്രസിദ്ധീകരണ തീയതിയായി ഉപയോഗിക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, ഇതുവരെ നടന്നിട്ടില്ലാത്ത ഇവൻ്റുകൾ WordPress പ്രദർശിപ്പിക്കില്ല. നിങ്ങൾ എന്താണ് പ്ലാൻ ചെയ്തതെങ്കിലും, പ്രസിദ്ധീകരണ തീയതി ഭാവിയിലാണ്, അതായത് പോസ്റ്റ് സ്റ്റാറ്റസ് ഭാവിയിലായിരിക്കും .

ഈ പ്രശ്നം പരിഹരിക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ആർഗ്യുമെൻ്റുകൾ ഉപയോഗിക്കാം:

$args = array("post_type" => "event", "post_status" => "future");

പ്രസിദ്ധീകരിച്ച എൻട്രികൾക്ക് പ്രസിദ്ധീകരണ നില ഉപയോഗിക്കുന്നതിനാൽ ഇതുവരെ നടന്നിട്ടില്ലാത്ത ഇവൻ്റുകൾ പ്രദർശിപ്പിക്കാൻ ഈ കോഡ് നിങ്ങളെ അനുവദിക്കും. എന്നാൽ നിങ്ങൾക്ക് നടന്ന ഇവൻ്റുകൾ കാണിക്കണമെങ്കിൽ, ഒന്നിലധികം സ്റ്റാറ്റസ് അടങ്ങിയ ഒരു അറേ നിങ്ങൾ ഉപയോഗിക്കേണ്ടതുണ്ട്:

$args = array("post_type" => "event", "post_status" => array("future", "publish"));

അറ്റാച്ച്‌മെൻ്റുകൾ അന്വേഷിക്കുമ്പോൾ പോസ്റ്റ്_സ്റ്റാറ്റസ് പാരാമീറ്റർ പ്രധാനമാണ്, കാരണം പ്രസിദ്ധീകരിക്കുന്നതിന് പകരം സ്റ്റാറ്റസ് പാരമ്പര്യമാണ്. എല്ലാ അറ്റാച്ചുമെൻ്റുകൾക്കുമായി അന്വേഷിക്കാൻ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കാം:

$args = അറേ("post_type" => "അറ്റാച്ച്മെൻ്റ്", "post_status" => "inherit");

എന്നാൽ സമാനമായ ഫലം നൽകുന്ന മറ്റേതെങ്കിലും സ്റ്റാറ്റസ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇൻഹറിറ്റിനെ മാറ്റിസ്ഥാപിക്കാം.

ഓപ്‌ഷനുകൾ അടുക്കുക

WP_Query ഉപയോഗിച്ച് ലഭിച്ച റെക്കോർഡുകൾ അടുക്കുന്നതിന് രണ്ട് പാരാമീറ്ററുകൾ ഉപയോഗിക്കാം: ഓർഡർ, ഓർഡർബൈ. നിങ്ങൾ ഇതിനകം മനസ്സിലാക്കിയതുപോലെ, ലൂപ്പിൽ റെക്കോർഡുകൾ പ്രദർശിപ്പിക്കുന്ന ക്രമം ഓർഡർ നിർണ്ണയിക്കുന്നു, കൂടാതെ ഡാറ്റാബേസിലെ ഏത് ഫീൽഡിലാണ് അവ അടുക്കേണ്ടതെന്ന് ഓർഡർബൈ നിർണ്ണയിക്കുന്നു.

ഓർഡർ പരാമീറ്റർ

അടുക്കുന്നതിന് നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന വാദങ്ങൾ മാത്രമേയുള്ളൂ:

ASC: ആരോഹണം (1, 2, 3; a, b, c).
DESC: അവരോഹണം (3, 2, 1; c, b, a).

നിങ്ങൾ ഓർഡറിനായി ഒരു ആർഗ്യുമെൻ്റ് ഉൾപ്പെടുത്തിയില്ലെങ്കിൽ, വേർഡ്പ്രസ്സ് DESC ലേക്ക് സ്ഥിരസ്ഥിതിയായി പ്രവർത്തിക്കും.

ക്രമം അനുസരിച്ച് പാരാമീറ്റർ

നിങ്ങൾക്ക് നിരവധി ഫീൽഡുകൾ പ്രകാരം റെക്കോർഡുകൾ അടുക്കാൻ കഴിയും:

  • ഒന്നുമില്ല: അടുക്കുന്നതിനുള്ള വ്യവസ്ഥകളൊന്നുമില്ല ( പതിപ്പ് 2.8 ൽ നിന്ന് ലഭ്യമാണ്);
  • ഐഡി: പോസ്റ്റ് ഐഡി പ്രകാരം അടുക്കുക. വലിയ കേസിനെക്കുറിച്ച് മറക്കരുത്;
  • രചയിതാവ്: രചയിതാവിനാൽ അടുക്കുക;
  • തലക്കെട്ട് : തലക്കെട്ട് അനുസരിച്ച് അടുക്കുക;
  • പേര് : സ്ലഗ് എൻട്രി പ്രകാരം അടുക്കുക;
  • തരം : പോസ്റ്റ് തരം അനുസരിച്ച് അടുക്കുക;
  • തീയതി: തീയതി പ്രകാരം അടുക്കുക;
  • modified : അവസാനം പരിഷ്കരിച്ച തീയതി പ്രകാരം അടുക്കുക;
  • parent : പേരൻ്റ് പോസ്റ്റ്/പേജിൻ്റെ ഐഡി പ്രകാരം അടുക്കുക;
  • rand : ക്രമരഹിതമായ ക്രമം;
  • comment_count : അഭിപ്രായങ്ങളുടെ എണ്ണം അനുസരിച്ച് അടുക്കുക;
  • menu_order : പേജ് ക്രമപ്രകാരം അടുക്കുക. ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന പേജുകൾ ( പേജ് എഡിറ്റുചെയ്യുമ്പോൾ മെറ്റാ ബ്ലോക്കിൽ വ്യക്തമാക്കിയ മൂല്യം ഇവിടെ ഉപയോഗിക്കുന്നു), അതുപോലെ അറ്റാച്ചുമെൻ്റുകൾക്കും ( Insert/load Media ഡയലോഗ് ബോക്സിൽ നിന്നുള്ള പൂർണ്ണസംഖ്യ ഉപയോഗിക്കുന്നു). മെനു_ഓർഡർ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുള്ള ഏത് പോസ്റ്റിനും ഉപയോഗിക്കാം;
  • meta_value : മെറ്റാ കീ മൂല്യം അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത ഒന്ന് പ്രകാരം അടുക്കുക;
  • ഫീൽഡുകൾ: meta_key പാരാമീറ്റർ സജ്ജമാക്കിയാൽ മാത്രമേ പ്രവർത്തിക്കൂ. മെറ്റാ മൂല്യങ്ങൾ സംഖ്യാപരമായതിനേക്കാൾ അക്ഷരമാലാക്രമത്തിൽ അടുക്കിയിരിക്കുന്നു ( അതായത്, 4 എന്ന സംഖ്യയ്ക്ക് മുമ്പ് 34 അച്ചടിക്കും);
  • meta_value_num : സംഖ്യാ മെറ്റാ മൂല്യം അനുസരിച്ച് അടുക്കുക. meta_value പോലെ, അഭ്യർത്ഥനയിൽ meta_key ആർഗ്യുമെൻ്റ് ഉപയോഗിക്കണം;
  • post__in : post__in അറേയിൽ സജ്ജീകരിച്ചിട്ടുള്ള പോസ്റ്റ് ഐഡികൾ പ്രകാരം അടുക്കുന്നത് സംരക്ഷിക്കുന്നു.

സ്ഥിരസ്ഥിതിയായി, അടുക്കുന്നതിന് തീയതി ഫീൽഡ് ഉപയോഗിക്കുന്നു. അതായത്, ഇത് പ്രസിദ്ധീകരണ തീയതി പ്രകാരം അടുക്കിയിരിക്കുന്നു.

നിങ്ങൾക്ക് അവരോഹണ ക്രമത്തിൽ ശീർഷകം അനുസരിച്ച് റെക്കോർഡുകൾ അടുക്കണമെങ്കിൽ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ആർഗ്യുമെൻ്റുകൾ ഉപയോഗിക്കാം:

$args = array("orderby" => "title", "order" => "ASC");

ഒന്നിലധികം ഫീൽഡുകൾ പ്രകാരം അടുക്കുന്നു

ഒന്നിലധികം ഫീൽഡുകൾ പ്രകാരം റെക്കോർഡുകൾ അടുക്കുന്നതിന്, നിങ്ങൾ ഓർഡർബൈ പാരാമീറ്റർ ഉപയോഗിച്ച് ഒരു അറേ ഉപയോഗിക്കേണ്ടതുണ്ട്, കൂടാതെ ഓരോ ഫീൽഡും മറ്റൊരു ക്രമത്തിൽ അടുക്കണമെങ്കിൽ ഓർഡർ പാരാമീറ്ററിനൊപ്പം.

ഒരു ഓൺലൈൻ സ്റ്റോറിൽ അടുക്കുന്നതിന് നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന റേറ്റിംഗുകൾ എന്ന് വിളിക്കപ്പെടുന്ന ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡ് നിങ്ങൾക്കുണ്ടെന്ന് പറയാം. ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ആരോഹണ റേറ്റിംഗും തുടർന്ന് ശീർഷകവും ഉപയോഗിച്ച് അടുക്കാൻ കഴിയും:

$args = array("orderby" => array("meta_value_num", "title"), "order" => "ASC", "meta_key" => "rating");

അഭ്യർത്ഥനയിൽ ഞാൻ ഒരു meta_key ആർഗ്യുമെൻ്റ് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, ഞങ്ങൾ ഏത് ഇഷ്‌ടാനുസൃത ഫീൽഡാണ് ഉപയോഗിക്കുന്നതെന്ന് ഇത് WordPress-നെ അറിയിക്കും. വേർഡ്പ്രസ്സ് പോസ്റ്റ് മെറ്റാഡാറ്റ സംഭരിക്കുന്നത് wp_postmeta ടേബിളിലാണ്, അല്ലാതെ wp_posts-ൽ അല്ല എന്നതിനാൽ ഇത് ആവശ്യമാണ്.

എന്നാൽ അവരോഹണ ക്രമത്തിൽ റേറ്റിംഗ് നൽകി, തുടർന്ന് ആരോഹണ ക്രമത്തിൽ ശീർഷകം ഉപയോഗിച്ച് അടുക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ എന്തുചെയ്യും? ഈ സാഹചര്യത്തിൽ, നിങ്ങൾ മറ്റൊരു അറേ ഉപയോഗിക്കണം:

$args = array("orderby" => array("meta_value_num", "title"), "order" => array("DESC", "ASC"), "meta_key" => "rating");

നിങ്ങൾക്ക് പോസ്റ്റ് മെറ്റാഡാറ്റ ഉപയോഗിക്കാൻ താൽപ്പര്യമില്ലെങ്കിൽ ഒന്നിലധികം ഫീൽഡുകൾ പ്രകാരം അടുക്കാനും കഴിയും. ഉദാഹരണത്തിന്, പോസ്റ്റുകൾ ടൈപ്പും പിന്നീട് തീയതിയും അനുസരിച്ച് അടുക്കാൻ, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കാം:

$args = array("orderby" => array("type", "date"), "order" => array("ASC", "DESC"));

ഈ കോഡ് ആരോഹണ ക്രമത്തിൽ പോസ്റ്റ് തരം അനുസരിച്ച് അടുക്കും, തുടർന്ന്, ഓരോ പോസ്റ്റ് തരത്തിലും, അവരോഹണ ക്രമത്തിൽ തീയതി പ്രകാരം അടുക്കും.

പേജിനേഷൻ ഓപ്ഷനുകൾ

പേജിനേഷൻ ഉപയോഗിച്ച് ഉള്ളടക്കത്തിൻ്റെ പേജ്-ബൈ-പേജ് ഡിസ്പ്ലേയുമായി ബന്ധപ്പെട്ട മറ്റൊരു കൂട്ടം പാരാമീറ്ററുകളിലേക്ക് ഞങ്ങൾ നീങ്ങുന്നു. ഈ പാരാമീറ്ററുകൾ എത്ര റെക്കോർഡുകൾ അന്വേഷിക്കുമെന്നും പേജിനേഷൻ എങ്ങനെ സംഭവിക്കുമെന്നും നിർണ്ണയിക്കാൻ സഹായിക്കുന്നു.

ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ലഭ്യമാണ്:

  • നോപേജിംഗ് ( ബൂളിയൻ): എല്ലാ പോസ്റ്റുകളും പ്രദർശിപ്പിക്കുക അല്ലെങ്കിൽ പേജിനേഷൻ ഉപയോഗിക്കുക. സ്ഥിര മൂല്യം ആണ് 'തെറ്റായ', അതായത്, പേജ് ഔട്ട്പുട്ട് ഉപയോഗിക്കുന്നു;
  • posts_per_page ( int): ഓരോ പേജിനും റെക്കോർഡുകളുടെ എണ്ണം;
  • posts_per_archive_page (int): ഓരോ പേജിലുമുള്ള റെക്കോർഡുകളുടെ എണ്ണം, എന്നാൽ ആർക്കൈവ് പേജിൽ മാത്രം;
  • ഓഫ്സെറ്റ്( int): ഔട്ട്പുട്ട് ആരംഭിക്കുന്ന റെക്കോർഡുകളുടെ എണ്ണം;
  • പേജ് ചെയ്ത ( int): ആർക്കൈവിലെ പേജ്, അതിൽ നിന്നാണ് പേജുകൾ ഉരുത്തിരിഞ്ഞത്;
  • പേജ് ( int): സ്റ്റാറ്റിക് ഹോം പേജിനുള്ള പേജുകളുടെ എണ്ണം. സ്റ്റാറ്റിക് ഹോം പേജ് പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ സാധാരണയായി X പേജിൽ മാത്രം ദൃശ്യമാകുന്ന പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുക ( മുൻ പേജ്);
  • അവഗണിക്കുക_സ്റ്റിക്കി_പോസ്റ്റുകൾ (ബൂളിയൻ): അറ്റാച്ച് ചെയ്ത പോസ്റ്റുകൾ അവഗണിക്കുക. സ്ഥിര മൂല്യം തെറ്റാണ്.

എൻട്രികളുടെ എണ്ണം, എൻട്രികൾ ഒഴിവാക്കുക

ഏറ്റവും പുതിയ അഞ്ച് പോസ്റ്റുകൾ കാണിക്കാൻ, ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കുക:

$args = അറേ("posts_per_page" => "5");

ഏറ്റവും സമീപകാലത്ത് പ്രസിദ്ധീകരിച്ചത് ഒഴികെ ഏറ്റവും പുതിയ അഞ്ച് എൻട്രികൾ കാണിക്കുന്നു:

$args = അറേ("posts_per_page" => "5", "offset" => "1");

ഡാറ്റാബേസിലെ അവസാന ആറ് റെക്കോർഡുകളിൽ നിന്നുള്ള റെക്കോർഡുകൾ നിങ്ങൾ വീണ്ടെടുക്കുന്നുണ്ടെങ്കിലും, നിങ്ങൾ ഇപ്പോഴും ഉപയോഗിക്കുന്നത് ശ്രദ്ധിക്കുക 'posts_per_page' => '5', ഇത് പ്രദർശിപ്പിക്കേണ്ട റെക്കോർഡുകളുടെ എണ്ണം ആയതിനാൽ.

നിങ്ങൾക്ക് രണ്ട് അന്വേഷണങ്ങൾ സൃഷ്ടിക്കാൻ കഴിയും: ഒന്ന് ഏറ്റവും പുതിയ എൻട്രികൾ പ്രദർശിപ്പിക്കാൻ, രണ്ടാമത്തേത് ആ എൻട്രി ഒഴികെ 10 എൻട്രികൾ കൂടി പ്രദർശിപ്പിക്കാൻ:

എല്ലാ പോസ്റ്റുകളും പ്രദർശിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് posts_per_page ഉപയോഗിക്കാം:

$args = അറേ("posts_per_page" => "-1");

അറ്റാച്ച് ചെയ്ത പോസ്റ്റുകൾ

സാധാരണയായി, ഏത് ചോദ്യത്തിലും പിൻ ചെയ്ത പോസ്റ്റുകൾ ആദ്യം ദൃശ്യമാകും. നിങ്ങൾക്ക് ഈ ക്രമീകരണം അസാധുവാക്കണമെങ്കിൽ, അവഗണിക്കുക_sticky_posts പാരാമീറ്റർ ഉപയോഗിക്കുക:

$args = അറേ("posts_per_page" => "5", "ignore_sticky_posts" => true);

മുകളിൽ പറഞ്ഞ ആർഗ്യുമെൻ്റുകൾ അവസാനത്തെ അഞ്ച് എൻട്രികൾ അറ്റാച്ച് ചെയ്‌താലും ഇല്ലെങ്കിലും വീണ്ടെടുക്കും.

അറ്റാച്ച് ചെയ്‌ത പോസ്റ്റുകൾ മാത്രം പ്രദർശിപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾ get_option() ഫംഗ്‌ഷനും post__in ആർഗ്യുമെൻ്റും ഇനിപ്പറയുന്ന രീതിയിൽ ഉപയോഗിക്കേണ്ടതുണ്ട്:

$സ്റ്റിക്കി = get_option("sticky_posts"); $args = അറേ("posts_per_page" => "5", "post__in" => $sticky);

മുകളിലെ കോഡ് അവസാനമായി അറ്റാച്ച് ചെയ്ത അഞ്ച് പോസ്റ്റുകൾ വീണ്ടെടുക്കും. അഞ്ചിൽ താഴെ (ഉദാഹരണത്തിന്, മൂന്ന്) ഉണ്ടെങ്കിൽ, ലഭ്യമായ അറ്റാച്ച് ചെയ്ത റെക്കോർഡുകളുടെ എണ്ണം മാത്രമേ പ്രദർശിപ്പിക്കൂ.

ആർക്കൈവുകളിലെ പേജിനേഷൻ

വീണ്ടെടുത്ത എൻട്രികൾ ഒന്നിലധികം ആർക്കൈവ് പേജുകളിലോ തിരയൽ പേജുകളിലോ എങ്ങനെ വിതരണം ചെയ്യുമെന്ന് നിർണ്ണയിക്കാൻ നിങ്ങൾക്ക് പേജിനേഷൻ ഓപ്ഷനുകൾ ഉപയോഗിക്കാം.

ഉദാഹരണത്തിന്, ഒരു പേജിന് 20 എൻട്രികൾ പ്രദർശിപ്പിക്കുന്നതിന് ഒരു ആർക്കൈവ് പേജിൽ ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിക്കാം:

$args = അറേ("posts_per_archive_page" => "20");

ശ്രദ്ധിക്കുക: posts_per_archive_page വാദം posts_per_page അസാധുവാക്കുന്നു.

നിർദ്ദിഷ്ട മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കി ഡാറ്റാബേസിൽ നിന്ന് റെക്കോർഡുകൾ തിരഞ്ഞെടുക്കുന്നു. get_posts() and query_posts() ഫംഗ്‌ഷനുകളും wp_posts ടേബിളിൽ നിന്ന് പോസ്റ്റുകൾ തിരഞ്ഞെടുക്കുന്നതുമായി ബന്ധപ്പെട്ട മറ്റെല്ലാ ചോദ്യങ്ങളും WP_Query യുടെ അടിസ്ഥാനത്തിലാണ് പ്രവർത്തിക്കുന്നത്.

ഫിൽട്ടറുകളെക്കുറിച്ചുള്ള കുറിപ്പുകൾ

SQL അന്വേഷണത്തിലേക്ക് നേരിട്ട് ഉൾച്ചേർക്കുന്നതിന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഫിൽട്ടറുകൾ ഉപയോഗിക്കാം.

പ്രധാനം: പരാമീറ്റർ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഈ കൊളുത്തുകളെല്ലാം പ്രവർത്തിക്കില്ല!

പേജിനേഷൻ അഭ്യർത്ഥന സജ്ജീകരിക്കുന്നതിന് മുമ്പ് ഫിൽട്ടറുകൾ പ്രവർത്തനക്ഷമമാക്കി:
  • - SQL "എവിടെ" മാറ്റുന്നു
  • posts_join - SQL "JOIN" പരിഷ്ക്കരിക്കുന്നു
ഒരു പേജിനേഷൻ അഭ്യർത്ഥന സജ്ജീകരിച്ചതിന് ശേഷം ഫിൽട്ടറുകൾ പ്രവർത്തനക്ഷമമാക്കി:
  • - പേജിനേഷൻ സമയത്ത് SQL "WHERE" മാറ്റുന്നു
  • posts_groupby - SQL "ഗ്രൂപ്പ് ബൈ" മാറ്റുന്നു
  • posts_join_paged - പേജിനേഷൻ സമയത്ത് SQL "JOIN" പരിഷ്കരിക്കുന്നു
  • posts_orderby - SQL "ഓർഡർ പ്രകാരം" മാറ്റുന്നു
  • posts_distinct - SQL "DISTINCTROW" മാറ്റുന്നു
  • post_limits - SQL "ലിമിറ്റ്" മാറ്റുന്നു
  • posts_fields - ഫലമായുണ്ടാകുന്ന പട്ടിക ഫീൽഡുകൾ മാറ്റുന്നു
  • പോസ്റ്റ്_മൈം_തരം (സ്ട്രിംഗ്/അറേ)

    മൈം റെക്കോർഡിംഗ് തരം. അറ്റാച്ചുമെൻ്റുകൾക്കായി മാത്രം ഉപയോഗിക്കുന്നു - "അറ്റാച്ച്മെൻ്റ്" തരമുള്ള പോസ്റ്റുകൾ.

    post_type = അറ്റാച്ച്‌മെൻ്റ്, post_status = inherit ഓപ്‌ഷൻ എന്നിവയിൽ മാത്രമേ ഈ ഓപ്ഷൻ പ്രവർത്തിക്കൂ. ആ. അറ്റാച്ച്മെൻ്റുകൾക്ക് മാത്രമേ MIME തരം ഉണ്ടാകൂ.

    ഏതെങ്കിലും തരത്തിലുള്ള ചിത്രങ്ങൾ മാത്രമേ ഞങ്ങൾക്ക് ലഭിക്കൂ

    $query = പുതിയ WP_Query(array("post_mime_type" => "image", "post_type" => "attachment", "post_status" => "inherit",));

    ഞങ്ങൾക്ക് ജിഫ് ചിത്രങ്ങൾ മാത്രമേ ലഭിക്കൂ

    $query = പുതിയ WP_Query(array("post_mime_type" => "image/gif", "post_type" => "അറ്റാച്ച്‌മെൻ്റ്", "post_status" => "inherit",));

    ചിത്രങ്ങൾ ഒഴികെ എല്ലാ തരത്തിലുള്ള അറ്റാച്ചുമെൻ്റുകളും ഞങ്ങൾക്ക് ലഭിക്കും

    $query = പുതിയ WP_Query(array("post_mime_type" => array("application","text","video","audio"), "post_type" => "attachment", "post_status" => "inherit", ));

    ഓപ്ഷനുകൾ പദവികൾ

    നിർദ്ദിഷ്ട സ്റ്റാറ്റസ് ഉള്ള പോസ്റ്റുകൾ വീണ്ടെടുക്കുന്നു.

    പോസ്റ്റ്_സ്റ്റാറ്റസ് (സ്ട്രിംഗ്/അറേ)

    പോസ്റ്റ് സ്റ്റാറ്റസ്.

    സ്ഥിരസ്ഥിതിയായി, പ്രസിദ്ധീകരിക്കുക , കൂടാതെ ഉപയോക്താവിന് അംഗീകാരമുണ്ടെങ്കിൽ, സ്വകാര്യവും ചേർക്കുന്നു. അഡ്‌മിൻ ഭാഗത്ത് നിന്നാണ് അഭ്യർത്ഥന ആരംഭിച്ചതെങ്കിൽ, പരിരക്ഷിത സ്റ്റാറ്റസ് തരങ്ങളും ചേർക്കും: ഭാവി, ഡ്രാഫ്റ്റ്, തീർച്ചപ്പെടുത്താത്തത്. എല്ലാ നില തരങ്ങളും:

    • പ്രസിദ്ധീകരിക്കുക - പ്രസിദ്ധീകരിച്ച പോസ്റ്റ്.
    • തീർച്ചപ്പെടുത്തിയിട്ടില്ല - പോസ്റ്റ് മോഡറേറ്റ് ചെയ്യുന്നു.
    • ഡ്രാഫ്റ്റ് - ഡ്രാഫ്റ്റ്.
    • ഓട്ടോ ഡ്രാഫ്റ്റ് - വേർഡ്പ്രസ്സ് തന്നെ സംരക്ഷിച്ച ഡ്രാഫ്റ്റ് (ഓട്ടോ-സേവ്).
    • ഭാവി ആസൂത്രണം ചെയ്ത പോസ്റ്റ്.
    • സ്വകാര്യ - വ്യക്തിഗത പോസ്റ്റ്.
    • അനന്തരാവകാശം - പുനരവലോകനം അല്ലെങ്കിൽ അറ്റാച്ച്മെൻ്റ്.
    • ട്രാഷ് - ഇല്ലാതാക്കിയ പോസ്റ്റ് (ട്രാഷിൽ). പതിപ്പ് 2.9 മുതൽ.
    • ഏതെങ്കിലും - എല്ലാ സ്റ്റാറ്റസുകളും, exclude_from_search=true എന്ന പരാമീറ്റർ വ്യക്തമാക്കുന്ന സ്റ്റാറ്റസുകൾ ഒഴികെ. register_post_status() and get_post_stati() എന്നിവ കാണുക.

    സ്ഥിരസ്ഥിതി: "പ്രസിദ്ധീകരിക്കുക"

    സ്റ്റാറ്റസ് അനുസരിച്ച് പോസ്റ്റുകൾ

    ഞങ്ങൾക്ക് ഡ്രാഫ്റ്റുകൾ മാത്രമേ ലഭിക്കൂ:

    $query = പുതിയ WP_Query("post_status=draft");

    വ്യത്യസ്ത സ്റ്റാറ്റസുകളുള്ള പോസ്റ്റുകൾ ഞങ്ങൾക്ക് ലഭിക്കും:

    $query = പുതിയ WP_Query(array("post_status" => array("Pending", "draft", "future")));

    ഞങ്ങൾക്ക് എല്ലാ തരത്തിലുള്ള നിക്ഷേപങ്ങളും ലഭിക്കും:

    $query = പുതിയ WP_Query(അറേ("പോസ്റ്റ്_സ്റ്റാറ്റസ്" => "ഏതെങ്കിലും", "പോസ്റ്റ്_ടൈപ്പ്" => "അറ്റാച്ച്മെൻ്റ്"));

    ഓപ്ഷനുകൾ തീയതികൾ (സമയം)

    ഒരു നിർദ്ദിഷ്‌ട സമയ കാലയളവിലുള്ള പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കുന്നു.

    വർഷം (നമ്പർ)വർഷത്തിലെ 4 അക്കങ്ങൾ (2013) മാസസംഖ്യ (നമ്പർ)മാസ സംഖ്യ (1 - 12) പ (നമ്പർ)വർഷത്തിലെ ആഴ്ച (0 മുതൽ 53 വരെ) ദിവസം (നമ്പർ)മാസത്തിലെ ദിവസം (1 - 31) മണിക്കൂർ (നമ്പർ)മണിക്കൂർ (0 - 23) മിനിറ്റ് (നമ്പർ)മിനിറ്റ് (0 - 60) സെക്കൻഡ് (നമ്പർ)രണ്ടാമത് (0 - 60) മീ (നമ്പർ)വർഷംമാസം (201306) തീയതി_ചോദ്യം (അറേ)

    അഭ്യർത്ഥന കോൺഫിഗർ ചെയ്യുന്ന പാരാമീറ്ററുകൾ. ഇത് ഒരു പ്രത്യേക ക്ലാസ് അടിസ്ഥാനമാക്കി പ്രവർത്തിക്കുന്നു: WP_Date_Query.

    ഈ പരാമീറ്റർ ഒരു അറേ ആയി വ്യക്തമാക്കിയിരിക്കുന്നു, അതിൽ നെസ്റ്റഡ് അറേകൾ അടങ്ങിയിരിക്കാം. പാരാമീറ്ററുകൾ: നിര , താരതമ്യം , പ്രധാന അറേയ്‌ക്കായുള്ള ബന്ധം നെസ്റ്റഡ് അറേകൾക്കുള്ള ഡിഫോൾട്ട് പാരാമീറ്ററുകളായി പ്രവർത്തിക്കുന്നു (എന്തെങ്കിലും ഉണ്ടെങ്കിൽ).

      കോളം - അന്വേഷണത്തിനായുള്ള ഡാറ്റാബേസിലെ ഫീൽഡ്. ഒരുപക്ഷേ:
      പോസ്റ്റ്_തീയതി
      post_date_gmt
      പോസ്റ്റ്_മോഡിഫൈഡ്
      post_modified_gmt
      അഭിപ്രായം_തീയതി
      comment_date_gmt
      user_registered
      ഡിഫോൾട്ട്: "post_date"

      താരതമ്യം ചെയ്യുക - സ്ഥിരസ്ഥിതിയായി എല്ലാ നെസ്റ്റഡ് അറേകൾക്കുമായുള്ള താരതമ്യ ഓപ്പറേറ്റർ. ഒരുപക്ഷേ: ഒരുപക്ഷേ: = , != , > , >= ,< , <= , IN , NOT IN , BETWEEN , NOT BETWEEN .
      ഡിഫോൾട്ട്: "="

      റിലേഷൻ - തീയതികളുള്ള നിരവധി അറേകൾ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ ഓപ്പറേറ്റർ:
      AND (നിർദ്ദിഷ്ട എല്ലാ അറേകളും ഒരേസമയം പരിഗണിക്കുക).
      അല്ലെങ്കിൽ (കുറഞ്ഞത് ഒരു നിർദ്ദിഷ്‌ട ശ്രേണിയിൽ പൊരുത്തങ്ങളുണ്ടെങ്കിൽ).
      സ്ഥിരസ്ഥിതി - അല്ലെങ്കിൽ

      ചുവടെയുള്ള ഓപ്ഷനുകൾ നെസ്റ്റഡ് അറേകളിൽ ഉപയോഗിക്കണം. ഒരൊറ്റ തീയതിക്കുള്ള ചോദ്യം അവർ നിർവ്വചിക്കുന്നു.

      കൂടാതെ താഴെ കൊടുത്തിരിക്കുന്ന എല്ലാ പരാമീറ്ററുകളും പ്രധാന അറേയിൽ ഉപയോഗിക്കാവുന്നതാണ്.

      • മുമ്പ് (സ്ട്രിംഗ്/അറേ)- ലഭിക്കുന്ന "വരെ" രേഖകളുടെ തീയതി. strtotime() ഫംഗ്‌ഷൻ മനസ്സിലാക്കുന്ന ഒരു സ്ട്രിംഗ് എടുക്കുന്നു: സാധ്യമായ എല്ലാ ഫോർമാറ്റുകളും. അല്ലെങ്കിൽ നിങ്ങൾക്ക് സൂചികകളുള്ള ഒരു അറേ കടന്നുപോകാം: വർഷം , മാസം , ദിവസം: അറേ("വർഷം"=>"2015", "മാസം"=>"5", "ദിവസം"=>"28")

        ശേഷം (സ്ട്രിംഗ്/അറേ)- ലഭിക്കുന്ന "ശേഷം" രേഖകളുടെ തീയതി. strtotime() ഫംഗ്‌ഷൻ മനസ്സിലാക്കുന്ന ഒരു സ്ട്രിംഗ് എടുക്കുന്നു: സാധ്യമായ എല്ലാ ഫോർമാറ്റുകളും. അല്ലെങ്കിൽ നിങ്ങൾക്ക് സൂചികകളുള്ള ഒരു അറേ കടന്നുപോകാം: വർഷം , മാസം , ദിവസം: അറേ("വർഷം" => "2015", "മാസം" => "5", "ദിവസം" => "28")
        സൈറ്റിൻ്റെ നിലവിലെ സമയവുമായി ആപേക്ഷികം (UTC അല്ല).

        കോളം (ലൈൻ)- മുകളിൽ കാണുക, ഒരു നിർദ്ദിഷ്ട തീയതിക്ക് മാത്രം. ഡിഫോൾട്ട്: ടോപ്പ് അറേ മൂല്യം.

        താരതമ്യം ചെയ്യുക (ലൈൻ)- മുകളിൽ കാണുക, ഒരു നിർദ്ദിഷ്ട തീയതിക്ക് മാത്രം. സ്ഥിരസ്ഥിതി "=" ആണ്.

        ഉൾപ്പെടെ (ലോജിക്കൽ)- മുമ്പും ശേഷവുമുള്ള ആർഗ്യുമെൻ്റുകൾ ശരിയാണെങ്കിൽ ഉൾപ്പെടുത്തി പ്രോസസ്സ് ചെയ്യുന്നു. സ്ഥിരസ്ഥിതി: തെറ്റ്.

      • വർഷം (നമ്പർ/അറേ)- വർഷം, ഉദാഹരണത്തിന് 2013
      • വർഷം ദിവസം (നമ്പർ/അറേ)- വർഷത്തിലെ ദിവസത്തിൻ്റെ എണ്ണം, 1-366.
      • മാസം (നമ്പർ/അറേ)- മാസം, 1-12
      • ആഴ്ച (നമ്പർ/അറേ)- ആഴ്ച, 0-53
      • ദിവസം (നമ്പർ/അറേ)- ദിവസം, 1-31
      • dayofweek (നമ്പർ/അറേ)- ആഴ്ചയിലെ ദിവസം, 1-7, ഇവിടെ 1 ഞായറാഴ്ചയാണ്
      • ആഴ്ച_ഇസോ (നമ്പർ/അറേ)- ആഴ്ചയിലെ ദിവസം, 1-7, ഇവിടെ 1 തിങ്കളാഴ്ചയാണ്
      • മണിക്കൂർ (നമ്പർ/അറേ)- മണിക്കൂർ, 0-23
      • മിനിറ്റ് (നമ്പർ/അറേ)- മിനിറ്റ്, 0-60
      • രണ്ടാമത്തേത് (നമ്പർ/അറേ)- സെക്കൻ്റ്, 0-60

      പരാമീറ്ററുകളിൽ: വർഷം , മാസം , ആഴ്ച , dayofyear , day , dayofweek , dayofweek_iso , മണിക്കൂർ , മിനിറ്റ് , സെക്കൻ്റ് എന്നിങ്ങനെ താരതമ്യം പാരാമീറ്റർ പൊരുത്തപ്പെടുന്നെങ്കിൽ നിങ്ങൾക്ക് ഒരു അറേയുടെ രൂപത്തിൽ നിരവധി മൂല്യങ്ങൾ വ്യക്തമാക്കാൻ കഴിയും.

    #1. ഇന്നത്തെ പോസ്റ്റുകൾ നോക്കാം:

    $ഇന്ന് = getdate(); $query = പുതിയ WP_Query("year=" . $today[" year"] . "&monthnum=" . $today["mon"] . "&day=" . $today["mday"]);

    #2. കഴിഞ്ഞ ആഴ്‌ചയിലെ പോസ്റ്റുകൾ നേടാം:

    $ആഴ്ച = തീയതി("W"); $ വർഷം = തീയതി ("Y"); $query = പുതിയ WP_Query("year=" . $ year . "&w=" . $week);

    #3. ഡിസംബർ 20-ലെ പോസ്റ്റുകൾ നേടാം:

    $query = പുതിയ WP_Query("മാസം=12&ദിവസം=20");

    #4. 2010 മാർച്ച് 1 മുതൽ മാർച്ച് 15 വരെയുള്ള കാലയളവിലെ പോസ്റ്റുകൾ നമുക്ക് നേടാം:

    // ക്വറി ഫംഗ്‌ഷൻ ഫിൽട്ടറിലേക്ക് ($where = "") ( // മാർച്ച് 1 മുതൽ മാർച്ച് 15, 2010 $എവിടെ .= " കൂടാതെ post_date >= "2010-03-01 എന്ന ഫംഗ്‌ഷനിലേക്ക് എവിടെ നിബന്ധന ചേർക്കുന്ന ഒരു പുതിയ ഫംഗ്‌ഷൻ സൃഷ്‌ടിക്കുക " ഒപ്പം post_date< "2010-03-16""; return $where; } add_filter("posts_where", "filter_where"); $query = new WP_Query($query_string); remove_filter("posts_where", "filter_where");

    ചരിത്രത്തിലെ ഒരു നിർദ്ദിഷ്‌ട കാലയളവിലേക്കുള്ള പോസ്റ്റുകൾക്ക് മുകളിലുള്ള ചോദ്യങ്ങൾ: "എക്സ് മാസത്തേക്കുള്ള പോസ്റ്റുകൾ, എക്സ് ദിവസം." ഇപ്പോഴുള്ളതുമായി ബന്ധപ്പെട്ട് അനിയന്ത്രിതമായ ഒരു കാലയളവിലേക്ക് അവർക്ക് തസ്തികകൾ സ്വീകരിക്കാൻ കഴിയില്ല. അതിനാൽ, "കഴിഞ്ഞ 30 ദിവസത്തെ പോസ്റ്റുകൾ" അല്ലെങ്കിൽ "കഴിഞ്ഞ വർഷത്തെ പോസ്റ്റുകൾ" പോലുള്ള ചോദ്യങ്ങൾ അടിസ്ഥാന പതിപ്പിൽ സാധ്യമല്ല; അത്തരം ചോദ്യങ്ങൾക്ക് നിങ്ങൾ "posts_where" ഫിൽട്ടർ ഉപയോഗിക്കേണ്ടതുണ്ട്. ഇത് എങ്ങനെ ചെയ്യാമെന്ന് ചുവടെയുള്ള ഉദാഹരണങ്ങൾ കാണിക്കുന്നു.

    #5. കഴിഞ്ഞ 30 ദിവസത്തെ പോസ്റ്റുകൾ നമുക്ക് നേടാം:

    // ഒരു പുതിയ ഫംഗ്‌ഷൻ സൃഷ്‌ടിക്കുക, അത് ക്വറി ഫംഗ്‌ഷൻ ഫിൽട്ടറിലേക്ക് ($where = "") ( // കഴിഞ്ഞ 30 ദിവസമായി $where .= " AND post_date > "" . date("Y-m-d", strtotime ("-30 ദിവസം ")) . """; തിരികെ $എവിടെ; ) add_filter("posts_where", "filter_where"); $query = പുതിയ WP_Query($query_string); remove_filter("posts_where", "filter_where");

    #6. നിലവിൽ 30 മുതൽ 60 ദിവസം വരെയുള്ള കാലയളവിലേക്കുള്ള പോസ്റ്റുകൾ ഞങ്ങൾക്ക് ലഭിക്കും:

    // ക്വറി ഫംഗ്‌ഷൻ ഫിൽട്ടറിലേക്ക് ($where = "") ( // 30 മുതൽ 60 ദിവസം വരെ $where .= " AND post_date >= "" . തീയതി("Y-m-d", strtotime("- 60 ദിവസം")) . """ . " കൂടാതെ post_date<= "" . date("Y-m-d", strtotime("-30 days")) . """; return $where; } add_filter("posts_where", "filter_where"); $query = new WP_Query($query_string); remove_filter("posts_where", "filter_where");

    അഡ്മിൻ പാനലിലെ പോസ്റ്റുകളുടെ ലിസ്റ്റിൽ മാത്രമേ "m" പാരാമീറ്റർ സജ്ജീകരിക്കാൻ കഴിയൂ. തീയതി YYYYmm ആയി സജ്ജീകരിച്ചിരിക്കുന്ന ഒരു തിരഞ്ഞെടുത്ത ഡ്രോപ്പ്ഡൗൺ ലിസ്റ്റിൽ നിന്ന് നിങ്ങൾ തിരഞ്ഞെടുക്കുമ്പോൾ ഇത് ഉപയോഗപ്രദമാണ്.

    date_query പരാമീറ്ററുള്ള ഉദാഹരണങ്ങൾ

    #1. 9 നും 17 നും ഇടയിൽ ഞങ്ങൾക്ക് പോസ്റ്റുകൾ ലഭിക്കും:

    $args = array("date_query" => array(array("hour" => 9, "compare" => ">=",), array("hour" => 17, "compare" => "<=",), array("dayofweek" =>അറേ(2, 6), "താരതമ്യപ്പെടുത്തുക" => "ഇടയിൽ",), "posts_per_page" =>

    #2. ജനുവരി 1 മുതൽ ഫെബ്രുവരി 28 വരെയുള്ള കാലയളവിലേക്കുള്ള പോസ്റ്റുകൾ ഞങ്ങൾക്ക് ലഭിക്കും:

    തീയതികൾ അക്കങ്ങളോ സ്ട്രിംഗുകളോ ആയി സൂചിപ്പിക്കാം, കാരണം മുമ്പും ശേഷവുമുള്ള ആർഗ്യുമെൻ്റുകൾ സ്ട്രിംഗുകൾ മനസ്സിലാക്കുന്ന PHP strtotime() ഫംഗ്‌ഷനാണ് പ്രോസസ്സ് ചെയ്യുന്നത്.

    $args = അറേ("date_query" => അറേ(അറേ("ശേഷം" => "ജനുവരി 1, 2013", "മുമ്പ്" => അറേ("വർഷം" => 2013, "മാസം" => 2, "ദിവസം" => 28,), "ഉൾപ്പെടെ" => true,), "posts_per_page" => -1,); $query = പുതിയ WP_Query($args);

    #3. ഒരു വർഷം മുമ്പ് പ്രസിദ്ധീകരിച്ച പോസ്റ്റുകൾ നമുക്ക് ലഭിക്കട്ടെ, എന്നാൽ കഴിഞ്ഞ മാസം മാറ്റിയത്:

    $args = അറേ("തീയതി => "1 മാസം മുമ്പ്",), "posts_per_page" => -1,); $query = പുതിയ WP_Query($args);

    #4. "2 ആഴ്‌ച മുമ്പ്" എന്ന സ്‌ട്രിംഗ് ഉപയോഗിച്ച് കഴിഞ്ഞ 2 ആഴ്‌ചയിലെ പോസ്‌റ്റുകൾ നേടാം:

    $query = പുതിയ WP_Query(array("date_query" => array("after" => "2 ആഴ്ച മുമ്പ്",),));

    #5. പ്രവൃത്തിദിവസങ്ങളിൽ പ്രസിദ്ധീകരിച്ച, കഴിഞ്ഞ 2 മാസത്തെ എൻട്രികൾ നേടാം:

    $query = പുതിയ WP_Query(array("date_query" => array("after" => "2 മാസം മുമ്പ്", array("dayofweek" => array(1, 5), "compare" => "BETWEEN",) ,),));

    ഡേറ്റ്_ക്വറി ആർഗ്യുമെൻ്റ് WP_Comment_Query ക്ലാസിലും പ്രവർത്തിക്കുന്നു, അതിനാൽ ഇത് ഫംഗ്ഷനിലും ഇതേ രീതിയിൽ ഉപയോഗിക്കാം: get_comments() .

    ഓപ്ഷനുകൾ ഇൻഡൻ്റേഷൻ

    അന്വേഷണ ഫലങ്ങളിലെ ആദ്യ പോസ്റ്റിൽ നിന്ന് നിങ്ങൾക്ക് ഒരു ഇൻഡൻ്റ് സജ്ജമാക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഒരു സ്റ്റാൻഡേർഡ് അഭ്യർത്ഥന 6 പോസ്റ്റുകൾ നൽകുന്നു, എന്നാൽ അതേ അഭ്യർത്ഥനയിലേക്ക് നിങ്ങൾ ഓഫ്‌സെറ്റ്=1 പാരാമീറ്റർ ചേർക്കുകയാണെങ്കിൽ, 5 പോസ്റ്റുകൾ തിരികെ നൽകും (അഭ്യർത്ഥനയിൽ നിന്നുള്ള ആദ്യ പോസ്റ്റ് ഒഴിവാക്കപ്പെടും).

    ഓഫ്സെറ്റ് (നമ്പർ)അന്വേഷണ ഫലങ്ങളിൽ നിന്ന് എത്ര പോസ്റ്റുകൾ ഒഴിവാക്കണം.

    ഉപയോഗ ഉദാഹരണം

    നമുക്ക് ആദ്യ/ഒരു പോസ്റ്റ് (ഓഫ്സെറ്റ്=1) ഒഴിവാക്കി അടുത്ത 5 തിരികെ നൽകാം:

    $query = പുതിയ WP_Query("posts_per_page=5&offset=1");

    ഓപ്ഷനുകൾ അടുക്കുകയും ക്രമപ്പെടുത്തുകയും ചെയ്യുന്നു

    അടുക്കുന്ന ദിശ ക്രമപ്പെടുത്തുകയും ക്രമീകരിക്കുകയും ചെയ്യുന്നു.

    നിങ്ങൾ ഫീൽഡുകൾ = ids പാരാമീറ്റർ വ്യക്തമാക്കിയാൽ സോർട്ടിംഗ് ഓപ്ഷനുകൾ പ്രവർത്തിക്കില്ല, കാരണം ഈ സാഹചര്യത്തിൽ, അഭ്യർത്ഥനയിൽ നിങ്ങൾക്ക് ഫലം അടുക്കാൻ കഴിയുന്ന ഫീൽഡുകൾ ഉണ്ടാകില്ല.

    ഓർഡർ ചെയ്യുക (ലൈൻ)

    പാരാമീറ്റർ അനുസരിച്ച് ക്രമപ്പെടുത്തൽ ദിശ ഇതായിരിക്കാം:

    • ASC - ക്രമത്തിൽ, ചെറുത് മുതൽ വലുത് വരെ (1, 2, 3; a, b, c).
    • DESC - റിവേഴ്സ് ഓർഡറിൽ, വലുത് മുതൽ ചെറുത് വരെ (3, 2, 1; c, b, a).
    ക്രമപ്രകാരം (ലൈൻ)

    നിങ്ങൾക്ക് പോസ്റ്റുകൾ അടുക്കാൻ കഴിയുന്ന ഫീൽഡുകൾ. ഒരുപക്ഷേ

    • ഒന്നുമില്ല - അടുക്കരുത്, ഡാറ്റാബേസിൽ ഉള്ളതുപോലെ പ്രദർശിപ്പിക്കുക. ഐഡി പ്രകാരം അടുക്കുന്നതിന് തുല്യമാണ്. പതിപ്പ് 2.8 മുതൽ.
    • ഐഡി - ഐഡി പ്രകാരം അടുക്കുക.
    • രചയിതാവ് - രചയിതാവ് ഐഡികൾ അനുസരിച്ച് അടുക്കുന്നു.
    • ശീർഷകം - ശീർഷകം അനുസരിച്ച് അടുക്കുക.
    • പേര് - പോസ്റ്റിൻ്റെ തലക്കെട്ട് പ്രകാരം (ലേബൽ, പോസ്റ്റ് സ്ലഗ്).
    • തീയതി - പ്രസിദ്ധീകരണ തീയതി പ്രകാരം അടുക്കുക.
    • പരിഷ്ക്കരിച്ചത് - പരിഷ്ക്കരണ തീയതി പ്രകാരം അടുക്കുക.
    • തരം - പോസ്റ്റ് തരം പ്രകാരം (post_type). പതിപ്പ് 4.0 ൽ നിന്ന്
    • പാരൻ്റ് - പാരൻ്റ് ഫീൽഡിൻ്റെ മൂല്യമനുസരിച്ച് അടുക്കുന്നു.
    • ക്രമം - ക്രമരഹിതമായ ക്രമം.
    • RAND(x) - സംഖ്യാ മൂല്യങ്ങൾക്കുള്ള ക്രമരഹിതമായ ക്രമം. ഇവിടെ "x" എന്നത് ഒരു പൂർണ്ണസംഖ്യയാണ്.
    • comment_count - കമൻ്റുകളുടെ എണ്ണം അനുസരിച്ച് അടുക്കുന്നു. പതിപ്പ് 2.9 മുതൽ.
    • പ്രസക്തി - തിരയൽ വ്യവസ്ഥ പ്രകാരം (പാരാമീറ്റർ s). സോർട്ടിംഗ് ഇനിപ്പറയുന്ന ക്രമത്തിൽ സംഭവിക്കുന്നു: 1) മുഴുവൻ വാക്യവും പൊരുത്തപ്പെടുന്നുണ്ടോ. 2) പോസ്റ്റിൻ്റെ ശീർഷകത്തിലെ എല്ലാ തിരയൽ പദങ്ങളും. 3) പോസ്റ്റിൻ്റെ ശീർഷകത്തിലെ തിരയൽ അന്വേഷണത്തിൽ നിന്നുള്ള ഏതെങ്കിലും വാക്കുകൾ. 4) പൂർണ്ണ വാക്യം പോസ്റ്റ് ഉള്ളടക്കത്തിൽ കാണാം.
    • മെനു_ഓർഡർ - പേജുകൾക്കും അറ്റാച്ച്‌മെൻ്റുകൾക്കും സാധാരണ ഉപയോഗിക്കുന്നു. പോസ്റ്റ് എഡിറ്റിംഗ് പേജിൽ സീരിയൽ നമ്പർ സൂചിപ്പിച്ചിരിക്കുന്നു.
    • meta_value - ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡിൻ്റെ മൂല്യമനുസരിച്ച്.

      പ്രധാനപ്പെട്ടത്: meta_key പാരാമീറ്ററും നിർവചിച്ചിരിക്കണം. ശ്രദ്ധിക്കുക: ക്രമപ്പെടുത്തൽ അക്ഷരമാലാക്രമത്തിലായിരിക്കും, അനിയന്ത്രിതമായ ഫീൽഡുകളുടെ മൂല്യങ്ങൾ അക്കങ്ങളാണെങ്കിൽ ലോജിക്കൽ ആയിരിക്കില്ല (ഉദാഹരണത്തിന്, ഇത് 1, 3, 34, 4, 56, 6, മുതലായവ ആയിരിക്കും, 1, 3 അല്ല, 4, 6, 34, 56).

    • meta_value_num - മൂല്യങ്ങൾ നമ്പറുകളുള്ള ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ പ്രകാരം അടുക്കുന്നു. പതിപ്പ് 2.8 മുതൽ.
    • meta_query-ൽ നിന്നുള്ള അറേ കീ - ഈ സാഹചര്യത്തിൽ, meta_query അറേയിൽ വ്യക്തമാക്കിയ ഒരു ഇഷ്‌ടാനുസൃത ഫീൽഡിൻ്റെ മൂല്യത്തിനനുസരിച്ചായിരിക്കും സോർട്ടിംഗ്.
    • post__in - post__in പാരാമീറ്ററിലെ നിർദ്ദിഷ്ട ഐഡികളുടെ ക്രമം കണക്കിലെടുക്കുന്നു. ഓർഡർ പാരാമീറ്റർ അവഗണിക്കപ്പെട്ടു.
    • post_name__in - post_name__in പാരാമീറ്ററിലെ നിർദ്ദിഷ്ട പേരുകളുടെ ക്രമം കണക്കിലെടുക്കുന്നു. ഓർഡർ പാരാമീറ്റർ അവഗണിക്കപ്പെട്ടു.
    • post_parent__in - post_parent__in പാരാമീറ്ററിലെ നിർദ്ദിഷ്ട ഐഡികളുടെ ക്രമം കണക്കിലെടുക്കുന്നു. ഓർഡർ പാരാമീറ്റർ അവഗണിക്കപ്പെട്ടു.
    ഓർഡർബൈ = അറേ()

    WordPress 4.0 മുതൽ, രണ്ട് പാരാമീറ്ററുകളും സംയോജിപ്പിക്കുന്ന ക്രമത്തിൽ നിങ്ങൾക്ക് ഒരു അറേ വ്യക്തമാക്കാൻ കഴിയും: ഓർഡർബൈ, ഓർഡർ . ഒരേ സമയം നിരവധി കോളങ്ങൾ ഉപയോഗിച്ച് അടുക്കുന്നതിനാണ് ഇത് ചെയ്യുന്നത്. വാക്യഘടന ഇപ്രകാരമാണ്:

    "orderby" => array("title" => "DESC", "menu_order" => "ASC")

    #1 ശീർഷകം അനുസരിച്ച് അടുക്കുക

    $query = പുതിയ WP_Query(array("orderby" => "title", "order" => "DESC"));

    മെനു ക്രമവും തുടർന്ന് ശീർഷകവും അനുസരിച്ച് അടുക്കുക

    $query = പുതിയ WP_Query(array("orderby" => "menu_order title", "order" => "DESC"));

    #2 നമുക്ക് ഒരു റാൻഡം പോസ്റ്റ് പ്രദർശിപ്പിക്കാം:

    $query = പുതിയ WP_Query(array("orderby" => "rand", "posts_per_page" => "1"));

    #3 കമൻ്റുകളുടെ എണ്ണം അനുസരിച്ച് നമുക്ക് പോസ്റ്റുകൾ അടുക്കാം:

    $query = പുതിയ WP_Query(array("orderby" => "comment_count"));

    #4 വില അനുസരിച്ച് ഉൽപ്പന്നങ്ങൾ അടുക്കുക (ഇഷ്‌ടാനുസൃത ഫീൽഡ് വില):

    $query = പുതിയ WP_Query(array("post_type" => "product", "orderby" => "meta_value", "meta_key" => "price"));

    #5 ഒന്നിലധികം അടുക്കൽ

    രണ്ട് ഫീൽഡുകൾ പ്രകാരം അടുക്കിയ പോസ്റ്റുകൾ നമുക്ക് പ്രദർശിപ്പിക്കാം: "ശീർഷകം", "മെനു_ഓർഡർ" (ശീർഷകം പ്രാഥമികമാണ്):

    $query = പുതിയ WP_Query(array("post_type" => "page", "orderby" => "title menu_order", "order" => "ASC"));

    #6 ഒരു അറേ ഉപയോഗിച്ച് ഒന്നിലധികം അടുക്കൽ (പതിപ്പ് 4.0 ൽ നിന്ന്)

    തലക്കെട്ടും മെനു നമ്പറും (menu_order) പ്രകാരം വ്യത്യസ്ത ക്രമത്തിൽ (ASC/DESC) പേജുകൾ അടുക്കാം:

    $query = പുതിയ WP_Query(array("orderby" => array("title" => "DESC", "menu_order" => "ASC")));

    #7 ഒരു പുതിയ പോസ്റ്റ് തരത്തിനായി "മെറ്റാ_വാല്യൂ" പ്രകാരം അടുക്കുന്നു (പോസ്റ്റ്_തരം)

    ഇഷ്‌ടാനുസൃത ഫീൽഡ് കീ "വയസ്സ്" പ്രകാരം അടുക്കി "my_custom_post_type" എന്ന തരത്തിലുള്ള പോസ്റ്റുകൾ നമുക്ക് പ്രദർശിപ്പിക്കാം, അങ്ങനെ ഫീൽഡ് മൂല്യങ്ങൾ 3 ഉം 4 ഉം ഉള്ള പോസ്റ്റുകൾ മാത്രം കാണിക്കും:

    $args = അറേ("post_type" => "my_custom_post_type", "meta_key" => "പ്രായം", "orderby" => "meta_value_num", "order" => "ASC", "meta_query" => അറേ(അറേ( "കീ" => "പ്രായം", "മൂല്യം" => അറേ(3, 4), "താരതമ്യപ്പെടുത്തുക" => "IN",))); $query = പുതിയ WP_Query($args);

    #8 ഒന്നിലധികം മെറ്റാഫീൽഡുകൾ പ്രകാരം അടുക്കുന്നു

    രണ്ട് വ്യത്യസ്‌ത മെറ്റാഫീൽഡുകൾ ഉപയോഗിച്ച് ഫലം അടുക്കുന്നതിന്, ഉദാഹരണത്തിന് ആദ്യം നഗരം, പിന്നീട് സംസ്ഥാനം എന്നിങ്ങനെ, നിങ്ങൾ meta_query അറേയിലെ അറേകൾക്കായുള്ള കീകൾ വ്യക്തമാക്കേണ്ടതുണ്ട്, തുടർന്ന് ഓർഡർബൈ പാരാമീറ്ററിൽ ആ കീകൾ ഉപയോഗിക്കുക:

    $query = പുതിയ WP_Query([ "meta_query" => [ "relation" => "AND", "state_clause" => [ "key" => "state", "value" => "Wisconsin", ], "city_clause " => [ "കീ" => "നഗരം", "താരതമ്യപ്പെടുത്തുക" => "നിലവിലുള്ളത്", ], ], "ഓർഡർബൈ" => [ "city_clause" => "ASC", "state_clause" => "DESC", ], ]);

    ഓപ്ഷനുകൾ പേജിനേഷൻ

    നോപേജിംഗ് (ലോജിക്കൽ)പേജിനേഷൻ പ്രവർത്തനരഹിതമാക്കുകയും എല്ലാ പോസ്റ്റുകളും ഒരു പേജിൽ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു. posts_per_page (നമ്പർ)

    ഒരു പേജിലെ പോസ്റ്റുകളുടെ എണ്ണം. നിങ്ങൾ -1 സജ്ജീകരിച്ചാൽ, എല്ലാ പോസ്റ്റുകളും പ്രദർശിപ്പിക്കും (പേജിനേഷൻ ഇല്ലാതെ).

    പതിപ്പ് 2.1 മുതൽ, ഇത് ഷോപോസ്റ്റുകളുടെ പാരാമീറ്ററിനെ മാറ്റിസ്ഥാപിക്കുന്നു. ഈ ഓപ്‌ഷൻ ഉപയോഗിച്ചതിന് ശേഷം പേജിനേഷൻ പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ പേജ് ചെയ്‌ത ഓപ്ഷൻ സജ്ജമാക്കുക.

    ശ്രദ്ധിക്കുക: അഭ്യർത്ഥന ഫീഡ് ഭാഗത്തിലാണെങ്കിൽ, posts_per_rss ഓപ്ഷൻ ഉപയോഗിച്ച് WP ഈ പാരാമീറ്റർ പുനരാലേഖനം ചെയ്യുന്നു. ഫീഡിലെ പോസ്റ്റുകളുടെ പ്രദർശനത്തെ സ്വാധീനിക്കാൻ, post_limits അല്ലെങ്കിൽ pre_option_posts_per_rss ഫിൽട്ടറുകൾ ഉപയോഗിക്കുക.

    പോസ്റ്റുകൾ_പെർ_ആർക്കൈവ്_പേജ് (നമ്പർ)ആർക്കൈവ് പേജുകൾക്കുള്ള പോസ്റ്റുകളുടെ എണ്ണം: is_archive() അല്ലെങ്കിൽ is_search() വ്യവസ്ഥകൾ പാലിക്കുന്ന പേജുകൾക്കായി. ഈ ഓപ്ഷൻ "posts_per_page", "showposts" എന്നീ ഓപ്‌ഷനുകളെ അസാധുവാക്കുന്നു. ഓഫ്സെറ്റ് (നമ്പർ)തിരഞ്ഞെടുക്കലിൻ്റെ മുകളിൽ നിന്ന് എത്ര പോസ്റ്റുകൾ ഒഴിവാക്കണം (മുകളിൽ ഇൻഡൻ്റ്).
    ശ്രദ്ധ:ഈ ഓപ്‌ഷൻ സജ്ജീകരിക്കുന്നത് "പേജ്ഡ്" ഓപ്‌ഷൻ ഓവർറൈറ്റുചെയ്യുന്നു/അവഗണിക്കുകയും പേജിനേഷൻ തകർക്കുകയും ചെയ്യുന്നു (പ്രശ്നം പരിഹരിക്കുന്നു). പേജ് ചെയ്തു (നമ്പർ)പേജിനേഷൻ പേജ് നമ്പർ. X പേജിനേഷൻ പേജിൽ സാധാരണയായി കാണിക്കുന്ന പോസ്റ്റുകൾ കാണിക്കുന്നു. posts_per_page പേജ് പാരാമീറ്റർ പുനരാലേഖനം ചെയ്യുന്നു (നമ്പർ)സ്റ്റാറ്റിക് ഹോം പേജിനുള്ള നമ്പർ. പ്രധാന സ്റ്റാറ്റിക് പേജിൻ്റെ (മുൻപേജ്) X പേജിനേഷൻ പേജിൽ സാധാരണയായി കാണിക്കുന്ന പോസ്റ്റുകൾ കാണിക്കുന്നു. അവഗണിക്കുക_സ്റ്റിക്കി_പോസ്റ്റുകൾ (ലോജിക്കൽ)

    സ്റ്റിക്കി പോസ്റ്റുകൾ അവഗണിക്കുക അല്ലെങ്കിൽ അല്ല (ശരി/തെറ്റ്). പതിപ്പ് 3.1 ൽ നിന്ന്. caller_get_posts പാരാമീറ്റർ മാറ്റിസ്ഥാപിക്കുന്നു.

    സ്റ്റിക്കി പോസ്റ്റുകൾ ലിസ്റ്റിൻ്റെ മുകളിൽ ദൃശ്യമാകില്ല, പക്ഷേ അവ ഒഴിവാക്കപ്പെടുന്നില്ല കൂടാതെ സാധാരണ ക്രമത്തിൽ ദൃശ്യമാകും.

    ഓരോ പേജിനും #1 പോസ്റ്റുകൾ

    ഞങ്ങൾക്ക് 3 പോസ്റ്റുകൾ ലഭിക്കും:

    $query = പുതിയ WP_Query("posts_per_page=3");

    നമുക്ക് എല്ലാ പോസ്റ്റുകളും നേടാം:

    $query = പുതിയ WP_Query("posts_per_page=-1");

    എല്ലാ പോസ്റ്റുകളും നേടുകയും പേജിനേഷൻ പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്യാം:

    $query = പുതിയ WP_Query("nopaging=true");

    #2 ടോപ്പ് പാഡിംഗ്

    നാലാമത്തേത് മുതൽ നമുക്ക് പോസ്റ്റുകൾ നേടാം (ആദ്യത്തെ 3 ഞങ്ങൾ ഒഴിവാക്കും):

    $query = പുതിയ WP_Query("ഓഫ്സെറ്റ്=3"));

    ആദ്യത്തെ മൂന്ന് പോസ്റ്റുകൾ പിന്തുടരുന്ന 5 പോസ്റ്റുകൾ ഞങ്ങൾക്ക് ലഭിക്കുന്നു:

    $query = പുതിയ WP_Query(array("posts_per_page" => 5, "offset" => 3));

    പേജ് പേജ് 6-ൽ നിന്നുള്ള #3 പോസ്റ്റുകൾ

    $query = പുതിയ WP_Query("paged=6");

    #4 നിലവിലെ പേജിൽ നിന്നുള്ള പോസ്റ്റുകൾ

    നിലവിലെ പേജിനേഷൻ പേജിൽ നിന്ന് പോസ്റ്റുകൾ നേടാം. ഇഷ്‌ടാനുസൃത പേജിനേഷൻ നിർമ്മിക്കുമ്പോൾ ഉപയോഗപ്രദമാണ്:

    $query = പുതിയ WP_Query([ "paged" => get_query_var("paged") ]);

    നിലവിലെ പേജിൽ നിന്ന് പോസ്റ്റുകൾ നേടുകയും ആദ്യ പേജിനേഷൻ പേജിൽ വേരിയബിൾ നിർവചിക്കാത്തപ്പോൾ പേജ് ചെയ്‌ത പാരാമീറ്റർ 1 ആയി സജ്ജമാക്കുകയും ചെയ്യാം:

    $paged = get_query_var("paged") ? get_query_var("paged") : 1; $query = പുതിയ WP_Query([ "paged" => $paged ]);

    സൈറ്റിൻ്റെ സ്റ്റാറ്റിക് ഫ്രണ്ട് പേജിൻ്റെ പേജിനേഷൻ പേജ് നമ്പർ നിങ്ങൾക്ക് ലഭിക്കണമെങ്കിൽ get_query_var("page") ഉപയോഗിക്കുക - is_front_page() . ഉള്ളടക്കം പേജിനേഷൻ ടാഗ് ഉപയോഗിക്കുമ്പോൾ ഈ കേസിലെ പേജ് വേരിയബിളിൽ പോസ്റ്റ് തരം പേജുകളിലെ പേജിനേഷൻ നമ്പർ അടങ്ങിയിരിക്കുന്നു. .

    ഒരു സ്റ്റാറ്റിക് പ്രധാന പേജിൽ നിലവിലെ പേജിനേഷൻ പേജ് ഔട്ട്പുട്ട് ചെയ്യുന്നു:

    $paged = get_query_var("page") ?: 1; $query = പുതിയ WP_Query([ "paged" => $paged ]);

    #5 സ്റ്റിക്കി എൻട്രികൾ (പോസ്റ്റുകൾ)

    # എല്ലാ സ്റ്റിക്കി പോസ്റ്റുകളും
    $സ്റ്റിക്കി = get_option("sticky_posts"); $query = പുതിയ WP_Query([ "post__in" => $sticky ]);
    # ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ് മാത്രം
    $സ്റ്റിക്കി = get_option("sticky_posts"); $query = പുതിയ WP_Query("p=". $സ്റ്റിക്കി);
    # ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ്, അങ്ങനെയൊരു പോസ്റ്റ് ഇല്ലെങ്കിൽ, അവസാനം പ്രസിദ്ധീകരിച്ചത്
    $args = അറേ("posts_per_page" => 1, "post__in" => get_option("sticky_posts"), "ignore_sticky_posts" => 1); $query = പുതിയ WP_Query($args);
    # ആദ്യത്തെ സ്റ്റിക്കി പോസ്റ്റ്, അത്തരമൊരു പോസ്റ്റ് ഇല്ലെങ്കിൽ, ഞങ്ങൾ ഒന്നും പ്രദർശിപ്പിക്കില്ല
    $സ്റ്റിക്കി = get_option("sticky_posts"); എങ്കിൽ (! ശൂന്യമായ($സ്റ്റിക്കി)) ( $query = പുതിയ WP_Query(array("posts_per_page" => 1, "post__in" => $sticky, "ignore_sticky_posts" => 1)); // ഔട്ട്‌പുട്ട് സൃഷ്‌ടിക്കുക... )
    # 5 ഏറ്റവും പുതിയ സ്റ്റിക്കി പോസ്റ്റുകൾ
    $സ്റ്റിക്കി = get_option("sticky_posts"); // എല്ലാ സ്റ്റിക്കി എൻട്രികളും rsort($സ്റ്റിക്കി); // അടുക്കുക - മുകളിലുള്ള പുതിയവ $sticky = array_slice($sticky, 0, 5); // ആദ്യത്തെ 5 $query = പുതിയ WP_Query ([ "post__in"=>$sticky, "ignore_sticky_posts"=>1 ]);

    #6 സ്റ്റിക്കി പോസ്റ്റുകൾ മറയ്ക്കുന്നു

    അഭ്യർത്ഥനയിൽ നിന്ന് എല്ലാ സ്റ്റിക്കി പോസ്റ്റുകളും ഒഴിവാക്കാം:

    $query = പുതിയ WP_Query([ "post__not_in" => get_option("sticky_posts") ]);

    സ്റ്റിക്കി പോസ്റ്റുകൾ വിഭാഗത്തിൽ നിന്ന് ഒഴിവാക്കാം. ഇത് വിഭാഗത്തിലെ എല്ലാ പോസ്റ്റുകളും തിരികെ നൽകും, എന്നാൽ സ്റ്റിക്കി പോസ്റ്റുകൾ മുകളിലായിരിക്കില്ല, അവ സാധാരണ പോസ്റ്റുകളായി പ്രദർശിപ്പിക്കും (തീയതി പ്രകാരം):

    $query = പുതിയ WP_Query([ "ignore_sticky_posts" => 1, "posts_per_page" => 3, "cat" => 6 ]);

    സ്റ്റിക്കി പോസ്റ്റുകൾ വിഭാഗത്തിൽ നിന്ന് ഒഴിവാക്കാം. വിഭാഗത്തിലെ എല്ലാ പോസ്റ്റുകളും തിരികെ നൽകും, എന്നാൽ സ്റ്റിക്കി പോസ്റ്റുകൾ പൂർണ്ണമായും ഒഴിവാക്കപ്പെടും. ശരിയായ പേജിനേഷനായി ഇവിടെ ഒരു നിയമവും ചേർക്കാം:

    $paged = get_query_var("paged") ?: 1; $സ്റ്റിക്കി = get_option("sticky_posts"); $query = പുതിയ WP_Query(array("cat" => 3, "ignore_sticky_posts" => 1, "post__not_in" => $sticky, "paged" => $paged));

    ഓപ്ഷനുകൾ അഭിപ്രായങ്ങൾ

    ഒരു പ്രത്യേക പോസ്റ്റാണെങ്കിൽ WP_Query ഒബ്‌ജക്‌റ്റിലേക്ക് പോസ്റ്റ് കമൻ്റ് ഡാറ്റ ചേർക്കും. അത്തരം സന്ദർഭങ്ങളിൽ അഭിപ്രായങ്ങൾ എങ്ങനെ സ്വീകരിക്കണമെന്ന് ചുവടെയുള്ള പാരാമീറ്ററുകൾ സൂചിപ്പിക്കുന്നു.

    കമൻ്റ്_സ്റ്റാറ്റസ് (ലൈൻ)കമൻ്റ് നില. പിംഗ്_സ്റ്റാറ്റസ് (നമ്പർ)പിംഗ് നില. comments_per_page (നമ്പർ)ഒരു വ്യക്തിഗത കമൻ്റ് പേജിൽ ലഭിക്കേണ്ട കമൻ്റുകളുടെ എണ്ണം. സ്ഥിരസ്ഥിതി ഓപ്ഷൻ: comments_per_page . അഭിപ്രായം_എണ്ണം (നമ്പർ/അറേ)

    ഒരു പോസ്റ്റിന് ഉണ്ടായിരിക്കേണ്ട കമൻ്റുകളുടെ എണ്ണം. പതിപ്പ് 4.9 ൽ നിന്ന്.

    • നിങ്ങൾ ഒരു നമ്പർ വ്യക്തമാക്കിയാൽ, അതിന് നിർദ്ദിഷ്ട എണ്ണം കമൻ്റുകളുള്ള പോസ്റ്റുകൾ ലഭിക്കും (തിരയൽ ഓപ്പറേറ്റർ =).
    • അഭിപ്രായങ്ങളുടെ എണ്ണം താരതമ്യം ചെയ്യുന്നതിനുള്ള ഒരു ഓപ്ഷൻ വ്യക്തമാക്കാൻ അറേ നിങ്ങളെ അനുവദിക്കുന്നു. അറേയിൽ നിങ്ങൾക്ക് പാരാമീറ്ററുകൾ വ്യക്തമാക്കാൻ കഴിയും:
      • മൂല്യം (നമ്പർ)- താരതമ്യത്തിനുള്ള അഭിപ്രായങ്ങളുടെ എണ്ണം.
      • താരതമ്യം ചെയ്യുക (ലൈൻ)- അഭിപ്രായങ്ങളുടെ എണ്ണം എങ്ങനെ താരതമ്യം ചെയ്യാം. ഒരുപക്ഷേ: = , != , > , >= ,< , <= . По умолчанию: = .

    ഓപ്ഷനുകൾ തിരയുക

    എസ് (ലൈൻ)വാചകം തിരയുക. കൃത്യമായ (ലോജിക്കൽ) true - s പാരാമീറ്ററിൽ വ്യക്തമാക്കിയിട്ടുള്ള കൃത്യമായ വാക്യം ഉപയോഗിച്ച് തിരയുക - SQL അന്വേഷണത്തിലെ തിരയൽ വാക്യത്തിൻ്റെ അറ്റത്ത് % ചേർക്കാതെ.
    സ്ഥിരസ്ഥിതി: തെറ്റ്വാചകം (ശരി തെറ്റ്) true - പൂർണ്ണമായ തിരയൽ വാക്യം ഉപയോഗിച്ച് തിരയുക.
    തെറ്റ് - തിരയൽ വാക്യം വാക്കുകളായി വിഭജിക്കുകയും തിരയൽ വാക്യത്തിൽ നിന്നുള്ള വാക്കുകൾ അനുസരിച്ച് തിരയൽ നടത്തുകയും ചെയ്യുന്നു.
    സ്ഥിരസ്ഥിതി: തെറ്റ്

    തിരയൽ പദപ്രയോഗം ഉപയോഗിച്ച് കണ്ടെത്തിയ പോസ്റ്റുകൾ:

    $query = പുതിയ WP_Query("s=കീവേഡ്");

    ഓപ്ഷനുകൾ തിരിച്ചുള്ള ഫീൽഡുകൾ

    അഭ്യർത്ഥന എന്ത് ഡാറ്റ നൽകണമെന്ന് സജ്ജീകരിക്കുന്നു.

    വയലുകൾ (സ്ട്രിംഗ്/അറേ)

    എന്ത് ഡാറ്റയാണ് തിരികെ നൽകേണ്ടത്. സ്ഥിരസ്ഥിതിയായി, എല്ലാം തിരികെ നൽകും.

    • ഐഡികൾ - പോസ്റ്റ് ഐഡികളുള്ള ഒരു അറേ തിരികെ നൽകും.
    • id=>മാതാപിതാവ് - ഒരു അസോസിയേറ്റീവ് അറേ [പാരൻ്റ് => ഐഡി, …] തിരികെ നൽകും.
    • മറ്റേതെങ്കിലും പാരാമീറ്ററുകൾ ചേർക്കുന്നത് എല്ലാ ഫീൽഡുകളും (സ്ഥിരസ്ഥിതിയായി) തിരികെ നൽകും - പോസ്റ്റ് ഒബ്‌ജക്റ്റുകളുടെ ഒരു നിര.
    വരികൾ_കണ്ടില്ല (ലോജിക്കൽ)ശരി - കണ്ടെത്തിയ വരികളുടെ എണ്ണം കണക്കാക്കരുത്. ചില സന്ദർഭങ്ങളിൽ ഇത് അഭ്യർത്ഥന വേഗത്തിലാക്കാം.
    സ്ഥിരസ്ഥിതി: തെറ്റ്

    ഓപ്ഷനുകൾ കാഷിംഗ്

    ചോദ്യങ്ങൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ കാഷെയിലേക്ക് ഡാറ്റ ചേർക്കുന്നില്ല.

    കാഷെ_ഫലങ്ങൾ (ശരി തെറ്റ്)പോസ്റ്റ് വിവരങ്ങൾ കാഷെ ചെയ്യണമോ എന്ന്.
    സ്ഥിരസ്ഥിതി: ശരി update_post_meta_cache (ശരി തെറ്റ്)പോസ്റ്റ് മെറ്റാ ഡാറ്റയെക്കുറിച്ചുള്ള വിവരങ്ങൾ കാഷെ ചെയ്യണമോ എന്ന്.
    സ്ഥിരസ്ഥിതി: ശരി update_post_term_cache (ശരി തെറ്റ്)നിബന്ധനകളിലേക്കും ടാക്സോണമികളിലേക്കും ഒരു പോസ്റ്റ് ലിങ്ക് ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ കാഷെ ചെയ്യണമോ എന്ന്.
    സ്ഥിരസ്ഥിതി: ശരി lazy_load_term_meta (ശരി തെറ്റ്)ടേം മെറ്റാഡാറ്റ അലസമായി ലോഡ് ചെയ്യണോ എന്ന്.
    false - ടേം മെറ്റാഡാറ്റയുടെ അലസമായ ലോഡിംഗ് പ്രവർത്തനരഹിതമാക്കുകയും get_term_meta() എന്നതിലേക്കുള്ള ഓരോ കോളും ഡാറ്റാബേസ് ആക്‌സസ് ചെയ്യുകയും ചെയ്യും.
    സ്ഥിരസ്ഥിതി: $update_post_term_cache മൂല്യം

    #1 ഞങ്ങൾ 50 പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കും, പക്ഷേ പോസ്റ്റുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ കാഷെയിലേക്ക് ചേർക്കില്ല:

    $query = പുതിയ WP_Query(array("posts_per_page" => 50, "cache_results" => false));

    #2 ഞങ്ങൾ 50 പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കും, പക്ഷേ കാഷെയിലേക്ക് പോസ്റ്റ് മെറ്റാ ഡാറ്റ ചേർക്കില്ല

    $query = പുതിയ WP_Query(array("posts_per_page" => 50, "update_post_meta_cache" => false));

    #3 ഞങ്ങൾ 50 പോസ്റ്റുകൾ പ്രദർശിപ്പിക്കും, എന്നാൽ കാഷെയിലേക്ക് പോസ്റ്റ് നിബന്ധനകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ചേർക്കില്ല

    $query = പുതിയ WP_Query(array("posts_per_page" => 50, "update_post_term_cache" => false));

    സാധാരണയായി നിങ്ങൾ ഈ ഫംഗ്ഷനുകൾ ഉപയോഗിക്കേണ്ടതില്ല - കാഷെ ആവശ്യമാണ്! എന്നിരുന്നാലും, ഈ സമീപനം പല കേസുകളിലും ഉപയോഗപ്രദമാകും. ഉദാഹരണത്തിന്, ഞങ്ങൾക്ക് പോസ്റ്റ് ശീർഷകങ്ങളുടെ ഒരു ലിസ്റ്റ് ലഭിക്കണമെങ്കിൽ, പോസ്റ്റുകളെ കുറിച്ച് മറ്റ് വിവരങ്ങളൊന്നും ആവശ്യമില്ലെങ്കിൽ: ടാക്സോണമിയോ മെറ്റാ ഡാറ്റയോ അല്ല. ഈ വിവരങ്ങൾ ലോഡ് ചെയ്യാതിരിക്കുന്നതിലൂടെ നമുക്ക് അനാവശ്യ SQL അന്വേഷണങ്ങളിൽ സമയം ലാഭിക്കാം.

    കുറിപ്പ്:സ്ഥിരമായ കാഷിംഗ് പ്ലഗിൻ ഉപയോഗിക്കുകയാണെങ്കിൽ, ഈ ഫ്ലാഗുകളെല്ലാം ഡിഫോൾട്ടായി തെറ്റായി സജ്ജീകരിച്ചിരിക്കുന്നു, കാരണം പേജ് ലോഡുചെയ്യുമ്പോഴെല്ലാം കാഷെ പുതുക്കേണ്ട ആവശ്യമില്ല.

    ഓപ്ഷനുകൾ ഫിൽട്ടറുകൾ (ഹുക്കുകൾ)

    suppress_filters (ശരി തെറ്റ്)

    WP_Query ക്ലാസിലെ ചില ഫിൽട്ടറുകൾ (ഹുക്കുകൾ) പ്രവർത്തനരഹിതമാക്കണം. ഈ പാരാമീറ്റർ പ്രവർത്തനക്ഷമമാക്കുന്നത് posts_* അല്ലെങ്കിൽ comment_feed_* പോലുള്ള എല്ലാ SQL അന്വേഷണ പരിഷ്‌ക്കരണ ഫിൽട്ടറുകളും പ്രവർത്തനരഹിതമാക്കുന്നു.

    ശരി - ഇനിപ്പറയുന്ന കൊളുത്തുകളുടെ പ്രോസസ്സിംഗ് പ്രവർത്തനരഹിതമാക്കുക:

    പോസ്റ്റുകൾ_തിരയുക പോസ്റ്റുകൾ_തിരയുക_ഓർഡറുകൾ_എവിടെ പോസ്റ്റുകൾ_ജോയിൻ ചെയ്യുക s_request post_limits_request posts_clauses_request posts_request posts_results the_posts comment_feed_join comment_feed_where comment_feed_groupby comment_feed_orderby comment_feed_limits init() ഒരു ഒബ്ജക്റ്റ് സജീവമാക്കുന്നു, എല്ലാ പ്രോപ്പർട്ടി മൂല്യങ്ങളും 0 ആയി സജ്ജീകരിക്കുന്നു, അല്ലെങ്കിൽ അസാധുവാക്കുന്നു. parse_query($query) അന്വേഷണ പാരാമീറ്ററുകൾ സ്വീകരിക്കുന്നു, അവ പാഴ്‌സ് ചെയ്യുകയും ക്ലാസിൻ്റെ അടിസ്ഥാന സവിശേഷതകൾ സജ്ജമാക്കുകയും ചെയ്യുന്നു: $posts , $post_count , $post, $current_post . parse_query_vars() പഴയ ചോദ്യം വീണ്ടും പാഴ്‌സ് ചെയ്യുന്നു. get($query_var) പേര് പ്രകാരം ഒരു അന്വേഷണ വേരിയബിൾ വീണ്ടെടുക്കുന്നു. set($query_var, $value) അന്വേഷണ വേരിയബിൾ സജ്ജമാക്കുന്നു. സൂചിപ്പിക്കുന്നു: വേരിയബിളിൻ്റെ പേരും അതിൻ്റെ മൂല്യവും. &get_posts() ഡാറ്റാബേസിൽ നിന്ന് ആവശ്യമായ പോസ്റ്റുകൾ വീണ്ടെടുക്കുന്നു. $posts, $post_count പ്രോപ്പർട്ടികൾ എന്നിവയും പോപ്പുലേറ്റ് ചെയ്യുന്നു. next_post() ലൂപ്പ് സമയത്ത് ഉപയോഗിച്ചു. $posts അറേയിലെ അടുത്ത പോസ്റ്റിലേക്ക് നീങ്ങുന്നു. $current_post, $post എന്നിവ സജ്ജമാക്കുന്നു. മെത്തേഡ് ആഗോള $post വേരിയബിളിനെ സജ്ജീകരിക്കുന്നില്ല, എന്നാൽ ക്ലാസ്സിനുള്ളിലെ ഒരു വേരിയബിളിനെ ബാധിക്കുന്നു. നിലവിലെ പോസ്റ്റ് ഡാറ്റ (ഒബ്ജക്റ്റ്) നൽകുന്നു. the_post() ലൂപ്പ് സമയത്ത് ഉപയോഗിച്ചു. അടുത്ത പോസ്റ്റിലേക്ക് നീങ്ങുകയും ആഗോള വേരിയബിൾ $post മാറ്റുകയും ചെയ്യുന്നു. have_posts() ലൂപ്പിന് തൊട്ടുമുമ്പ് ഉപയോഗിച്ചു. പ്രദർശിപ്പിക്കാൻ പോസ്റ്റുകൾ ഉണ്ടോ എന്ന് പരിശോധിക്കുന്നു. rewind_posts() $current_post, $post വേരിയബിളുകൾ പുനഃസജ്ജമാക്കുന്നു. &query($query) രീതികൾ വിളിക്കുന്നു: parse_query() and get_posts() . get_posts() ഫലം നൽകുന്നു. get_queried_object() ഇതിനകം പൂരിപ്പിച്ചിട്ടില്ലെങ്കിൽ $queried_object വേരിയബിൾ പൂരിപ്പിക്കുകയും അത് തിരികെ നൽകുകയും ചെയ്യുന്നു. get_queried_object_id() ഇതിനകം പൂരിപ്പിച്ചിട്ടില്ലെങ്കിൽ $queried_object_id വേരിയബിൾ പൂരിപ്പിക്കുകയും അത് തിരികെ നൽകുകയും ചെയ്യുന്നു. __കൺസ്ട്രക്റ്റ്($ക്വറി = "") ക്ലാസ്സിൻ്റെ കൺസ്ട്രക്ടർ. അന്വേഷണ ഡാറ്റ കടന്നുപോകുകയാണെങ്കിൽ, query() രീതിയിലേക്ക് വിളിക്കുകയും ഡാറ്റ അതിലേക്ക് കൈമാറുകയും ചെയ്യുന്നു.



ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു

Android-ൽ ഇല്ലാതാക്കിയ ഫയലുകളുടെ സോഫ്റ്റ്വെയർ വീണ്ടെടുക്കൽ

ഇത് എല്ലാവർക്കും സംഭവിച്ചിട്ടുണ്ട്. മാരകമായ നീക്കം - ഏറ്റവും പ്രധാനപ്പെട്ട ഫയലുകൾ അപ്രത്യക്ഷമാകുകയും ഫോണിൻ്റെ മെമ്മറി പ്രാകൃതമാക്കുകയും ചെയ്യുന്നു. അബദ്ധത്തിലോ ആകസ്മികമായോ, പക്ഷേ ഫയലുകൾ...