WordPress implements a simple order functionality by default.

What's the common method, to retrieve the menu_order for the current post or page?

2 Answers 2


If you have the post with an $id:

$thispost = get_post($id);
$menu_order = $thispost->menu_order;

WordPress itself does not provide a function to get the menu_order, so you have to query the post-Object. If you are outside the loop, you can use the above function, however inside the loop you could also achieve this by:

global $post;
$menu_order = $post->menu_order;

The Menuorder is mainly used for Database Queries, as the Name says, do determine the Order of the output (if the menuorder is selected to be the order criteria).

  • It does not work properly for me, it gets menu order number only for children pages, while for parent pages it is always 0
    – Lovor
    Commented Sep 7, 2020 at 19:45

You can try following code:

 get_post_field( 'menu_order', $post_id);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.