n-wp.ru — блог о WordPress

Метки/теги в произвольных полях

Здравствуйте. Требуется, чтоб значение, вводимое в произвольное поле автоматически становилось меткой/тегом или чтоб определённому произвольному полю именно в данном посте соответствовали определённые метки и они были выведены в посте, как значения произвольного поля, т.е., например, так:

ИмяПроизПоля1: метка, метка, метка
ИмяПроизПоля2: метка

Или такое лучше сделать с помощью таксономии (register_taxonomy)? Выводить тогда получается в произвольное поле нужное мне значение в виде ссылки; но если метка/тег автоматом создаёт страницу, если по ней кликнуть, со всеми постами, где эта метка присвоена, то в случае с «таксонометкой» такая страница автоматом не создаётся.

9 комментариев

  • Извиняюсь за нубство) разобрался сам. Элементарно в записи задаю нужную мне метку, а в значение нужного мне произвольного поля впихиваю HTML-код с ссылкой на страницу этой метки. (Пример: делаю к записи метку «red», а в произвольное поле «Цвет» заношу код 2012 )

    Всё оказалось очень просто. Всем спасибо.

  • Посмотрите плагин Ultimate Taxonomy Manager. Сам я не проверял, но разработчик пишет, что можно управлять любыми таксономиями с помощью произвольных полей.

    Так же есть такой метод: автоматическое создание меток из значений определенного произвольного поля.

    Определите произвольное поле, в котором вы будете через запятую вводить метки:

    Конвертация значения произвольного поля в метки (текст вводится через запятую:

    Добавление меток при сохранении поста:

    Весь код вставляется в functions.php.

    Так же я встречал и другие методы с подобной идеей — конвертацией значения произвольного поля в метки:
    WordPress: how to automatically convert custom fields to post tags
    Add meta tags to WordPress with custom fields

  • по описанному вами методу «автоматическое создание меток из значений определенного произвольного поля» получилось: метки из произвольного поля создаются чётко как одиночные, так и списком через запятую. Но в посте в произвольных полях значения метками (т.е. ссылками) не стали, а по-прежнему выводятся, как обычный текст. Дело в выводе произвольных полей? сейчас у меня так:

    • Так а зачем вы выводите содержимое произвольного поля? Выводите метки или делайте произвольные поля ссылками на страницы меток (../tag/значение).

  • В знании функций PHP полный ноль, только на логике выезжаю иногда. Я понимаю, что $pole1 в echo — это вывод содержимого произвольного поля. Мне нужно, чтобы созданные метки по содержимому именно этого произвольного поля тут выводились, а метки по второму полю выводились соответственно рядом со вторым полем… Т.е. мне не нужно выводить ВСЕ метки поста в куче, а нужно распределить их, как задано произвольными полями. Если такое возможно — с кодом плз… как я понимаю, должен быть цикл какой-то, потому что меток в одном произвольном поле может быть несколько?

  • делайте произвольные поля ссылками на страницы меток (../tag/значение).

    — это можно, но при большом кол-ве меток и постов это тяжело постоянно делать, вот я и думал, что возможно немного автоматизировать это путём функций. Половина дела сделана — метки из содержимого поля создаются, осталось их в таком же порядке и раздельности по полям выводить)