# Wordpress Theme Menu Hack



## creativeliza (Oct 19, 2009)

I am adapting a Wordpress theme for this site: http://carne-buena.com/wordpress/

Currently the theme is displaying the menu in alphabetical order and I want it to display by Post ID. I believe this is the code that does it:

'# Displays a list of pages
function dp_list_pages() {
global $wpdb;
$querystr = "SELECT $wpdb->posts.ID, $wpdb->posts.post_title FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'page' ORDER BY $wpdb->posts.post_title ASC";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if ($pageposts) {
foreach ($pageposts as $post) {
?><li><a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a></li><?php 
}
}
}'

I am not a programmer, I just tweak the code so I'm over my head here. How do I change this list by the number you set for the pages in Wordpress versus what it is doing here?


----------



## codestripper (Nov 3, 2009)

Hi,

Give this a shot: Find the bolded code below - this is where the page order is set.



creativeliza said:


> '# Displays a list of pages
> function dp_list_pages() {
> global $wpdb;
> $querystr = "SELECT $wpdb->posts.ID, $wpdb->posts.post_title FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'page' ORDER BY *$wpdb->posts.post_title ASC*";
> ...



Try replacing *$wpdb->posts.post_title ASC* with just *ID*

so instead of this:
$wpdb->posts.post_type = 'page' ORDER BY $wpdb->posts.post_title ASC";

the line will look like this:
$wpdb->posts.post_type = 'page' ORDER BY ID";

This should make the menu sort by ID.

I am not familiar with this theme's "function dp_list_pages." Wordpress usually uses wp_list_pages. I don't know if that will make a difference - hopefully not! 

Good luck and hope this helps.


----------

