Пользовательские таксономии Wordpress - конвертация и фильтрация? - PullRequest
1 голос
/ 12 ноября 2010

Я столкнулся с двумя довольно серьезными ограничениями пользовательских таксономий WP.

У меня есть блог с сотнями постов. Я хотел бы задним числом ввести пользовательские типы сообщений и таксономии.

У меня есть очень сложная (и сложная в использовании) схема категоризации, которая должна упростить эту задачу, если бы я мог просто массово конвертировать посты в данной категории в пользовательские типы постов или в таксономию. (Это потому, что разные типы контента получают свои собственные категории [статьи, видео], как и разные типы таксономии [люди, места])

Я уже создал настраиваемые типы записей и таксономии, которые мне нужны, с помощью пользовательского интерфейса подключаемого модуля плагина.

Первый шаг, изменение типа сообщения для определенных сообщений, легко сделать с помощью плагина конвертирования типов сообщений. (Позволяет изменить тип сообщения в любой категории, что идеально соответствует моим потребностям.)

Второй шаг - преобразование определенных категорий в пользовательские таксономии (скажем, набор категорий о политиках в семейство пользовательских таксономий «политиков») оказывается чертовски невозможным. Похоже, что здесь нет категории для пользовательского конвертера таксономических конвертеров (как для пользовательского преобразования типов записей), несмотря на очевидную потребность в этом любого, кто хочет применить инновации CMSing в WP3.0 к уже существующему блогу. .

Итак, я попытался пройти по ручному маршруту. Если я вручную изменю поле «таксономия» различных терминов в таблице wp_term_taxonomy - скажем, от категории к политикам, пользовательская таксономия - все посты в этой (бывшей) категории отражают обновление. Если вы попытаетесь отредактировать сообщение, в пользовательских мета-полях таксономии отобразится правильный термин. (Я не пытался написать собственный цикл, чтобы увидеть, будут ли сообщения отображаться на сайте, поэтому я не знаю, работает ли это, но я предполагаю, что это работает.) Пока все хорошо. ИЛИ ТАК БЫ ВИДЕТЬ:

Первая проблема заключается в том, что если вы перейдете на страницу пользовательской таксономии (эквивалент страницы "категории" или "тегов записей" под публикациями), ни одно из терминов не появится в таблице на странице право. Если вы ПОИСКА для них, тем не менее, они появляются.

Вот что сказал мне опытный разработчик WP, когда я поднял этот вопрос:

«Я думаю, что проблема с обновлением БД вручную заключается в том, что кэш постов не изменяется (см. Update_post_caches ().) Мне нужно убедиться, что я делаю это, когда меняю и типы постов. «

К сожалению, я не совсем уверен, что это значит или что с этим делать.

Вторая проблема заключается в том, что создание собственной таксономии и ее привязка к сообщениям (или любому другому типу сообщений) не создает окно фильтра на странице просмотра сообщений, как это происходит для категорий. Это делает пользовательские таксономии практически непригодными, по крайней мере, в моем случае.

Итак, есть ли у кого-нибудь идеи о том, как преобразовать категории в пользовательские таксономии (или, по крайней мере, как заставить их отображаться в бэкэнде, если вы преобразуете их вручную) и как добавить фильтр таксономии на странице сообщений?

Спасибо!

Ответы [ 4 ]

2 голосов
/ 24 октября 2011

Пройдя некоторое время, пытаясь найти плагин для этого, я понял, что это можно легко сделать с помощью редактора массовой рассылки.

Я только что написал шаги, чтобы сделать это в разделе блога на Themespotter.com:

.

Как конвертировать теги записей в пользовательские таксономии в WordPress

1 голос
/ 10 марта 2011

Оформить заказ на этот измененный плагин для преобразования категорий / тегов http://core.trac.wordpress.org/ticket/16460, который включает в себя пользовательские таксономии.Он отлично работает для меня и экономит время.

0 голосов
/ 25 апреля 2013

Моим решением было перенести, перенести, преобразовать ... теги в несколько пользовательских таксономий.

После создания пользовательских таксономий запустите SQL-запрос, чтобы изменить значение внутри таблицы wp_term_taxonomy в столбце таксономии с "post_tag" на имя настраиваемого таксономического слага. Вы можете использовать шаблоны, чтобы выделить теги для каждой категории. Например, этот код переводит все «стандартные» теги с «min» внутри имени тега в пользовательскую таксономию «length»:

UPDATE wp_term_taxonomy SET taxonomy='length' WHERE term_taxonomy_id IN (SELECT term_id FROM wp_terms WHERE slug LIKE '%min')

Вы можете изменить «подстановочные знаки» в соответствии с this !

Обязательно сделайте резервную копию базы данных перед выполнением любого запроса SQL!

0 голосов
/ 14 ноября 2010

Существует также несколько открытых тем поддержки WordPress об этой проблеме:
http://wordpress.org/support/topic/convert-tags-to-taxonomy-tags

Это такая очевидная необходимость, я продолжаю думать, что должен упускать из виду что-то простое, но, видимо, я не одинок.

...