Николай Петроченко

Редирект с рубрик на статьи

До недавнего времени каждая статья на одном из моих сайтов добавлялась в две рубрики – тематическую и "номер" (журнала). В результате "журнальных" рубрик развелось очень много (уже больше 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%/

и работают нормально.

Anonymous
Отправить
Ответ на: