get_the_ID(): int|false

Retrieves the ID of the current item in the WordPress Loop.


int|false The ID of the current item in the WordPress Loop. False if $post is not set.


function get_the_ID() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
	$post = get_post();
	return ! empty( $post ) ? $post->ID : false;



User Contributed Notes

  1. Skip to note 6 content

    Should be noted that if this is ran on the Blog homepage, it instead returns the first listed Post ID instead of the blog homepage ID.

  2. Skip to note 8 content

    Post Anchor Identifier
    get_the_ID() can be used to provide a unique anchor in a script. For instance, a dynamically-generated drop down menu with actions for each post in an archive could have

    	$id = get_the_ID();
    	$dropdown = "<select name='dropdown-".$id."' >";
    	$dropdown .= "<option id='option1-". $id ."'>Option 1</option>";
    	$dropdown .= "</select>";

    This would allow us to use JavaScript to control the element as it has a unique ID, and when submitting it as a form through the POST or GET methods the dropdown box will be sent with a unique ID which allows the script to note which post it is working on. Alternatively a hidden variable could be sent which will allow the script to see which post the submission is referring to

    	echo '<input type="hidden" name="activepost" id="activepost" value="'.get_the_ID().'" />';
  3. Skip to note 9 content

    If you are working with custom post types or you are just not sure if the file you are working in has any direct access to the post, you can try this handy statement to get the ID of a post; outside of the loop even.

    global $post;  
        $post_id = ( empty( $post->ID ) ) ? get_the_ID() : $post->ID;

    Then use $post_id string to assure you have the post ID. Example usage:

    if ( get_post_type( $post_id ) != 'wpbdp_listing' ) return;

You must log in before being able to contribute a note or feedback.