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

Kohandatud filtrite kasutamine lühikoodidega

12

Kui olete lühikoodi API -st ja filtrite toimimisest aru saanud, on neid lihtne WordPressis rakendada.

Kohandatud filtrite kasutamine lühikoodidega

Ja kui saate neid kahte kombineerida, saate teha palju rohkem kui tavaliselt, kui need töötavad üksteisest sõltumatult.

Täpsemalt saate filtreerida andmeid, mis on lühikoodi tulemuses, ja see võib olla eriti kasulik teistele arendajatele. Kui olete tuttav kohandatud filtrite rakendamisega, pole selle tegemine lühikoodi kontekstis palju erinev.

Kuid kui te pole kunagi varem lühikoodi API-d ega funktsioone kasutanud, on seda siiski lihtne teha.

Kohandatud filtrid lühikoodidega

Selle postituse jaoks kasutame suhteliselt väljamõeldud näidet. See tähendab, et lühikoodi tulemuseks on midagi staatilist. Põhjus on selles, et see muudab postituses demonstreerimise ja koodis rakendamise lihtsaks.

Lühikood

Lühikoodi rakendamiseks vajate kahte asja:

  1. lühikoodi kohandatud nimi,
  2. funktsioon, mida kasutatakse teabe pukseerimiseks kõikjale, kus lühikoodi kasutatakse.
<?php

namespace Acme;

add_shortcode('a_simple_example', __NAMESPACE__. 'aSimpleExample');
/**
 * Replaces [a_simple_example] short code with the text "This is the result of an example shortcode."
 * whenever the shortcode is placed in a post or page.
 */
function aSimpleExample()
{
  return 'This is the result of an example shortcode.';
}

Märkus ülaltoodud koodis; Olen funktsiooni eesliitega. __NAMESPACE__Seda seetõttu, et funktsioon asub kohandatud nimeruumis (seda näete faili ülaosas).

Ilma selle eesliiteta funktsiooni ei kutsuta. Kui otsustate nimeruume mitte kasutada, võite loobuda funktsiooni nime eesliitest ja kaldkriipsudest.

Pange tähele, et vaatame seda funktsiooni uuesti niipea, kui filter on paigas.

Filter

Kohandatud filtri lisamine sarnaneb lühikoodi lisamisega. Sa vajad:

  1. kohandatud filtri nimi,
  2. funktsioon, mida kasutatakse sissetuleva teabe filtreerimiseks (ja filtrid peaksid üldiselt aktsepteerima vähemalt ühte parameetrit, mis on loomulikult filtreeritavad andmed):

Ülaltoodud näitega kooskõla hoidmiseks oletame, et tahame lühikoodis lihtsalt mõne sõna asendada :

<?php

namespace Acme;

add_filter('custom_shortcode_example', __NAMESPACE__. 'aSimpleShortcodeFilter');
/**
 * Replaces [a simple example] short code with the text "This is the result of an example shortcode."
 * whenever the shortcode is placed in a post or page.
 *
 * @param string $input the input to filter.
 *
 * @return string       the result of the filter running on the input
 */
function aSimpleShortcodeFilter(string $input): string
{
  return str_ireplace(
    'an example shortcode.',
    'a filtered shortcode',
    $input
  );
}

See asendab järgmise sisu:

See on lühikoodi näite tulemus.

Saaja:

See on filtreeritud lühikoodi tulemus.

Kuid me peame need kaks ikkagi kokku siduma.

Lühikoodi uuesti külastamine

Kahe funktsiooni koos sidumiseks peame veenduma, et lühikoodi funktsioon rakendab filtri tagastatavale väärtusele.

Õnneks on selle rakendamine lihtne, eriti kuna meil on olemas kõik, mida vajame:

<?php

namespace Acme;

add_shortcode('a_simple_example', __NAMESPACE__. 'aSimpleExample');
/**
 * Replaces [a_simple_example] short code with the text "This is the result of an example shortcode."
 * whenever the shortcode is placed in a post or page.
 */
function aSimpleExample()
{
  return apply_filters('custom_shortcode_example', 'This is the result of an example shortcode.');
}

Kõige konkreetsema näite puhul soovitan alati kontrollida, kas parameetri tulemus pole tühi, et see sisaldab stringi, mida otsin, või midagi sarnast.

See tähendab, et mulle meeldib sageli avada kaitseklausliga. Kui test ebaõnnestub, tagastan lihtsalt sissetuleva väärtuse; vastasel juhul filtreerin andmed ja tagastan mis tahes selle toimingu tulemuse.

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