В общем Всякое

Плагин Wp-Print и произвольные поля

Не так давно выполнял заказ на сайт, делал на WordPress. Одним из условий было наличие версии для печати. Для реализации этой задачи я выбрал плагин Wp-Print — поставил, настроил, но столкнулся с проблемой — плагин отображал адекватно тексты, картинки, ссылки, но полностью игнорировал произвольные поля. Как вариант решил вписать переменные произвольных полей с условиями прямо в тело плагина — топорная работа, но работает 🙂 На первое время сгодится. Если посетит душевный порыв, попытаюсь автоматизировать процесс, привести функцию к нормальному виду.

Итак, для того, чтобы при отображении версии для печати отображались произвольные поля, нужно в файле wp-print.php добавить свои переменные после

у меня это 265-я строка

лично у меня это выглядит вот так:

 

В итоге выглядит это вот так: http://steellace.biz/kacheli-detskie-kch-02/print/ (внутренний артикул, материал, цена)
пишите отзывы, вопросы, если надо что-то уточнить или е стьсоображения по поводу того, как сделать тоже самое покрасивее 🙂

5 Responses

  1. Спасибо за помощь! Но пока результатов я не добился 🙂 Мой код вроде бы тако же:

    if($display) {
    echo $content;
    $p_city = get_post_meta($post->ID, ‘Город/Курорт’, true); if($p_city !== ») { //проверяем, есть ли поле, если есть — выводим
    echo ‘Город/Курорт: ‘.$p_city.’‘; }
    } else {
    return $content;
    }
    }
    Тут начинается строчка ### Function: Print Categories

    Выдает ошибку в 3 строчке.

    И еще вопрос — как выводть несколько переменных, как у вас в примере на сайте.
    И еще их нужно вывести перед контентом=)

    1. По поводу ошибки это визуальный редактор виноват 🙂 $post->ID должно быть. (обратите внимание на угловую скобку)
      Несколько полей:
      if($display) {

      echo $content;
      //пошли поля — три штуки:
      $p_city = get_post_meta($post->ID, ‘Город/Курорт’, true); if($p_city !== ”) { //проверяем, есть ли поле, если есть – выводим
      echo ‘Город/Курорт: ‘.$p_city.’
      ‘; }

      $p_city2 = get_post_meta($post->ID, ‘Город/Курорт’, true); if($p_city2 !== ”) {
      echo ‘Город/Курорт: ‘.$p_city2.’
      ‘; }

      $p_city3 = get_post_meta($post->ID, ‘Город/Курорт’, true); if($p_city3 !== ”) { /
      echo ‘Город/Курорт: ‘.$p_city3.’
      ‘; }
      // закончились поля

      } else {
      return $content;

      У меня так, отображаются один над другим.
      По поводу того, чтобы перед контентом.. попробуйте поля прописать перед echo $content;

  2. подскажи пожалуйста, как указать где вывести произвольное поле?
    вывести произв. поля, получилось, но выводит в конце самого поста
    в файле print-posts.php прописал код что выводит и в single.php, но не помогло

    п.с. за пост спасибо, помог

    1. Не понял, где именно выводит в конце поста? В версии для печати или в обычной версии? Можно пример?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *