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

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

Итак, для того, чтобы при отображении версии для печати отображались произвольные поля, нужно в файле wp-print.php добавить свои переменные после
[cc lang="php"]
echo $content;
[/cc]
у меня это 265-я строка

лично у меня это выглядит вот так:
[cc lang="php"]
if($display) {
echo $content;
$p_art = get_post_meta($post->ID, ‘Артикул’, true); if($p_art !== ») { //проверяем, есть ли поле, если есть — выводим
echo ‘Внутренний артикул: ‘.$p_art.’‘; }
} else {
return $content;
}
[/cc]
В итоге выглядит это вот так: http://steellace.biz/kacheli-detskie-kch-02/print/ (внутренний артикул, материал, цена)
пишите отзывы, вопросы, если надо что-то уточнить илие сть соображения по поводу того, как сделать тоже самое покрасивее :)



Категория: Wordpress | Дата публикации: Среда, октября 6, 2010 в 8:34


3 комментария на “Плагин Wp-Print и произвольные поля”

  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 строчке.

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

    • Grey:

      По поводу ошибки это визуальный редактор виноват :) $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. seoblogo:

    Хороший пост! Все грамотно

Ответить

:-D :) :wink: :-P :oops: more »

Похожие статьи