Первым разделом своего блога я решил сделать страницу с описанием своих работ, по другому — портфолио. Вооружившись поисковиками я нашел три решения задачи:
- Использование готовой темы портфолио для всего блога;
- Использование плагина портфолио;
- Самостоятельная ручная верстка постов с описанием работ.
Просмотрев наборы бесплатных тем (шаблонов) для WordPress (еще здесь и здесь) заточенные под публикацию описания своих работ, стало понятно, что при использовании темы меняется весь дизайн блога, а это для меня подходит. Если для кого то блог только портфолио — лучшего решения, чем использование готового бесплатного шаблона не найти. Русифицированных шаблонов достойных внимания я не нашел, так что следует помнить, что после установки темы вам придется заняться переводом, а для кого то и изменением дизайна. Детально изучать преимущества тех или иных шаблонов я не стал и перешел к другим решениям.
Поиск плагинов дал следующие результаты:
Далее изложу результаты ознакомления с каждым из списка.
WordPress Portfolio Plugin (WP Portfolio)
Исходя из описания, плагин служит для организации портфолио интернет сайтов в виде одной страницы на блоге с функцией автоматической генерации превьюшки (скриншота сайта) Пример можно увидеть на странице автора данного плагина.
Установив плагин я первым делом добавил несколько сайтов через пункт «Add new Website» а так же создал новую запись которая содержала лишь следующий код:
1 |
<!-- ShowMyPortfolio --> |
(добавлять код в запись нужно в режиме редактирования HTML). Созданная запись отображала портфолио так же как и у автора, за исключением скриншотов — они не генерировались автоматически. Повторное прочтение инструкций по установке подсказало, что автоматическая генерация превьюшек проектов осуществляется сторонним интернет-сервисом www.shrinktheweb.com на котором нужно завести аккаунт и получить STW Access Key ID” и «STW Secret Key» бесплатно. Полученные ключи ввести в соответствующие поля раздела «WP Portfolio — General Settings». Так же нужно установить права «777» на директорию /wp-content/plugins/wp-portfolio/cache/.
После этого превьюшки заработали спустя 3—5 минут.
В ходе настройки плагина выявлены следующие минусы:
- Невозможна сортировка добавляемых сайтов кроме как по алфавиту.
- Добавляемый сайт должен быть опубликован в сети, только тогда он получит автоматическую превьюшку. Вручную добавить скриншот нельзя.
- Главная страница сайта должна иметь адрес вида «site-domen.com» а не «site-domen.com/mysite». Это означает что при генерации скриншота сайта не воспринимаются подразделы сайта, а только главная (индексная) страница домена.
Резюме. Плагин WP Portfolio заточен только для потфолио сайтов и при этом не требует навыков программирования. Настройки внешнего вида минимальные. В ряде случаев добавить скриншот сайта в список портфолио невозможно.
Blogger Portfolio
Blogger Portfolio так же позволяет организовать страницу-портфолио с примерами работ-сайтов.
Инструкция по установке представлена на сайте myWordpress.ru.
Меню управления плагином находится в панели «Инструменты». Перед началом использования нужно установить права «777» на папку /plugins/bPortfolio/imgs/ и права «754» для файла /plugins/bPortfolio/bPortfolio.php иначе при добавлении элемента портфолио загрузить скриншот не удастся. Плагин установлен и работает. Далее для вывода портфолио в блоге нужно вставить куски кода php в определенные места текущего шаблона. Этот код вызывает функцию отображения портфолио.
1 |
<?php if (is_page(47)) { if (function_exists('bPortfolio')) { bPortfolio(); } } ?> |
,где 47- id вашей страницы. Это значение можно узнать если в административной панели в режиме редактирования страницы в которой по вашему должно отображаться портфолио посмотреть на адресную строку. В моем случае окончание строки выглядело так:
wp-admin/page.php?action=edit&post=8&message=5&revision=16
Следовательно id моей страницы =8. Дальше уже сложнее. Нужно определиться с тем, в какой php файл нужно вставить эту строчку. Если вы создали статическую страницу то нужно редактировать файл page.php, если Запись (post) соответственно файл single.php. Подробнее об этом написано здесь.
В моем случае я редактировал page.php, куда я поместил код видно ниже (последняя строка).
1 2 3 |
<div class="entrybody"> <?php the_content('Read the rest of this entry »'); ?> <?php if (is_page(8)) { if (function_exists('bPortfolio')) { bPortfolio(); } } ?> |
Плагин заработал и отображал мои проекты на статической странице блога.
Резюме. Возможность гибкой настройки Blogger Portfolio требует начальных знаний php. После установки вероятней всего захочется поменять дизайн по умолчанию, но без ковыряния в коде этого опять таки не сделать. Плагин не имеет какого либо интерфейса настоек. Плагин не прост в установке, за отсутствием настроек — прост в использовании.
JH Portfolio
К этому плагину я пришел в последнюю очередь после поиска в англоязычном интернете. Согласно описанию на странице разработчика, функционал плагина следующий:
- Управление элементами портфолио в панели администратора блога;
- Каждый элемент может содержать: название проекта, основное изображение и несколько дополнительных, принадлежность к группе (сайты, логотипы и т. д.), основное описание, ссылка на проект и т. д.;
- Плагин имеет элементы на Ajax;
- Удобная навигация по элементам портфолио;
- При всем создан с учетом принципов поисковой оптимизации.
- Добавлю от себя. Отличительная особенность плагина — реализация виджетов, позволяющих методом drug-n-drop выводить контент на главную страницу блога.
Текстовые инструкции по эксплуатации представлены на wordpress.org, но полное и наглядное представление о функционале плагина дает видео инструкция от разработчика. Можно начинать с просмотра видео, все просто и доступно.
Резюме. Плагин JH Portfolio многофунционален, сложностей в установке не вызвал, дает более широкие возможности настройки по с равнению с рассмотренными. Плагин работает и так как нужно. Минусов пока не обнаружено. Ссылка на мою версию плагина в конце статьи. Must have.
В своем блоге решено было использовать JH Portfolio, до ручной работы над страницей портфолио дело не дошло. Ведь для этого и существуют плагины!
P.S. Замечен маленький недочет. При использовании плагина Google XML Sitemaps в карту сайта попадает только первая страница Portfolio.
Проблема вероятно кроется в том что указанный плагин берет информацию о страницах и постах из таблиц WordPress и пропускает записи о проектах портфолио. Плагин JH Portfolio хранит информацию о проектах в таблице #_posts
как и все стандартные посты, но в ячейке post_type
ставит значение [jh-portfolio], а не [post] или [page].
Поисковые роботы все равно индексируют разделы с проектами, но пока страницы моего портфолио в индекс не попали (прошло 3 недели). Вероятно нужно руками добавлять эти разделы для полного индекса портфолио. Лично сам не собираюсь исправлять этот баг, не считаю что примеры работ должны участвовать в поиске.
Если плагин Google XML Sitemaps не добавляет страницы с портфолио в Sitemap нужно это сделать руками на странице плагина (раздел “Параметры”).
UPD выкладываю доработанный плагин JH-Portfolio для WordPress (версия 0.8, проверено на движке 2.8).
Мои улучшения плагина:
- Улучшено качество сжатия для генерации preview;
- Изменено расширение изображений на jpeg;
- Улучшен Ajax модуль навигации дополнительных изображений.
В планах – русификация плагина.
У меня после активации плагина появляются следующие предупреждения. И созданные записи не отображаются на сайте, хотя в админ панели пишет , что данные сохранены:
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of trim(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.functions.php on line 8
Notice: Undefined index: cwp_submitted_cwp_manage_add-new in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 421
Notice: Undefined index: cwp_submitted_cwp_taxonomy_page_tags in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 500
Notice: Undefined index: cwp_submitted_cwp_taxonomy_page_categories in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 500
….. и т.д.
Помогите пожалуйста.
Извините не указала плагин: jh-portfolio.
2 Kate
Решение описанной проблемы PHP Warning: Call-time pass-by-reference has been deprecated излагает Alex Delphine.
Думаю для вас подойдет любой вариант т.к. вы используете эмулятор веб-сервера для Windows.
Если подобная проблема возникает на хостинге у провайдера чаще всего доступен только способ с файлом .htaccess
Спасибо большое, Вы мне очень помогли, с передачей по ссылке все стало понятно. Но уведомления от этого не исчезли:
Notice: Undefined index: page in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 45
Notice: Undefined index: page in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 45
Notice: Undefined index: page in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 45
Notice: Undefined index: page in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 45
Notice: Undefined index: page in D:localhostwpwp-contentpluginsjh-portfoliohelpercwp-frameworkcwp.classes.php on line 745
….
Понятно, что в тех же настройках php.ini я могу подавить их вывод на экран, но при создании новой записи, эта запись заносится толко в таблицу wp_posts. При этом не срабатывает добавление новой категрии (список существующих тоже не формируется), кнопка типа “Добавить главное изображение” тоже не срабатывает. Запись просто заносится в таблицу wp_posts, но я не могу ее просмотреть в самом блоге – ошибка: “Ссылка не работает”.
ХМ…. у себя я не нашел этой папки вообще
pluginsjh-portfoliohelper
дайте информацию о версии плагина, который вы установили.
У меня версия 0.8
/*
Plugin Name: JH Portfolio
Plugin URI: http://github.com/joehoyle/JH-Portfolio
Description: Web/Print Portfolio plugin
Author: Joe Hoyle
Version: 0.9.5
Author URI: http://www.joehoyle.co.uk/
*/
Скачала недавно с wordpress.org
поставлю себе, протестирую, потом дам ответ
Изменила структуру отображения permalink с default на numeric. А какая у вас структура Permalink установлена? Теперь пост стал просматриваться в блоге, если кликнуть на ссылку View из админки, но непонятно в какой он категории сохраняется: на странице поста в блоге пишет, что он находится в Uncategorized, но при переходе в эту категорию, поста там нет. Остальные функции: выбор/добавление категории, добавление изображения не работатют из админки как и раньше.
Permalink y меня “произвольный”. Транслитерация названия статьи.
Это же видно в URL http://dserg.ru/sozdanie-portfolio-na-wordpress-obzor-plaginovportfolio-na-wordpress/
Вы создали статическую страницу portfolio? без нее работать не будет
При добавлении/редактировании элемента потфолио можно создать раздел, относящийся только к портфолио, а не остальным записям блога.
Содержимое портфолио показывается только через статическую страницу с именем portfolio, в разделах записей не увидите.
Значит я указала в настройках плагина:
Portfolio URL: portfolio
Single URL: %category% – вот это я не совсем понимаю. Имя категории будет отображаться в URL при просмотре одиночной записи портфолио? И это и есть та самая категория, которую я указываю при создании портфолио?
Portfolio TitlePortfolio Title: Portfolio
Add Link to Portfolio in menu: птичкой отметила, но тож не понимаю, что это значит .
Use JH Portfolio CSS Styles: отметила, использую стили по умолчанию, потому что пока отдельных шаблонов нет.
Use JH Portfolio Javascript тож отметила птичкой.
В результате список из записей портфолио стал отображаться на странице Portfolio. Но до меня и не дошло как все-таки изображение вставить, кнопки не работают ни в TinyMCE, ни в самом плагине.
При добавлении/редактировании элемента потфолио можно создать раздел, относящийся только к портфолио, а не остальным записям блога.
Так, а как это раздел просмотреть на блоге, как это вообще должно выглядеть? Вот указала я имя категории при создании одной записи портфолио, а как дальше?
P.S. Спасибо огромное за Вашу отзывчивость!!!
Single URL: %category% Это настройка вида постоянной ссылки для конкретного элемента меню, добавляет название категории в url.
Add Link to Portfolio in menu – Добавить ссылку на портфолио из меню блога. (скорее всего меню статических страниц)
Portfolio TitlePortfolio Title: Portfolio – Как называть раздел Портфолио (Напр. по русски “Портфолио”)
Категории создаваемые в меню этого плагина – действуют только для группировки элементов портфолио. Управлять категориями можно в разделе админки “jh-portfolio -> Categories”. Ищите в левом меню Админки.
Добавляются картинки следующим образом:
В Админке создаем запись портфолио, переходим к пункту “Main Image” или “Additional Image”, жмем на значке “Загрузить/вставить”, выбираем изображение и в конце ищем кнопочки:
Use as Portfolio Entry Main Image – использовать как главное изображение элемента;
Use as Portfolio Entry Additional Image – использовать как дополнительное изображение элемента.
Я не настолько плоха, чтоб не догадаться , просто в пунктах «Main Image» и “Gallery”(в моей версии) кнопки “Add Main Image” и “Add Gallery Image” не работают. Поэтому и возник вопрос.
Так я правильно поняла, что увидеть группировку элементов портфолио по категориям можно только в URL одиночной записи портфолио(если отметить это в настройках)?
И еще по шаблонам: на главной странице в области меню сттических страниц отображается варнинг:
“Notice: Undefined property: WP_Query::$is_portfolio in D:localhostwpwp-contentpluginsjh-portfoliojhp.functions.php on line 108
“.
“Notice: Undefined property: WP_Query::$is_portfolio_single in D:localhostwpwp-contentpluginsjh-portfoliojhp.functions.php on line 113″.
Возможно потому, что в базе не создается запись c post_type = page и post_title = portfolio. У меня плавится мозг. Может лучше поставить 8 версию, как у Вас?
Спасибо за ответ.
Я установил движок версии 2.9.2 (RUS) и плагин Версия 0.9.5.
Все работает.
По поводу варнингов советов дать не могу, не настолько силен в PHP.
Попробуйте просто сменить шаблон, проверьте совместимость шаблона и версии движка (такое бывает).
Отдельно настраивается вид URL (добавлять или нет название категории) и отдельно в навигации по элементам портфолио. При создании/редактировании элементов можно выбрать/добавить категории для вашего элемента (ищите виджет с заголовком Category).
В моей базе элементы портфолио заносятся в таблицу *_posts (в туже куда и другие страницы, записи), только в значении post_type вижу “jh-portfolio”
Почему у вас не работают кнопки добавления изображений в портфолио, я не знаю. Повторюсь у меня на хостинге заработало почти сразу (Добавил права 777 на папку wp-contentuploads).
И еще найдите пункт меню “Внешний вид”->”Виджеты”. В модули Portfolio Home, Portfolio Single накидайте (Drug-n-drop) элементы навигации, заголовков и прочее. Так вы настроите внешний вид первой страницы портфолио и страниц элементов. По умолчанию они пустые, отображаться элементы в портфолио не будут.
Спасибо огромное за помощь. Тема здесь не причем оказалась. Буду разбираться. Последний вопрос: а какой версии php у Вас установлен?
У меня тоже так, но я мела ввиду саму страницу с названием Portfolio – она по идее должна храниться в той же таблице но с post_type = page. Хотя в коде я не проверяла это.
Не стоит благодарности, рад помочь.
PHP 5.2.9
В других плагинах обязательно нужно создать статическую страницу с именем Portfolio и руками вставить дополнительный код.
В своей таблице *_posts я увидел Статическую страницу portfolo [post_type = page, post_status=publish]
Это все что нужно для создания раздела Портфолио в версии 0.8.
Подозреваю что в новой версии плагина (0.9.5) создавать статическую страницу не нужно. В тестовом варианте у меня ее нет и все работает.