使用PHP

时间:2017-08-10 09:00:03

标签: php wordpress image post thumbnails

是否可以修改当前帖子的图片附件的网址,以便浏览器在img标签中接收带有已修改网址的html?

我不想更新图片附件属性。

我正在寻找与帖子内容相同的灵活性,因为它可以读入,修改然后返回帖子的内容。

我知道wp_get_attachment_image_src()the_post_thumbnail_url()是获取附件网址的方法。但我无法找到任何方法来返回当前帖子的修改后的网址。

一种可能性是use output buffering to catch the final HTML,使用ob_start()

但是有没有更有针对性的方法来解析图像后附件?

1 个答案:

答案 0 :(得分:1)

我使用输出缓冲回答了我自己的问题。注意我正在使用Genesis主题,因此可以访问其他钩子,例如genesis_after_content,它位于循环之后和页脚之前,因此已经准备好了完整的html内容。这样就可以访问精选图片网址(不可能来自get_the_content)以及来自精选页面/帖子小部件等的任何/所有图片网址......无论您在渲染内容中看到什么内容。

<?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;
}