В этом посте я рассказываю, как сделать динамическую архивную страницу. "Динамическая" значит, что при выборе месяца, категории результаты будут показываться на той же странице, при помощи AJAX — технологии Javascript.
Эта статья поможет вам понять как использовать AJAX на основе jQuery в WordPress.
- Предыдущие по меткам
- Предыдущие записи
Ранее: Юзабилити
- Самые Хлебные крошки (breabcrumbs для WordPress) ← 19.Апр.2011 // 99
- Кнопка "Наверх" с плавным прокручиванием ← 3.Мар.2011 // 107
- Автоматическое растягивание поля (textarea) комментария (версия 2) ← 18.Июл.2010 // 24
- Самые Хлебные крошки (breabcrumbs для WordPress) ← 19 Апрель 2011 // 99
- Плагин для подсчета количества загрузок файла – Kama’s Click Counter ← 28 Март 2011 // 48
- Нумерация комментариев в WordPress ← 12 Март 2011 // 44
Статья кайф!
А можно вывод данных сделать не в виде простого списка, а в виде таблички? Аналогичной той в которой выводятся эти же записи в админке WP?
Там симпатичная и удобная табличка. Есть функции сортировки, быстрого редактирования основных полей и. т. д.
Спасибо!
Такое сделать конечно можно, но придется не слабо повозиться. Я такое делать не буду.
Супер, очень содержательно и понятно, многим пригодится!
Статья хорошая, но есть несколько замечаний.
1) Не добавляйте теги скрипт без использования wp_enqueue_script. Если какой-нибудь из плагинов использует jQuery, то эта библиотека будет загружаться дважды, причем разных версий.
Заменить jQuery из дистрибутива WP на Google CDN можно следующим образом.
function my_init_method() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js'); wp_enqueue_script( 'jquery' ); } add_action('init', 'my_init_method');2) Для отправки ajax-запросов в новых версиях WP предусмотрен специальный хук (action) - http://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)
Спасибо за дополнения!
wp_ajax_(action) удобен тем, что при его использовании, нет необходимости создавать отдельный файл-обработчик. Обработка запроса вешается на функцию указанную в этом Хуке? Я правильно понял?
Попробовал реализовать на wp_ajax_(action) — не получилось. Долго ломал голову в чем ошибка и пришел к выводу, что этот хук срабатывает в файле /wp-admin/admin-ajax.php, который не подгружается для лицевой части сайта, т.е. wp_ajax_(action) предназначен для использования его при дополнении админ-панели, в частности для плагинов.
wp_ajax_(action) удобен тем, что при отправке ajax запроса вы указываете не url вашего скрипта, а /wp-admin/admin-ajax.php и в качестве параметра - название функции, которую нужно вызвать (функция может находится в отдельном файле, а может и в основном файле плагина, не важно).
Дело в том, что начиная с версии 2.6 WP позволяет изменять размещение папки wp-content, т.е. url вашего скрипта зависит от настроек блога. И вам придется просчитывать его URL, при использовании wp_ajax_(action) этой проблемы нет.
Забыл добавить. Вам не нужно подгружать /wp-admin/admin-ajax.php. Ваш ajax запрос должен быть отправлен напрямую этому скрипту.
Спасибо, всё прекрасно работает. Опять же очень радует, что всё обходится без плагинов
Вот только один вопрос - есть ли возможность скрыть определенные рубрики? У меня например есть несколько категорий "для себя", так сказать, где я храню личные записи и черновики. Их конечно публично видно не будет, поэтому и не вижу смысла в поиске выводить пустые рубрики. Но это так.. мысли вслух. Если простым изменением кода нельзя реализовать - ничего страшного 
Скрыть рубрики естественно можно и очень просто, читайте описание функции wp_dropdown_categories() (на русском, описано мной), именно этой функций выводятся рубрики. Вам нужно указать для нее аргумент exclude, в котором указать ID рубрик для исключения.
Вопрос к автору: нельзя ли рассмотреть тему реализации постраничной навигации на jQuery (Ajax)?
Пожалуй нет. Если немного разобраться, то ответ в этом посте. Принцип точно такой же, нюансы будут всегда разные, в зависимости от верстки шаблона.
И всё же тема очень актуальная, прошерстил множество сайтов, конкретной информации не нашел, только общие слова. А хотелось бы чтобы всё было разложено по полочкам и с примерами, т.е. так как вы подходите к делу. Попробуйте, русскоязычное сообщество пользователей wordpress будет очень благодарно.
Действительно. Просто бесценной была бы качественная информативная статья о создании таблицы с ajax сортировкой и постраничной разбивкой. Просим-просим
Здравствуйте, не в первый раз обращаюсь к вашему блогу, чтобы почерпнуть что-то новое. Но с этим кодом возникла проблема, надеюсь на вашу помощь. Сделал всё, как описано - работает) Только вместо слов "комм.", "Месяцы", "Рубрики" выводятся ромбики со знаком вопроса. Нигде больше кодировка у меня на блоге не гарушена и раньше таких проблем не было.
Ну вот, частично решил проблему заменив надписи картинками. Но это, конечно, не выход.
И возник ещё вопрос: как можно добавить ещё один список - с тегами. Список то я добавлю, но как его с обработчиком связать не знаю.
Столкнулся с проблемой: при выборе месяца выводит все записи на блоге. при выборе же рубрики - выводит все записи из этой рубрики (опять же игнорирует если выбран месяц.
Друг, скажи почему у меня сразу пропадают ссылки. Отображаются и исчезают, даже нажать не успеваю