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

Kuidas eemaldada püsilinkidest erimärke

6

Kui töötate WordPressi ja kolmanda osapoole API-dega, on alati võimalus, et puutute kokku probleemidega, mille korral kolmanda osapoole API ei ole valmis käsitlema teatud püsilingis olevaid märke.

Olenevalt püsilingi seadetest võib see probleem olla või mitte. Näiteks võite iga postituse jaoks määrata oma püsilingid väärtusele ?p=123 . Sellisel juhul pole see eriti probleem.

Kuid kui kasutate "ilusaid püsilinke" ja teie püsilink sisaldab midagi kaubamärgi sümbolit või autoriõiguse sümbolit, võib see põhjustada probleeme, kui suhtlete kolmanda osapoole API-ga.

Esiteks, kui kasutate päris püsivaid linke, luuakse need üldiselt postituse pealkirjast. Nii et kui kasutate midagi sellist, nagu All About The Acme Machine™, loob see püsiva lingi, mis sisaldab midagi sellist.

Näiteks võite lasta WordPressil automaatselt genereerida midagi sellist: https://acme.com/all-about-the-acme®-machine/

Ja kui on aeg saata see teave kolmanda osapoole API-le (või proovida seda töödelda, kasutades midagi, mis pole selliste märkide jaoks ette valmistatud), siis tekib probleeme.

Õnneks pakub WordPress konksu, mis võimaldab meil töödelda püsilinke enne, kui need andmebaasi järjestatakse. Nimelt on see wp_insert_post_data konks.

Ja sel juhul töötab see järgmiselt:

  1. Seadistage konks tulistama serialiseerimisprotsessi hilises etapis,
  2. Otsige tegelasi, kes võivad olla problemaatilised,
  3. Asenda need tühja stringiga,
  4. Tagastage värskendatud teave WordPressile serialiseerimiseks.

Siin on näide, mis eemaldab mitmesugused sümbolid, nagu autoriõiguse sümbolid, kaubamärgisümbolid, registreerimissümbolid ja muud nende variandid nii kodeeritud vormingus kui ka kodeeritud ekvivalentides:

Pange tähele, et funktsioon aktsepteerib postituse andmeid argumendina, kontrollib, et te ei töötaks mustandi, ooteloleva artikli või automaatse mustandiga, ja eemaldab seejärel postituse nime sisu

See võib olla nüansirikas probleem. See tähendab, et võib-olla ei kohta te seda oma arendustegevuses. Kui te aga seda teete, pakub see lahendust, mis mitte ainult ei võimalda teil teatud tähemärke URL-ist eemaldada, vaid võimaldab teil seda teha ka skaleeritavas vormingus.

Kui teie vajadused muutuvad, saate lihtsalt värskendada kõnet preg_replace tähemärkidega, mille peate oma URL-ist eemaldama.

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