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

Kohandatud WordPressi pildiatribuutide lisamine

23

Mis puutub sisuga_content töötamisse, siis on see lihtne.

  1. Seadistage filter, mis on konksuga_content,
  2. määrake funktsioon, mis aktsepteerib sissetuleva postituse sisu,
  3. tehke oma muudatused,
  4. tagastada muudetud sisu.

Ja enamasti on see kõik, mida vaja läheb. Kuid on aegu, mil võiksite teha keerukamaid asju.

Näiteks soovite võib-olla kaasata sisu välisest mallist. Või soovite lisada postitusest leitud piltidele atribuute.

Seda võib olla keeruline teha regulaaravaldise abil (kuna HTML on mitteregulaarne keel), kuid PHP DOMDocumenti abil pole see väga halb.

Selle koodi idee, mida ma näitan, on järgmine:

  1. otsi  postitusest img -silte,
  2. silmus läbi mida iganes leitakse,
  3. lisa atribuudid,
  4. salvesta HTML,
  5. tagastada tulemus.

Pange tähele, et peate võib-olla seda kohandama vastavalt oma vajadustele, kuid põhikood , mida vajate, on :

<?php

private function addImageAttributes($content)
{

  $content  = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8");
  $document = new DOMDocument();

  libxml_use_internal_errors(true);
  $document->loadHTML(utf8_decode($content));

  $images = $document->getElementsByTagName('img');
  foreach ($images as $image) {
      $image->setAttribute('data-example', 'true');
  }

  return $document->saveHTML();
}

Neile, kes ei tunne DOMDocumenti ega ülalolevas koodis toimuvat (nt miks teatud funktsioone enne märgistuse töötlemist kutsutakse), on siin kiire ülevaade:

  • mb_convert_encode .See võtab sissetulevate andmete märgikodeeringu ja teisendab need UTF-8-ks (eespool toodud koodi alusel, kuid see võib olla midagi muud).
  • libxml_use_internal_errors. See lülitab välja igasuguse veateate ja me kõik programmeerijana saame vead ise välja tuua.
  • utf8_decode. See dekodeerib teabe stringina UTF-8-st ISO-8859-1-ni. Põhjus, miks me seda teeme, on see, et enamikul lehtedel on märgistik, mis on määratletud viimasena ja me peame selle töötlemiseks kodeerima esimesena.

Sellegipoolest soovitan lugeda ka DOMDocumenti, et saada lisateavet kõige ülaltoodud kohta.

Sellegipoolest, kui kasutate ülaltoodud funktsiooni, on teil kogu postituses piltidel kohandatud andmenäidise atribuut, mille väärtus on tõene .

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