Плагин 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
Спасибо за помощь! Но пока результатов я не добился
Мой код вроде бы тако же:
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 строчке.
И еще вопрос — как выводть несколько переменных, как у вас в примере на сайте.
И еще их нужно вывести перед контентом=)
По поводу ошибки это визуальный редактор виноват
$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;
Хороший пост! Все грамотно