✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WordPressi kohandatud postituse tüübi lehitsemine

18

Üldiselt, kui ma töötan kohandatud postituse tüübi leheküljega, kirjutan selleks kohandatud päringu WP_Query abil ja kutsun seejärel silmuse lõpus käsu wp_reset_postdata().

Arvan endiselt, et sellel on oma koht, kuid on olemas lihtsam lahendus, mida saate rakendada konkreetse WordPressi pakutava konksu abil.

Täpsemalt, ma räägin konksust pre_get_posts. Koodiviites näete, et see on määratletud järgmiselt:

Käivitatakse pärast päringumuutuja objekti loomist, kuid enne tegeliku päringu käivitamist.

Ja kuna päring sisaldab palju teavet, saame selle abil kindlaks teha, kas tahame muuta vajalikke argumente, et tegeleda lehekülgedega.

Selle all pean silmas atribuuti post_type ja posts_per_page väärtust. Selleks saate seda rakendada järgmisel viisil :

<?php

use WP_Query;

add_action('pre_get_posts', __NAMESPACE__. 'customPostTypePagination');
/**
 * If we're on the 'acme-post-type' page, then adjusts pagination so there are only two posts per page. This will 
 * affect pagination so we can use built-in pagination links to easily page through the content.
 *
 * @param WP_Query the instance of the query object that contains information to populate the template.
 *
 * @return WP_Query an unmodified version of the query object or a modified version if we're on the acme post-type.
 */
function customPostTypePagination(WP_Query $query)
{
  if (isset($query->query['post_type']) && 'acme-post-type' == $query->query['post_type']) {
    $query->set('posts_per_page', 2);
  }
}

Ülaltoodud kood ei ole objektorienteeritud (kui see oleks, seadistaksin abonendi ja klassi, kes vastutavad funktsiooni loogika haldamise eest), kuid näete, kuidas seda kõige elementaarsemal kujul seadistada.

Nii et kui töötate kohandatud postituse tüübi leheküljega ja ei soovi tegeleda kohandatud päringu seadistamise erinevate aspektidega, võib see teie probleemi lahendada.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem