single.php

include (TEMPLATEPATH . '/searchform.php');
if (have_posts()) : while (have_posts()) : the_post();
the_time('F j, Y'); август 15, 2010
the_author(); Yantar
the_category(', '); wordpress, для продолжающих
the_ratings();
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 18)
UTW_ShowTagsForCurrentPost("commalist"); Ключевые темы: No Tags
show_post_count(); Просмотров: 14888

the_content();

Продолжаем разговор :)
В свое время я начала вести этот блог, потому что только-только пыталась разобраться в движке WordPress (тогда еще версия 1.5 сменялась на 2.0), чтобы сделать один сайт, которым до сих пор, пожалуй, горжусь. С тех пор я сделала довольно много сайтов на вордпрессе, потом последовал некоторый перерыв, а теперь я вновь погрузилась в дебри этого движка, чтобы существенно обновить тот самый, первый сайт. И вновь возвращаюсь к своему блогу.
Итак, я отлично помню, как не хватало мне в тех старых версиях вордпресса того, что появилось в нем, начиная с версии 2.8 - кастомных таксономий (тогда еще простые тэги, и те реализовывались только через плагины). Приходилось справляться исключительно с помощью рубрик и подрубрик - и я даже проделала это весьма успешно, но мечта осталась, так что теперь вместо того, чтобы руководствоваться лозунгом "Работает? Не трогай", я решила все-таки попробовать с этими таксономиями повозиться.
Вместо того, чтобы подробно расписывать, что это за кастомные таксономии, я отправлю вас к отличной статье Соники на эту тему, где она вдобавок обозревает плагины, связанные с этим нововведением.
Сама же напишу, с какими сложностями пришлось столкнуться при внедрении этих самых custom taxonomies (а давайте, я буду их называть "группы тегов"?).
Во-первых, так как пришлось обновлять уже существующий сайт, понадобилось старые рубрики (не все) переделать в теги. Для этого подходит плагин Categories to Tags Converter Importer. К сожалению, он не сохраняет иерархию рубрик, а к тому же, если их очень много, то довольно тяжело отмечать все нужное чекбоксами - тут на помощь может прийти знание jQuery. Ну и в любом случае, плагин переделывает рубрики в простые тэги, а не в нужную нам группу, так что все равно приходится лезть в phpMyAdmin и исправлять все простым довольно запросом:

 
UPDATE `wp_term_taxonomy`
SET `taxonomy` = 'название таксономии'
WHERE `wp_term_taxonomy`.`taxonomy` ='post_tag';


Вторым шагом стала установка плагина Simple Taxonomies, который помогает зарегистрировать группы тегов и управлять ими. Тут надо быть внимательнее при регистрации этих групп: сначала вводить английское название группы (которое будет использоваться в URL'е), а ниже уже русское (обычно в WP наоборот).
Ну вот, теперь в админке уже все хорошо: при заведении или редактировании поста появилось новое поле с нашей кастомной таксономией. В блоге с первого взгляда тоже все неплохо: если мы при заведении новой группы не забыли поставить галочку возле пункта "Add terms to the end of posts", то эта группа отображается на странице поста и на главной.
Тут я нажимаю на один из тегов и... получаю ошибку 404. Эта проблема решается смешным способом: надо в админке в Настройках зайти на страницу Постоянных ссылок. Говорят, надо просто зайти, не обновлять ничего, оно само. Я на всякий случай обновила, и все заработало.
Кроме одного: мне необходимо чтобы кроме страницы тега из новой группы у меня работала еще и страница самой группы, где отображались бы все ее "дети". Копирую шаблон темы archive.php и называю его taxonomy.php - увы, не помогает. Пришлось сделать новый шаблон для страницы, куда добавился такой вот код:

 
<?php global $wp_taxonomies; ?>
<?php if ( is_array( $wp_taxonomies ) ) : ?>
<p class="taxonomy-cloud">
	<?php wp_tag_cloud( array( 'taxonomy' => 'название таксономии', 'number' => 0 ) ); ?>
	
 
<?php endif; ?>


Создаю страницу с этим шаблоном и с нужным мне URL'ом - и ура! Все, наконец, функционирует!

Еще ссылки по теме (англ.): 1, 2, 3, 4

Постовой:
Человеку с больным ребенком просто нужна ссылка, для меня мелочь, а ему приятно

Насколько этот текст оказался полезным?
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 18)
comments_template();

Комментарии (7) к записи «Кастомные таксономии в Wordpress 3.0.1 - как заставить их работать?»

  1. pirate Says:

    Спасиб! :)
    Как раз что то подобное искал…

    п.с. у вас в IE8 страницу расколбасило

  2. levati Says:

    С возвращением в блоггинг, Яна.
    По кастомам есть вопрос: чем лучше всего преобразовывать стандартные теги(метки)Wordpress? Simple Tag глючит при слиянии или переименовании меток, пишет, что удалил, а в базе всё как было так и есть…

  3. Yantar Says:

    Спасибо :)
    Если тегов не очень много, я бы преобразовывала через базу - там всего-то одно поле поправить. А Simple Tag - да, подглючивает иногда.

  4. Andrey Says:

    Спасибо за прекрасный материал!

  5. Вовка Says:

    Хренасе “перерывчик” :)

  6. Номад Кочующий Says:

    Очень рад что вы вернулись! В свое время в 2007 году своими постами вы мне очень помогли с моим блогом =) Спасибо! Пишите еще. Не пропадайте!

  7. Сергей Says:

    “надо в админке в Настройках зайти на страницу Постоянных ссылок.”
    Это конечно круто! Почти неделю сидел разбирался - не работала страница с выводом записей отдельного термина.
    Спасибо!

Есть комментарии?

show_manual_subscription_form();

Subscribe without commenting

endwhile;