Como essa function obtém o id da postagem mais recente?

Aqui está uma function que faz o que eu preciso fazer. Alguém mais o escreveu. Quero entender como está fazendo isso. (Mais será adicionado a ele FYI.)

O objective aqui foi obter o id do post mais recente. Eu entendo o que a parte da function do WordPress está fazendo. Eu não entendo o que está acontecendo para definir o valor de $thePostID depois que a function do WordPress encontrou a primeira postagem. Em particular, os [0] e [ID].

Alguém pode explicar?

 function prepare_payment() { $recent_posts = wp_get_recent_posts( array( 'numberposts' => '1' ) ); $thePostID = $recent_posts[0]['ID']; echo $thePostID; } 

Solutions Collecting From Web of "Como essa function obtém o id da postagem mais recente?"

prepare_payment() está chamando wp_get_recent_posts() que retorna uma matriz de postagem por padrão. Apenas um post está sendo retornado neste caso, devido ao parâmetro $numberposts sendo configurado para 1 .

$recent_posts contém a matriz de postagens retornadas por wp_get_recent_posts() . A seguinte linha é a configuração $thePostID para o ID da primeira postagem na matriz $recent_posts ( matrizes zero indexadas ):

 $thePostID = $recent_posts[0]['ID']; 

Finalmente, o ID é echo’d usando a linha echo $thePostID;

Edit: Aqui está um exemplo da matriz retornada por wp_get_recent_posts() , que em si é um wrapper para get_posts() .`

 Array ( [0] => Array ( [ID] => 418 [post_author] => 2 [post_date] => 2025-01-01 00:00:00 [post_date_gmt] => 2025-01-01 00:00:00 [post_content] => This post is scheduled to be published in the future. It should not be displayed by the theme. [post_title] => Scheduled [post_excerpt] => [post_status] => future [comment_status] => open [ping_status] => closed [post_password] => [post_name] => scheduled [to_ping] => [pinged] => [post_modified] => 2016-04-11 04:28:22 [post_modified_gmt] => 2016-04-11 04:28:22 [post_content_filtered] => [post_parent] => 0 [guid] => http://wpthemetestdata.wordpress.com/?p=418 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) ) 

Você pode replicar isso adicionando uma declaração de debugging simples para prepare_payment() :

 function prepare_payment() { $recent_posts = wp_get_recent_posts( array( 'numberposts' => '1' ) ); // Temporary debugging statement print_r( $recent_posts ); $thePostID = $recent_posts[0]['ID']; echo $thePostID; }