2017-08-10 1 views
0

Ist es möglich, die URLs der Bild Anhänge für den aktuellen Post zu ändern, so dass der Browser HTML mit geänderten URLs in den Tags img erhält?Dynamisch ändern Wordpress Postanlage img URLs mit PHP

Ich möchte die Bildanhangsattribute nicht aktualisieren.

Ich bin auf der Suche nach der gleichen Flexibilität wie für den Post-Inhalt, da es möglich ist, zu lesen, zu ändern und dann den_content eines Beitrags zurückzugeben.

Ich bin bekannt, wp_get_attachment_image_src() und the_post_thumbnail_url() als Mittel zum Abrufen der Anlage URL. Ich kann jedoch keine Möglichkeit finden, eine geänderte URL für den aktuellen Beitrag zurückzugeben.

Eine Möglichkeit ist, zu use output buffering to catch the final HTML, mit ob_start() etc

Aber gibt es einige gezielteren Verfahren zum Parsen von Attachments Post Bild?

Antwort

1

Ich habe meine eigene Frage mit Output-Pufferung beantwortet. Hinweis: Ich verwende ein Genesis-Thema, also habe ich Zugriff auf zusätzliche Hooks wie genesis_after_content, das hinter der Schleife und vor der Fußzeile steht, daher ist der vollständige HTML-Inhalt bereits vorbereitet. Dies ermöglicht den Zugriff auf die vorgestellten Bild-URLs (nicht möglich über get_the_content) sowie alle/alle Bild-URLs von ausgewählten Seiten-/Post-Widgets usw., was immer Sie im gerenderten Inhalt sehen.

<?php 
//at start of php script set output buffering 
ob_start(); 
session_start(); 

//script does stuff 

if (isset($_SESSION['some_variable_is_set'])) { 
    add_action('genesis_after_content', 'my_replace_image_urls'); 
    //used genesis_after_content hook as full html content is now prepared 
} 

function my_replace_image_urls() { 
    $full_content = ob_get_clean(); 
    //modify $full_content as needed 
    echo $full_content; 
}