Making WordPress.org

Changeset 4620


Ignore:
Timestamp:
01/10/2017 08:33:47 AM (7 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.