Редирект с рубрик на статьи
До недавнего времени каждая статья на одном из моих сайтов добавлялась в две рубрики – тематическую и "номер" (журнала). В результате "журнальных" рубрик развелось очень много (уже больше 500) и разбираться в них стало трудновато (не говоря уже о быстродействии админки при работе с этим списком).
Поскольку нужды в этих рубриках больше нет, а старую структуру "номеров" сохранить хочется, я решил создать отдельную рубрику, в которой каждый пост будет "номером".
Фактически каждая старая рубрика вида XX-200X (номер-год) будет заменена соответствующей записью.
Но есть одна проблема. Сейчас на номера ведут ссылки рубрик такого вида (используются ЧПУ):
[quote]site.ru/02-2009
(сайт/рубрика)[/quote]
В новой же структуре ссылки будут иметь вид:
[quote]site.ru/archive/02-2009.html
(сайт/рубрика-архив/пост.html)[/quote]
Поскольку ссылок старого образца очень много (на сайта и внешних), хотелось бы организовать автоматический редирект. А вот как это сделать – пока придумать не могут. Конечно, можно тупо создать в корне хоста кучу папок с .htaccess, но это изврат. Подозреваю, что можно как-то автоматизировать это дело. Скажем, как-то редиректить из шаблон-файла 404.php, если для адреса несуществующей страницы известна замена (массив замен готов набить руками – это меньшее из зол). Но вот как конкретно это сделать – придумать не могу (опыта работы с PHP маловато). Может кто-нибудь из знатоков даст дельный совет? 🙂
Рубрики в админке по группам
Где-то здесь на форуме уже обсуждали тему упрощения навигации по большим спискам рубрик за счёт организации дерева (сворачивания родительских рубрик).
Мне лично такой вариант не очень подходит – каждая статья на сайте добавляется в 2-3 рубрики (за счёт этого производится упорядочивание статей по номерам журнала и тематическим рубрикам). А поскольку общий список рубрик содержит уже почти 1000 записей, искать нужные стало очень неудобно.
Недавно соорудил на скору руку небольшой костыль для облегчения сего процесса.
В файле wp-admin/edit-form-advanced.php немного изменил функцию function post_categories_meta_box($post):
После фрагмента
<div id="categories-all" class="ui-tabs-panel">
<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
<?php wp_category_checklist($post->ID, false, false, $popular_ids) ?>
</ul>
</div>
Добавил:
<div id="categories-all" class="ui-tabs-panel">
<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
<?php wp_category_checklist(0,23) ?>
</ul>
</div>
где 23 – это ID категории, подкатегории которой нужно вывести отдельным списком.
Работать стало удобнее, но выглядит всё это дело не очень аккуратно.
Ещё можно заменить на строчку <?php wp_category_checklist(0,23) ?> вот эту запись (чуть выше в том же файле ):
<?php $popular_ids = wp_popular_terms_checklist('category'); ?>
Тогда нужный вам список рубрик будет выводиться вместо "Популярных рубрик".
Может кому пригодится 🙂 В идеале всё это можно оформить в виде какого-нибудь плагина, но я в РHP не силён, так что…
Сообщения уходят в черновики
После обновления блога с версии 2.0.9 до 2.2 все сообщения стали уходить в черновики. Причём при нажатии кнопки "Опубликовать" админка рапортует, что сообщение успешно сохранено и даже предлагает прочитать его (как обычно). При переходе по предлагаемой админке ссылки сообщение отображается нормально (хотя ссылка составлена не так, как указано в настройках ЧПУ). Но на главной странице собщение не появляется. А при повторном входе в админку сообщение оказывается в "черновиках".
Пробовал отключать все плагины, менял стиль на стандартный – никакого эффекта.
В добавок в сайдбаре стало появаляться такое сообщение об ошибке (до обновления всё работало нормально):
Warning: Illegal offset type in /megabyte-web.ru/blogs/wp-includes/cache.php on line 125
Кто-нибудь сталкивался с такой проблемой? Что делать?
Проблема с WP-PostRatings
Установил плагин WP-PostRatings, всё настроил, голосование работает. Но когда вывожу ссылки на самые популярные статьи на главную страницу, возникает проблема – в ссылке появляется лишняя косая черта…
Глянуть можно здесь: http://www.blogs.megabyte-web.ru/
Версия WordPress – 2.0.7, русская сборка (спасибо MAX’у 🙂 ). На 2.0.3 была такая же история. Постоянные ссылки на записи создаются по такому шаблону:
/%year%/%monthnum%/%day%/%author%/%postname%/
и работают нормально.