oEmbed Plugin | eigene Provider definieren
<iframe height="300" style="width: 100%;" scrolling="no" title="GSAP - Animation Triad Demo: Timing, Motion, Meaning" src="https://codepen.io/editor/ZcarecroW/embed/019da77a-6995-7501-9af8-4866e69b7f1c?default-tab=html%2Cresult" frameborder="no" loading="lazy" allowtransparency="true">
See the Pen <a href="https://codepen.io/editor/ZcarecroW/pen/019da77a-6995-7501-9af8-4866e69b7f1c">
GSAP - Animation Triad Demo: Timing, Motion, Meaning</a> by ZcarecroW (<a href="https://codepen.io/ZcarecroW">@ZcarecroW</a>)
on <a href="https://codepen.io">CodePen</a>.
</iframe>
oEmbed
CodePen Konfigurationals füroEmbed-Provider CodePen
hinzufügen
BasierendCodePen aufunterstützt deroffiziell Dateidas codepen.txt,oEmbed-Protokoll. Du kannst es direkt über den Tab "Eigene Provider" in deinem Plugin hinzufügen.
Über die einen CodePen-Embed enthält, hier die Konfiguration für dein WordPress-Plugin:
Einzutragende Werte:Admin-Oberfläche
URL-Pattern:
Gehe
https://codepen.io/*/pen/*zu Einstellungen #https?://codepen\.io/([^/]+)/pen/([^/]+)#i
Endpoint-URL:
https://codepen.io/api/oembed
Erklärung:
| Feld | Wert |
|---|
https://codepen.io/*/pen/*
https://codepen.io/api/oembed
Das Problem mit deiner URL
Deine aktuelle URL hat das Format:
https://codepen.io/editor/ZcarecroW/embed/019da77a-6995-7501-9af8-4866e69b7f1c
Das ist eine Editor/Embed-URL, keine Standard-Pen-URL. oEmbed von CodePen funktioniert nur mit dem kanonischen Pen-Format. Du musst also in deinem WordPress-Beitrag diese URL einfügen:
https://codepen.io/ZcarecroW/pen/019da77a-6995-7501-9af8-4866e69b7f1c
Dann erkennt WordPress die URL automatisch und holt über den oEmbed-Endpoint die Einbettung.
Erweiterte Variante: Auch Editor-URLs imunterstützen
Falls du auch die /-URLs und username/editor//embed/-URLs automatisch auflösen möchtest, brauchst du einen zweiten Provider-Eintrag mit Regex. Da das URL-Pattern https://codepen.io/*/pen/ nur die Standard-Pen-URLs matcht, kannst du zusätzlich einen Regex-Provider anlegen:pen-id*
#https?://codepen\.io/.+/(pen|embed|full)/.*#i
Endpoint-URL
https://codepen.io/api/oembed
Allerdings ist der sauberste Weg einfach die kanonische Pen-URL zu verwenden.
Beispiel aus deiner Datei:Testen
DieDu kannst prüfen, ob der oEmbed-Endpoint funktioniert, indem du folgende URL inim deinemBrowser codepen.txt zeigt:
ZcarecroW019da77a-6995-7501-9af8-4866e69b7f1cEine typische einbettbare URL wäre:aufrufst:
https://codepen.io/api/oembed?url=https://codepen.io/ZcarecroW/pen/019da77a-6995-7501-9af8-4866e69b7f1c&format=json
Das sollte eine JSON-Antwort mit dem Embed-HTML zurückliefern.
Hinweis:Hinweis zum Provider-Matching
CodePenIn verwendetdeiner manchmalfilter_providers-Methode auchwerden andereProvider URL-Formateüber wie:stripos gematcht. Eigene Provider, die über register_custom_providers mit wp_oembed_add_provider registriert werden, sind davon nicht betroffen – sie werden direkt in WordPress registriert und funktionieren unabhängig vom Deaktivierungs-Filter.
https://codepen.io/*/full/*https://codepen.io/*/details/*Falls du diese auch unterstützen willst, könntest du mehrere Patterns anlegen oder ein breiteres Pattern verwenden:
https://codepen.io/*/*/*