Intereting Posts
Каков наилучший подход для показа сообщений в порядке A-> Z? Пользовательский тип сообщения не отображается в панировочных сухарях на странице архива Пользовательский тип почтового типа в месяц / месяц Добавление первого и последнего классов в три столбца в шаблоне Bones WordPress wp_editor для публикации и редактирования Как я могу загрузить библиотеку jquery в свой виджет панели инструментов? Почему инструменты Google для веб-мастеров говорят мне обновлять WordPress Вращающееся изображение не работает для пользовательских размеров изображений Мой сайт WordPress перенаправляется на порт 8082 создать пользователя WordPress в пользовательском типе публикации Как изменить всю панель администратора WordPress Look and Feel? Панель виджета не отображается в Настройке темы Как изменить высоту изображения заголовка в Twenty Seventeen? Установка WordPress через WP-CLI: не работает с скриптом bash? index.php не загружается для одиночных сообщений

Как добавить настраиваемое поле к пользовательской таксономии в 4.4

У меня есть обычная таксономия для городов, и я хотел бы иметь это доступное как настраиваемое поле, чтобы иметь доступ к нему с помощью приложения IOS Workflow. Учитывая изменения в 4.4, что мне делать, если я хочу, чтобы пользовательское поле для местоположения могло использоваться в приложении Workflow?

Я нашел эту страницу под названием «Добавление пользовательских мета-полей в таксономии»: https://pippinsplugins.com/adding-custom-meta-fields-to-taxonomies/, который отмечает:

В WordPress 4.4 в WordPress будет создана «таблица метаданных терминов», поэтому это уже не является необходимым или допустимым методом добавления метаданных клиента к условиям.

См. Здесь для получения дополнительной информации: https://make.wordpress.org/core/2015/09/04/taxonomy-term-metadata-proposal/

Моя обычная таксономия:

add_action( 'init', 'loc_taxonomy', 0 ); function loc_taxonomy() { $labels = array( 'name' => _x( 'Locations', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Location', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Locations', 'text_domain' ), 'all_items' => __( 'All Locations', 'text_domain' ), 'parent_item' => __( 'Parent Location', 'text_domain' ), 'parent_item_colon' => __( 'Parent Location:', 'text_domain' ), 'new_item_name' => __( 'New Location Name', 'text_domain' ), 'add_new_item' => __( 'Add New Location', 'text_domain' ), 'edit_item' => __( 'Edit Location', 'text_domain' ), 'update_item' => __( 'Update Location', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate locations with commas', 'text_domain' ), 'search_items' => __( 'Search locations', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove locations', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used locations', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, ); register_taxonomy( 'loc', array( 'post' ), $args ); } 

Вы можете реализовать это двумя способами, чтобы добавить мета-ящики через плагины или wordpress предопределенные крючки

https://wordpress.org/plugins/taxonomy-metadata/

  **OR** 

Добавьте следующий код в functions.php в свою тему

 function mj_taxonomy_add_custom_meta_field() { ?> <div class="form-field"> <label for="term_meta[class_term_meta]"><?php _e( 'Add Class', 'MJ' ); ?></label> <input type="text" name="term_meta[class_term_meta]" id="term_meta[class_term_meta]" value=""> <p class="description"><?php _e( 'Enter a value for this field','MJ' ); ?></p> </div> <?php } add_action( 'product_cat_add_form_fields', 'mj_taxonomy_add_custom_meta_field', 10, 2 ); function mj_taxonomy_edit_custom_meta_field($term) { $t_id = $term->term_id; $term_meta = get_option( "taxonomy_$t_id" ); ?> <tr class="form-field"> <th scope="row" valign="top"><label for="term_meta[class_term_meta]"><?php _e( 'Add Class', 'MJ' ); ?></label></th> <td> <input type="text" name="term_meta[class_term_meta]" id="term_meta[class_term_meta]" value="<?php echo esc_attr( $term_meta['class_term_meta'] ) ? esc_attr( $term_meta['class_term_meta'] ) : ''; ?>"> <p class="description"><?php _e( 'Enter a value for this field','MJ' ); ?></p> </td> </tr> <?php } add_action( 'product_cat_edit_form_fields','mj_taxonomy_edit_custom_meta_field', 10, 2 ); function mj_save_taxonomy_custom_meta_field( $term_id ) { if ( isset( $_POST['term_meta'] ) ) { $t_id = $term_id; $term_meta = get_option( "taxonomy_$t_id" ); $cat_keys = array_keys( $_POST['term_meta'] ); foreach ( $cat_keys as $key ) { if ( isset ( $_POST['term_meta'][$key] ) ) { $term_meta[$key] = $_POST['term_meta'][$key]; } } // Save the option array. update_option( "taxonomy_$t_id", $term_meta ); } } add_action( 'edited_product_cat', 'mj_save_taxonomy_custom_meta_field', 10, 2 ); add_action( 'create_product_cat', 'mj_save_taxonomy_custom_meta_field', 10, 2 ); 

Вы также можете прочитать полное объяснение на следующем сайте или загрузить собственный плагин

просмотреть подробный плагин здесь