Надо файл шаблона изменить. single.php — если для отдельного поста, index.php или шаблон соответствующей категории, если для полного поста. А там при помощи функции get_the_content() получить контент поста, найти первую картинку и вставить необходимый код.
Да, нужно изменить single.php, но напрямую вставить код над 1-й картинкой не получится, т.к. над картинкой еще пара абзацев текста идет. Для примера:
http://dl.dropbox.com/u/24525697/10.jpg
В интернете есть хак под названием «Получение первой картинки с поста в WordPress», так специальный код вставляется в functions.php, наверное здесь что-то подобное надо сделать.
Если вы об этом: http://begenote.ru/wordpress/8/, то здесь код делает именно то, что я говорил. Они предлагают внести этот код в functions.php, чтоб потом можно было вызвать эту функцию из любого файла, а так ничего страшного нету. Можно вставить функцию и прямо в single.php, если больше нигде не предполагается её использование. Только в вашем случае код функции чуть-чуть изменить нужно.
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('!<img.+?>!i', $post->post_content, $matches);
$first_img = $matches [1] [0];
// Если изображение отсутствует, то выводим изображение по умолчанию (указать путь к изображению)
if(empty($first_img)){
$first_img = "";
}
return $first_img;
}
После того, как вытащили, делаете примерно так, по идее должно сработать:
$first_image = catch_that_image();
$cont = post->post_content;
// Как-то вычисляете своё $is_hd
if ($is_hd) {
$code = "<some_code>"; // в эту переменную записываете ваш код.
$image_with_code = $code.$first_image;
$cont = preg_replace("!$first_image!", $image_with_code, $cont); // добавление кода произведено
}
$cont = apply_filters('the_content', $cont); // это чтобы все плагины, которые что-то делают с контентом постов, сработали
echo $cont;