Making WordPress.org

Changeset 4620


Ignore:
Timestamp:
01/10/2017 08:33:47 AM (10 years ago)
Author:
dd32
Message:

Plugin Directory: Sort the Contributors & Developers field in the order that it appears in the readme.

As we're storing contributors in a taxonomy, this requires switching the taxonomy to a sorted taxonomy, and using a lower-level terms function, although one which still has caching.

Fixes #2363

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php

    r4603 r4620  
    202202                        'hierarchical'      => false,
    203203                        'query_var'         => 'plugin_contributor',
     204                        'sort'              => true,
    204205                        'rewrite'           => false,
    205206                        'labels'            => array(
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php

    r4565 r4620  
    133133
    134134                // Set categories if there aren't any yet. wp-admin takes precedent.
    135                 if ( ! wp_get_post_terms( $plugin->ID, 'plugin_category', array( 'fields' => 'ids' ) ) ) {
    136                         wp_set_post_terms( $plugin->ID, Tag_To_Category::map( $readme->tags ), 'plugin_category' );
     135                if ( ! wp_get_object_terms( $plugin->ID, 'plugin_category', array( 'fields' => 'ids' ) ) ) {
     136                        wp_set_object_terms( $plugin->ID, Tag_To_Category::map( $readme->tags ), 'plugin_category' );
    137137                }
    138138
    139139                // Set tags from the readme
    140                 wp_set_post_terms( $plugin->ID, $readme->tags, 'plugin_tags' );
     140                wp_set_object_terms( $plugin->ID, $readme->tags, 'plugin_tags' );
    141141
    142142                // Update the contributors list
    143                 wp_set_post_terms( $plugin->ID, $readme->contributors, 'plugin_contributors' );
     143                wp_set_object_terms( $plugin->ID, $readme->contributors, 'plugin_contributors' );
    144144
    145145                // Update the committers list
     
    147147
    148148                if ( in_array( 'adopt-me', $readme->tags ) ) {
    149                         wp_set_post_terms( $plugin->ID, array( 74 /* Term ID for adopt-me */ ), 'plugin_section' );
     149                        wp_set_object_terms( $plugin->ID, 'adopt-me', 'plugin_section' );
    150150                }
    151151
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-developers.php

    r4468 r4620  
    1818                $output = '';
    1919
    20                 if ( $contributors = get_the_terms( $post->ID, 'plugin_contributors' ) ) {
    21                         $contributors = wp_list_pluck( $contributors, 'name' );
    22                 } else {
     20                $contributors = get_terms( array(
     21                        'taxonomy' => 'plugin_contributors',
     22                        'object_ids' => array( $post->ID ),
     23                        'orderby' => 'term_order',
     24                        'fields' => 'names',
     25                ) );
     26
     27                if ( ! $contributors || is_wp_error( $contributors ) ) {
    2328                        $contributors = array();
    2429                        if ( $author = get_user_by( 'id', $post->post_author ) ) {
     
    2631                        }
    2732                }
    28                 sort( $contributors, SORT_NATURAL );
    2933
    3034                $output .= '<p>' . __( 'This is open source software. The following people have contributed to this plugin.', 'wporg-plugins' ) . '</p>';
Note: See TracChangeset for help on using the changeset viewer.