{"id":324,"date":"2010-07-20T15:24:45","date_gmt":"2010-07-20T15:24:45","guid":{"rendered":"http:\/\/keithdevon.wpengine.com\/?p=324"},"modified":"2010-07-20T15:24:45","modified_gmt":"2010-07-20T15:24:45","slug":"sorting-wordpress-posts-using-surnames","status":"publish","type":"post","link":"https:\/\/keithdevon.com\/sorting-wordpress-posts-using-surnames\/","title":{"rendered":"Sorting WordPress Posts Using Surnames"},"content":{"rendered":"<p>A client recently requested that their &#8216;Members&#8217; page be sorted by surname and not first name. The lists were generated using the follwing code:<\/p>\n<pre style=\"padding-left: 30px;\">&lt;?php$cat_args = array(<\/pre>\n<pre style=\"padding-left: 30px;\">'sort_column' =&gt; 'post_title',<\/pre>\n<pre style=\"padding-left: 30px;\">'order' =&gt; 'ASC',<\/pre>\n<pre style=\"padding-left: 30px;\">'parent' =&gt; 12);<\/pre>\n<pre style=\"padding-left: 30px;\">$categories = \u00a0 get_categories($cat_args);<\/pre>\n<pre style=\"padding-left: 30px;\">foreach($categories as $category) {<\/pre>\n<pre style=\"padding-left: 30px;\">echo '&lt;ul id=\"member\"&gt;&lt;li&gt;&lt;h3&gt;' . $category-&gt;name.'&lt;\/h3&gt;&lt;\/li&gt;';<\/pre>\n<pre style=\"padding-left: 30px;\">$post_args = array(<\/pre>\n<pre style=\"padding-left: 30px;\">'numberposts' =&gt; 50,<\/pre>\n<pre style=\"padding-left: 30px;\"><span style=\"color: #ff0000;\">'orderby' =&gt; 'title'<\/span><span style=\"color: #ff0000;\">,<\/span><\/pre>\n<pre style=\"padding-left: 30px;\">'order' =&gt; 'ASC',<\/pre>\n<pre style=\"padding-left: 30px;\">'category' =&gt; $category-&gt;term_id\u00a0\u00a0 \u00a0);<\/pre>\n<pre style=\"padding-left: 30px;\">$posts = get_posts($post_args);<\/pre>\n<pre style=\"padding-left: 30px;\">foreach($posts as $post) {\t?&gt;<\/pre>\n<pre style=\"padding-left: 30px;\">&lt;li&gt;&lt;a href=\"&lt;?php the_permalink(); ?&gt;\"&gt;<\/pre>\n<pre style=\"padding-left: 30px;\">&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/li&gt;\t&lt;?php\t}<\/pre>\n<pre style=\"padding-left: 30px;\">echo '&lt;\/ul&gt;';<\/pre>\n<pre style=\"padding-left: 30px;\">}<\/pre>\n<pre style=\"padding-left: 30px;\">?&gt;<\/pre>\n<p>To sort by surname I created a custom field in the Post Edit screen. The name of the custom field I set to &#8216;surname&#8217; and I entered the member&#8217;s surname in the value field.<\/p>\n<p>I then had to change the PHP code to look for the custom field and sort the list accordingly. I changed the\u00a0<span style=\"color: #ff0000;\">&#8216;orderby&#8217; =&gt; &#8216;title&#8217;<\/span><span style=\"color: #ff0000;\">,<\/span> to<span style=\"color: #339966;\"> <\/span><span style=\"color: #ff00ff;\"><span style=\"color: #339966;\">&#8216;orderby&#8217; =&gt; &#8216;meta_value&#8217;,&#8217;meta_key&#8217; =&gt; &#8216;surname&#8217;,<\/span><span style=\"color: #000000;\">.<\/span><\/span><\/p>\n<p>Now the members are sorted by their surnames.\u00a0Simple! View the code in action <a href=\"http:\/\/www.royalulsteracademy.org\/the-academy\/members\/\">here<\/a>.<\/p>\n<p>Note: If the custom field of &#8216;surname&#8217; is not given a value then the post title will not display in the list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A client recently requested that their &#8216;Members&#8217; page be sorted by surname and not first name. The lists were generated using the follwing code: &lt;?php$cat_args = array( &#8216;sort_column&#8217; =&gt; &#8216;post_title&#8217;, &#8216;order&#8217; =&gt; &#8216;ASC&#8217;, &#8216;parent&#8217; =&gt; 12); $categories = \u00a0 get_categories($cat_args); foreach($categories as $category) { echo &#8216;&lt;ul id=&#8221;member&#8221;&gt;&lt;li&gt;&lt;h3&gt;&#8217; . $category-&gt;name.'&lt;\/h3&gt;&lt;\/li&gt;&#8217;; $post_args = array( &#8216;numberposts&#8217; =&gt; 50, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[12],"tags":[35,47,49],"acf":[],"_links":{"self":[{"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/posts\/324"}],"collection":[{"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":0,"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"wp:attachment":[{"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keithdevon.com\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}