WordPress.org

Make WordPress Core

Ticket #16696: 16696.2.diff

File 16696.2.diff, 3.5 KB (added by solarissmoke, 4 years ago)
  • wp-admin/includes/meta-boxes.php

     
    652652 * 
    653653 * @param object $link 
    654654 */ 
    655 function link_categories_meta_box($link) { ?> 
     655function link_categories_meta_box($link) { 
     656        $link_id = isset( $link->link_id ) ? $link->link_id : 0; 
     657        ?> 
    656658<ul id="category-tabs" class="category-tabs"> 
    657659        <li class="tabs"><a href="#categories-all"><?php _e( 'All Categories' ); ?></a></li> 
    658660        <li class="hide-if-no-js"><a href="#categories-pop"><?php _e( 'Most Used' ); ?></a></li> 
     
    660662 
    661663<div id="categories-all" class="tabs-panel"> 
    662664        <ul id="categorychecklist" class="list:category categorychecklist form-no-clear"> 
    663                 <?php 
    664                 if ( isset($link->link_id) ) 
    665                         wp_link_category_checklist($link->link_id); 
    666                 else 
    667                         wp_link_category_checklist(); 
    668                 ?> 
     665                <?php wp_link_category_checklist( $link_id ); ?> 
    669666        </ul> 
    670667</div> 
    671668 
    672669<div id="categories-pop" class="tabs-panel" style="display: none;"> 
    673670        <ul id="categorychecklist-pop" class="categorychecklist form-no-clear"> 
    674                 <?php wp_popular_terms_checklist('link_category'); ?> 
     671                <?php wp_link_category_checklist( $link_id, true ); ?> 
    675672        </ul> 
    676673</div> 
    677674 
  • wp-admin/includes/template.php

     
    190190} 
    191191 
    192192/** 
    193  * {@internal Missing Short Description}} 
     193 * Display a checklist of link categories 
    194194 * 
    195195 * @since 2.5.1 
    196196 * 
    197  * @param unknown_type $link_id 
     197 * @param int $link_id optional The ID of the link for which to display categories  
     198 * @param bool $popular optional Whether to show the most popular categories If set to false,  
     199 * then all categories will be shown  
     200 * @param int $number optional If showing popular categories, the number of popular categories to show.  
    198201 */ 
    199 function wp_link_category_checklist( $link_id = 0 ) { 
     202function wp_link_category_checklist( $link_id = 0, $popular = false, $number = 10 ) { 
    200203        $default = 1; 
    201204 
    202205        if ( $link_id ) { 
     
    208211                $checked_categories[] = $default; 
    209212        } 
    210213 
    211         $categories = get_terms( 'link_category', array( 'orderby' => 'name', 'hide_empty' => 0 ) ); 
     214        if( $popular ) 
     215                $categories = get_terms( 'link_category', array( 'orderby' => 'count', 'order' => 'desc', 'number' => $number, 'hide_empty' => 0 ) ); 
     216        else 
     217                $categories = get_terms( 'link_category', array( 'orderby' => 'name', 'hide_empty' => 0 ) );  
    212218 
    213219        if ( empty( $categories ) ) 
    214220                return; 
     
    217223                $cat_id = $category->term_id; 
    218224                $name = esc_html( apply_filters( 'the_category', $category->name ) ); 
    219225                $checked = in_array( $cat_id, $checked_categories ) ? ' checked="checked"' : ''; 
    220                 echo '<li id="link-category-', $cat_id, '"><label for="in-link-category-', $cat_id, '" class="selectit"><input value="', $cat_id, '" type="checkbox" name="link_category[]" id="in-link-category-', $cat_id, '"', $checked, '/> ', $name, "</label></li>"; 
     226                 
     227                if( $popular ) 
     228                        echo "<li class='popular-category' id='popular-link-category-$cat_id'><label for='in-popular-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' id='in-popular-category-$cat_id' $checked /> $name </label></li>";  
     229                else 
     230                        echo "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' name='link_category[]' id='in-link-category-$cat_id' $checked /> $name </label></li>";  
    221231        } 
    222232} 
    223233