! Эта статья устарела, смотрите новую версю плагина Ads WordPress 3.x
Плагин позволяет писать сообщения в блог пользователям без регистрации.
Можно сделать из блога или его части доску объявлений.
Также его можно использовать для упрощенной публикации новостей, ведь для многих пользователей редактор WordPress, несмотря на его отличную юзобилити, оказывается очень сложен. Ещё один важный момент это то, что мы можем жестко задать шаблон публикации, например потребовать вводить email, почтовый адрес, телефон ну т.д. Сразу обращаю ваше внимание, что сообщения через этот плагин публикуются как записи WordPress и в дальнейшем их можно обрабатывать в своих шаблонах как вам захочется.
После прочтения этой инструкции не забываем читаем часть 3
Давайте сразу условимся те сообщения, которые мы публикуем через этот плагин, будем называть объявлениями, а те что пишем как обычно через админ часть — записями.
Возможности плагина:
Имя пользователя заменять анонимного пользователя на пользователя: если мы хотим, чтобы все анонимные объявление принадлежали какому-нибудь пользователю ну скажем пользователю anonymous или guest тогда регистрирующим этого пользователя в WordPress и записываем в этом поле его имя. Это может понадобиться в дальнейшем, если вы захотите найти все анонимные объявление достаточно перейти в раздел пользователи и далее выбрать сообщения нужного пользователя.
Что делать с сообщениями анонимного пользователя статус сообщения
- draft объявление сохраняется как черновик
- pending объявление поступает на модерацию
- publish сразу публикуется в блог
Если пользователь зарегистрирован в WordPress объявления будут подписаны его именем и соответственно к объявлению будут применены права и ограничения заданные в системе для его группы допуска.
Комментарии
- open комментарии открыты
- closed комментарии закрыты
- optional позволяет пользователю самому открыть закрыть комментарии
Авто разрыв, auto <!—more—> автоматически генерирует анонс сообщения
Интервал времени между сообщениями в часах устанавливает интервал времени через которое аноним может публиковать новое сообщение
Антибот картинка (capthca) привет спамерам
Кол-во загрузок без комментариев.
Максимальный размер в мегабайт не влияет на параметр установленный в php.ini, можно установить меньший размер
Разрешённые типы файлов (множественный выбор с нажатой Ctr) тут однако ещё есть недоработка не все расширения распознаются правильно
Сжимать большие фотографии сохраняя пропорции очень полезный параметр, если вам кто-то пытается залить гигантские фото они будут уменьшено до указанных размеров.
Добавлять номер объявления к заголовку без комментариев.
Для каждого сообщения генерируется пароль с помощью которого наш анонимус может отредактировать сообщение либо удалить его.
Теги для вывода формы
Формы ввода показываем с помощью тегов, например логично для этого было бы создать 2 страницы «Дать объявление» И «Редактировать Объявление».
страница Добавить Объявление
страница РедактироватьУдалить Объявление
Теперь немного о таксономии плагина.
Первое что должен сделать пользователь это выбрать категорию объявления, иерархия категорий задается обычным способом в админке Управление-> Рубрики. Каждое объявление должно быть привязано хотя бы к одной категории, так вот эта категория сохраняется как произвольное поле (Custom Fields) под именем «ads_basecat» — базовая категория. Эта переменная необходима для правильной работы плагина, она же является флагом на то, что это именно объявлением. Так что если вы будете редактировать объявление через админ часть WordPress и откроете чекбокс Произвольные поля удалять ее не надо, равно как и другие поля начинающиеся с префикса ads_ они все относятся к свойствам объявлений.
Кто-нибудь, что-нибудь понял? Тогда идем дальше…
С рубриками то есть с категориями лучше приведу пример.
Ну самый подходящий это сделать сайт Агентства Недвижимости.
например мы создали такую структуру категорий.
- 1 Покупка
- 2 Продажа
- 3 Законы
- 4 Вакансии
- 5 Элитные недвижимость
- 6 Объявления
тогда записываем в поле :
Родительская рубрика = 6
ну а если мы хотим отдать под объявления весь сайт, но исключить некоторые рубрики для ананимусов, например запретить писать в рубрики Законы,Вакансии
- 1 Покупка
- 2 Продажа
- 3 Законы
- 4 Вакансии
- 5 Элитные недвижимость
Исключить рубрики id через запятую 3,4
Ну теперь перейдем к более сложному.
Шаблоны плагина, скрытые настройки
Применить шаблоны постов если включит эту опцию то плагин будет показывать объявления применяя к ним шаблоны, то есть формат вывода и дизайн будет отличатся от обычных записей. Шаблон находится в папке плагина post_default_template.php это шаблон по умолчанию.
Есть возможность создать свои шаблоны и привязать их к конкретным рубрикам.
Это делается в файле config.php
// шаблоны для отображения постов
$ads_config['post_templates']['default'] = '/post_default_template.php';// по умолчанию
$ads_config['post_templates']['Автомашины'] = '/post_auto_template.php';
$ads_config['post_templates']['Недвижимость'] = '/post_rent_template.php';
Аналогично можно задавать шаблоны формы ввода объявления там же
// шаблоны формы ввода для различных категорий
$ads_config['form_templates']['Недвижимость'] = '/ads_rent_form.php';
$ads_config['form_templates']['Автомашины'] = '/ads_auto_form.php';
$ads_config['form_templates']['default'] = '/form_default_template.php'; // по умолчанию
С помощью этих шаблонов можно вводить и затем отображать произвольные поля.
Например вы решили добавить отдельное поле для ввода телефон, назовем эту переменную ads_phone ! префикс ads обязателен.
Открываем шаблон формы (form_default_template.php) редактируем вверху задается массив
$_SESSION[‘ads_filds_form’] = array(‘ads_location’ …
добавляем в этот массив нашу переменную array(‘ads_phone’,’ads_location’ … это защита от умников, чтобы не подсунули нам ненужные переменные в $_POST.
Ну и далее вставляем в нужном месте html код
<input name=»ads_phone» type=»text» size=»10″>
Плагин обработает форму отфильтрует переменные не указанные в $_SESSION[‘ads_filds_form’], а затем все переменные, что начинаются с префикса ads_ будут сохранены как Custom Fields.
Как работать с произвольными полями смотрите . Но у нас есть более простой вариант если включена опция Применить шаблоны постов, тот все поля будут автоматически доступны как переменные php в шаблонах объявлений. Короче говоря открываем post_default_template.php и добавляем в нужном месте вывод телефона <?=$ads_phone?>.
Чтобы проверить правильность ввода данных пользователем добавляем фильтр:add_filter(‘ads_check_fields’, ‘имя функции);, функция фильтра принимает ассоциативный массив данных $_POST и если обнаружена какая либо ошибка добавляем к массиву элемент $_POST[‘error’] = ‘Описание ошибки’;
и затем возвращаем его return $_POST; пример фильтра смотрите в ads_config.php
Опция «Применить шаблоны постов» поключает фильтр posts_results все мета поля и все атачменты добавляются в основную выборку двумя дополнительными SQL запсами дополнительной нагрузки практически не создается, зато теперь все данные будут у вас под рукой, чтобы увидеть, что где лежит в своем шаблоне в теле основного цикла распечатайте переменную $post:
echo ‘<pre>’; print_r( $post ); echo ‘</pre>’;
Скачать ads-wordpress
Проверен на версии 2.7, не пугайтесь размера архива там просто набор шрифтов для генерации капчи.
Изменения
16.10.2008
- Добавлен поиск по произвольным полям (Custom Fields), чтобы запустить такой поиск надо сформировать адрес url или post запрос, где добавить переменную с префиксом ads_ и ее значение ?ads_location=Одесса/Ильичевск ну вот и все
Пример сайтов где задействован плагин: ну вот и все. Таких переменных может быть много, все они будут задействованы в SQL запросе и объединятся условия будут через оператор AND. Подробнее как это делается смотрите в шаблоне объявлений post_default_template.php - Исправлена автоматическое добавление тега moore (отделение анонса объявления), теперь, если пользователь вставит одну длинную строку, разрыв будет вставлен после 300 символов, на первом пробеле.
- В шаблоне объявлений добавлена возможность добавлять метки WordPress
23.10.2008
- Добавлен фильтр данных формы ввода добавлять его можно стандартным методом WordPress add_filter(‘ads_check_fields’, ‘имя функции);, пример использования смотрите в файле ads_config.php
- изменено имя файла confi.php на ads_config.php
15.11.2008
- Исправлена загрузка и отображение картинок для WordPress версии 2.3
21.01.2009
- Исправление безопасности: исправлена потенциальная уязвимость в функции function ads_queryfilter($query) — конструктор SQL запроса который позволяет осуществлять поиск по произвольным полям объявлений.
16.02.2009
- Добавлена функция извещения автора если кто-то оставил комментарий к его объявлению, ну естественно если сам автор оставил email.
- Добавлена возможность указывать время жизни объявления, а также функция автоматического удаления просроченных объявлений.
- Подключен механизм кЭша WordPress в самых ресурсоемких местах : function ads_template_apply($post_content) и function ads_get_attachments($post_ID)
- Добавлен новый пользовательский фильтр add_filter(‘ads_check_files’, ‘ads_filter_files’); — фильтруем загруженные файлы
- Новый вариант капчи, теперь на картинке цыфры написаны словами один, два, три… Также поменял набор шрифтов на более читабельные. Теперь код распознается довольно легко.
- Кроме того в директории плагина есть альтернативный пример настроек плагина, чтобы он заработал надо заменить ads_config2.php на ads_config2.php, в этом варианте пользователь сразу переходит к форме заполнения, а выбор категорий осуществляется с помощью выпадающего списка, здесь же есть примеры использования фильтров
Доски Объявлений — примеры
Отдельное спасибо за помощь в тестировании автору этого ресурса
256 White Shades
список открыт присылайте примеры будем публиковать
Значит по поводу копирайта.
Дамы и господа пожалуйста уважайте чужую работу. На этот плагин потрачено много времени и сил, поэтому хотелось бы получить от него хоть какую то отдачу иначе вообще все теряет смысл.
Но поскольку многие жалуются на то что обратная ссылка портит дизайн, то я добавил возможность сделать ее невидимой для этого в файле style.css нужно добавить соответствующий стиль для элемента с id = ads_copyright_div
#ads_copyright_div{
display: none;
}
Таким образом визуально ссылку будет не видно но поисковые системы будут ее учитывать.
чтобы воспользоваться этим скачайте свежую версию плагина и замените файлы :
ads.php
ads_functions.php
FormPersister.php
SemiParser.php
ads_captcha.php
Убрать копирайт полностью для одного домена — $20
WP-2.8 После нажатия «ОПУБЛИКОВАТЬ» объявление публикуется без фотографии. Подскажите, что поправить..
Здравствуйте admin! Спасибо за классный плагин , вроде разобрался с установкой. У меня два вопроса: Как поменять капачу подходящую для не русскоязычных? И как убрать вывод публикуемых объявлений на главной странице блога? Как вставить оъявления на отдельную страницу разобрался вроде.
С уважением Дима!
wordpress Версия 2.9.1
Поставил плагин, добавляю:
Добавить объявление:
Ошибка: Введите текст объявления или заголовок!
— проблема уже подымалась, как вопрос решили?
Спасибо. (сори за повторный вопрос)
Добрый день! Добавляю файлы в формате .zip. Но в записях только ссылка на изображение без какой-либо картинки. Хотя в предварительном просмотре все как надо. Подскажите, пожалуйста, как решить такую проблему!!!
Всё сделал по инструкции, работает, спасибо автору!
спасибо за плагин, работает нормально.. а можно ли как нить шаблон для доски другой прилепить??
Плагин просто замечательный! Но есть маленька просьба а именно:
Как и где сменить стили?
К примеру как сменить стандартный вывод номера обьявления на такой стиль как на этом сайте, ну чтобы номер обьявления тоже был в рамочке или в облачке и второе:
как сменить стиль формы ввода обьявления чтобы «выберите категорию» было по центру и сменить цвет текста на подходящий по дизайну.