Intereting Posts
Получить постоянную ссылку на сообщение в сетевом блоге Действительная информация о подключении отключается ссылку на текущую категорию, используемую на странице category.php Можно ли получить URL-адрес графического образа (полноразмерного) с изображения меньшего размера? Устранение неполадок с плагином установки Plugins.php HTTP и HTTPS для одного подключаемого модуля Добавление пользовательской таксономии в WordPress по умолчанию Тип сообщения Как создать короткий код ACF с полем Repeater в WordPress? Способность «promotion_users» позволяет кому-то создать новую учетную запись администратора? Как создать пользовательскую таксономию для CPT, находящуюся между заголовками и редакторами? Как работать на промежуточном веб-сайте без потери изменений БД? Переписать пользовательские сообщения типа rss Добавление и удаление скрытых кнопок из редактора виджета WordPress Tinymce с использованием javascript API Отображать функцию пользовательских сообщений ТОЛЬКО, если она имеет значение Сделал URL-адрес и URL-адрес сайта WordPress одинаковым Глупая проблема, связанная с идентификатором сообщения

Скопировать таксономию?

Я довольно новичок в WordPress, и я хочу, чтобы это было так:

Создайте таксономию (курсы), которая работает точно так же, как и POST, но с той разницей : мне нужно, чтобы некоторые поля были добавлены для курса (например, стоимость курса, возрастная группа, какой день недели проходит курс и т. Д.). Я предполагаю, что могу просто добавить пользовательские поля в POST-таксономию, но я хочу отделить «обычные сообщения» с «курсами».

У меня много опыта в PHP-программировании, но WordPress для меня новый. Я понимаю концепцию таксономий и крючков и понимаю, как WP работает с темами, дочерними темами, плагинами и т. Д.

Я установил плагин под названием «Простая таксономия» по адресу https://github.com/herewithme/simple-taxonomy и я создал таксономию «Курсы». Дело в том, что я хочу связать курс с категорией. Когда я выбираю иерархическое значение true для этого конкретного плагина, тогда он является только иерархическим в своей собственной таксономии, но я хочу, чтобы курс имел тот же тип отношения, что и посттаксономия.

Я прочитал это Как связать категории с пользовательскими правилами таксономии? который похож, но я хочу иметь возможность выбрать одну или несколько категорий для этих категорий (точно так же, как вы могли бы выбрать категории для посттаксономии)

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

Является ли это возможным? Или мне придется добавлять поля в пост-таксономию?

Я просто понимаю, что есть нечто вроде Custom post types http://codex.wordpress.org/Post_Types . Это путь для решения этой проблемы?

Solutions Collecting From Web of "Скопировать таксономию?"

Да, вам не нужна специальная таксономия, но пользовательский тип сообщения для курсов и, вероятно, пользовательская таксономия для категорий курсов.

В типах сообщений WordPress используются контейнеры для определенного типа информации: каждый тип информации является типом сообщения.

Например, Posts – это тип, а Pages – другой тип. Каждый тип сообщения (контейнер) содержит некоторые сведения: автор, заголовок, дата, сводка (выдержка) … Если вам нужны другие пользовательские данные (например, по возрасту ), вы можете использовать настраиваемые почтовые поля .

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

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

Для создания CPT или пользовательских таксономий вам не нужны плагины: в файле functions.php темы или в плагине вы можете использовать register_post_type и register_taxonomy для создания CPT и таксономии соответственно.

И CPT, и hierachical таксономия имеют вариант hierachical .

Если для CPT задано значение true он создает тип сообщения типа стандартных страниц, где сообщение может иметь родительский объект, а в противном случае при установке на false он создает сообщение типа стандартного типа сообщения, в котором сообщения не могут иметь родителя. Пользовательский интерфейс, созданный для иерархического и неиерархического типа сообщений, очень похож.

Иерархическая пользовательская таксономия очень похожа на категории, а не иерархическая – будет похожа на тег post. Пользовательский интерфейс, созданный WordPress для иерархических и неиерархических таксономий, отличается: на экране редактирования сообщений вы можете выбрать иерархические термины таксономии, используя флажки, а не иерархические выбираются с использованием текстового поля с функцией автоматического предложения.

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

 function courses_with_cats() { $course_labels = array( 'name' => 'Courses', 'singular_name' => 'Course', 'add_new' => 'Add New', 'add_new_item' => 'Add New Course', 'edit_item' => 'Edit Course', 'new_item' => 'New Course', 'all_items' => 'All Courses', 'view_item' => 'View Course', 'search_items' => 'Search Courses', 'not_found' => 'No Course found', 'not_found_in_trash' => 'No Courses found in Trash', 'parent_item_colon' => '', 'menu_name' => 'Courses' ); $course_args = array( 'labels' => $course_labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'course' ), 'capability_type' => 'post', 'has_archive' => 'courses', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','author','thumbnail','excerpt', 'comments') ); $course_cat_labels = array( 'name' => 'Courses Category', 'singular_name' => 'Course Category', 'search_items' => 'Search Category', 'all_items' => 'All Categories', 'parent_item' => 'Parent Category', 'parent_item_colon' => 'Parent Category:', 'edit_item' => 'Edit Category', 'update_item' => 'Update Category', 'add_new_item' => 'Add New Category', 'new_item_name' => 'New Category Name', 'menu_name' => 'Courses Category', ); $course_cat_args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array('slug' => 'courses/category'), ); register_post_type( 'course', $course_args ); register_taxonomy( 'courses-cat', array('course'), $course_cat_args ); } add_action( 'init', 'courses_with_cats' ); 

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

Используя эту стандартную настройку, URL-адрес для архивов курсов выглядит примерно так: http://example.com/courses/ . Использование http://example.com/courses/category/a-category показано в архиве всех курсов, относящихся к категории с slug «a-category» (возможно, название категории «A Категория» ).

Посмотрите в Codex для аргументов, которые вы можете использовать для register_post_type и register_taxonomy .

Для register_post_type обратите внимание, что supports изменение аргумента, что показано на экране после редактирования.