• Нигде не могу найти хак, как вставить код над самой первой картинкой в посту. Вроде бы должно быть решение. Код примерно вот такой:

    <?php if ($is_hd) { ?>

    <fieldset id=»»>
    <span>Choose:</span> <span><label for=»px1024″><input id=»px1024″ type=»radio» name=»bwidth» value=»1024″ checked=»checked» /> 1024px</label></span>

    <span><label for=»px1280″><input id=»px1280″ type=»radio» name=»bwidth» value=»1280″ /> 1280px</label></span>
    </fieldset>

    <?php } ?>

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Надо файл шаблона изменить. 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;

    Спасибо, попробую

Просмотр 4 ответов — с 1 по 4 (всего 4)

Тема «Как вставить код над 1-й картинкой в посту» закрыта для новых ответов.