Warum ändert WordPress Bild-URLs automatisch? (Tracking-Pixel aus RSS)

Können Sie die Hooks oder Filter erklären, die WordPress beim Speichern eines Posts anwendet, die eine absolute URL entfernen und zu einer relativen URL machen?

Hintergrund

Meine Website verbraucht einen RSS-Feed, den ich bezahle, der am Ende jedes Posts ein Tracking-Pixel enthält. Das Tracking-Pixel befindet sich in einem IMG-Tag mit einer Reihe von Parametern – etwa so:

Das Tracking-Pixel ändert sich für jedes Element im RSS-Feed (nach ‘param1’ im Beispiel), sodass ich das Pixel nicht einfach selbst hinzufügen kann – ich muss das im Content des Feeds verwenden. Das Problem ist, dass WordPress das Tracking-Pixel durch eine relative URL wie folgt ersetzt:

/uploads/2012/02/trackingPixel.gif

Die geänderte URL macht das Tracking-Pixel unbrauchbar.

Ich habe jetzt stundenlang nach einem Workaround gesucht – ich habe die Standardfilter überprüft, Standardfilter entfernt, die globale Variable $ allowedtags geändert, die function wp_strip_all_tags auskommentiert, das Thema durchgelesen, den RSS-Reader usw.

Solutions Collecting From Web of "Warum ändert WordPress Bild-URLs automatisch? (Tracking-Pixel aus RSS)"

In Bezug auf den HTML-Editor, wenn Sie einen anderen Pfad verwenden möchten, ohne alle functionen / Hooks, die ich unten auflisten werde, sollten Sie die URL UPLOAD FROM-URL und nicht den UPLOAD FROM COMPUTER verwenden , der die ursprüngliche URL behält.

Ich bin mir nicht sicher über das Tracking-Pixel, wie Sie es im RSS (Format) oder anderen Variablen in Ihrem System bekommen, aber die function, die die Bilder an den Editor sendet, ist eine function namens image_send_to_editor ();

Mit der nächsten function wird also die URL geändert, die an den EDITOR gesendet wird .

 add_filter('image_send_to_editor', 'change_image_url', 20, 8); $original_URL = 'your_url/not_sure_how/'; // this part you have to pass the original URL.. function change_image_url($html, $id, $caption, $title, $align, $url, $size, $alt) { $url = $original_URL ; return $url; } 

Für die Verwendung außerhalb des Editors kann der Upload-Pfad auf viele Arten abgefangen werden, je nachdem, was Sie wirklich tun müssen (wie gesagt, ich weiß nicht, wie Sie die RSS erhalten, aber beginnen Sie mit der Überprüfung und Verbindung dieser functionen:

 update_attached_file( $attachment_id, $file ) 

Was Sie hier haken würden, ist der $ datei-Teil, der ursprünglich ist:

 $file = _wp_relative_upload_path($file); 

Wie Sie sehen können, ruft es eine weitere function mit $ path-Parameter auf, die Sie haken können, nämlich:

  _wp_relative_upload_path( $path ) 

Diese function ändert den $ Pfad des Bildes relativ zum Upload Verzeichnis.

Die function update_attached_file(); aktualisiert auch das versteckte Feld _wp_attached_file mit:

 update_post_meta( $attachment_id, '_wp_attached_file', $file ); 

Dies ist eine weitere Möglichkeit, den Pfad zu steuern. Sie können dieses custom_field an Ihre Bedürfnisse anpassen. Es ist eigentlich der einfachste Weg IMHO …