Title: Sort order
Last modified: August 30, 2016

---

# Sort order

 *  [awelsh](https://wordpress.org/support/users/awelsh/)
 * (@awelsh)
 * [10 years, 9 months ago](https://wordpress.org/support/topic/sort-order-22/)
 * Great plugin. But I need to sort the order of some of custom post types. Can 
   you add a sort order. I’ve checked your source code and made the necessary changes,
   but obviously when you update this will wipe my changes. Here is what I did to
   get it functioning:
 * Added the following to line 425
 *     ```
       // get sort order
       $order = (isset($atts['order']) ? sanitize_text_field($atts['order']) : null);
       ```
   
 * Added $order to each of your function calls. For example:
 * `wsp_return_content_type_cpt_items( $is_title_displayed, $display_nofollow, $
   cpt, $only_cpt, $wsp_exclude_pages, $sort, $order );`
 * Added $order to each of the return_content_type function parameters. For example:
 * `function wsp_return_content_type_cpt_items( $is_title_displayed=true, $display_nofollow
   =false, $cpt, $post_type, $wsp_exclude_pages, $sort=null, $order=null )`
 * Added the following to each of the return_content_type functions.
 *     ```
       // change the sort order
       if ($sort!==null) {
       	$args['orderby'] = $sort;
       }
       ```
   
 * Then when you write your shortcode, you just have to add order=”ASC” or order
   =”DESC”
 * These changes only took a few minutes to make and now I can sort my posts. Can
   you implement these changes?
 * Thanks,
    Adrian
 * [https://wordpress.org/plugins/wp-sitemap-page/](https://wordpress.org/plugins/wp-sitemap-page/)

Viewing 2 replies - 1 through 2 (of 2 total)

 *  [eddiebouncer](https://wordpress.org/support/users/eddiebouncer/)
 * (@eddiebouncer)
 * [10 years, 9 months ago](https://wordpress.org/support/topic/sort-order-22/#post-6355029)
 * Hi awelsh,
 * I’m looking to reverse the order of the alphabetical order (as it’s from Z to
   A, instead of A to Z with order = title…
 * On which lines did you add the $order to function calls and return_content_type
   function parameters? Or could you share your .php?
 * Cheers, Ed’
 *  Thread Starter [awelsh](https://wordpress.org/support/users/awelsh/)
 * (@awelsh)
 * [10 years, 9 months ago](https://wordpress.org/support/topic/sort-order-22/#post-6355037)
 * Hi Eddiebouncer,
 * I just did a search for where $sort was being used and added the extra $order
   argument.
 * You first need to get and store the shortcode attribute. I my case I called it
   order. The plugin author was already getting the sort attribute, so I copied 
   his code and configured it get the order attribute.
 * Look for the line where
 * `$sort = (isset($atts['sort']) ? sanitize_text_field($atts['sort']) : null);`
 * And then add the following after or before it
 * `$order = (isset($atts['order']) ? sanitize_text_field($atts['order']) : null);`
 * You then need to jump down 50 or so lines for the following (around line 470)
   and add the $order variable to function calls that also have $sort.
 *     ```
       // check if the attribute "only" is used
       	switch ($only_cpt) {
       		// display only PAGE
       		case 'page':
       			return wsp_return_content_type_page($is_title_displayed, $is_get_only_private, $display_nofollow, $wsp_exclude_pages, $sort, $order).$copyright_link;
       			break;
       		// display only POST
       		case 'post':
       			return wsp_return_content_type_post($is_title_displayed, $display_nofollow, $display_post_only_once, $wsp_exclude_pages, $sort, $order).$copyright_link;
       			break;
       		// display only ARCHIVE
       		case 'archive':
       			return wsp_return_content_type_archive($is_title_displayed, $display_nofollow).$copyright_link;
       			break;
       		// display only AUTHOR
       		case 'author':
       			return wsp_return_content_type_author($is_title_displayed, $display_nofollow, $sort, $order).$copyright_link;
       			break;
       		// display only CATEGORY
       		case 'category':
       			return wsp_return_content_type_categories($is_title_displayed, $display_nofollow, $sort, $order).$copyright_link;
       			break;
       		// display only TAGS
       		case 'tag':
       			return wsp_return_content_type_tag($is_title_displayed, $display_nofollow).$copyright_link;
       			break;
       		// empty
       		case '':
       			// nothing but do
       			break;
       		default:
       			// check if it's the name of a CPT
   
       			// extract CPT object
       			$cpt = get_post_type_object( $only_cpt );
   
       			if ( !empty($cpt) ) {
       				return wsp_return_content_type_cpt_items( $is_title_displayed, $display_nofollow, $cpt, $only_cpt, $wsp_exclude_pages, $sort, $order );
       			}
   
       			// check if it's a taxonomy
       			$taxonomy_obj = get_taxonomy( $only_cpt );
   
       			if ( !empty($taxonomy_obj) ) {
       				return wsp_return_content_type_taxonomy_items($is_title_displayed, $display_nofollow, $taxonomy_obj, $wsp_exclude_pages);
       			}
       			// end
       	}
       ```
   
 * Do a search for each of those functions and add the $order variable to their 
   argument list. For example, around line 900 you can find the custom post type
   function.
 * `function wsp_return_content_type_cpt_items( $is_title_displayed=true, $display_nofollow
   =false, $cpt, $post_type, $wsp_exclude_pages, $sort=null, $order=null )`
 * Inside each of those functions you need to add the following before the call 
   to $posts_cpt = get_posts( $args ) is made.
 *     ```
       // change the sort order
       if ($order!=null){
       	$args['order'] = $order;
       }
       ```
   
 * That should be about all. If you know some PHP it shouldn’t be hard to implement.
   But hopefully the plugin will be able to implement this kind of feature.
 * Regards
    Adrian

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Sort order’ is closed to new replies.

 * ![](https://ps.w.org/wp-sitemap-page/assets/icon-256x256.png?rev=981368)
 * [WP Sitemap Page](https://wordpress.org/plugins/wp-sitemap-page/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wp-sitemap-page/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wp-sitemap-page/)
 * [Active Topics](https://wordpress.org/support/plugin/wp-sitemap-page/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wp-sitemap-page/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wp-sitemap-page/reviews/)

 * 2 replies
 * 2 participants
 * Last reply from: [awelsh](https://wordpress.org/support/users/awelsh/)
 * Last activity: [10 years, 9 months ago](https://wordpress.org/support/topic/sort-order-22/#post-6355037)
 * Status: not resolved