Récupérer l’ID d’un post Wordpress depuis le post_name
Une petite fonction Wordpress pratique quand on travaille avec des pages qui ont un layout spécifique. Le nom est souvent plus parlant et moins limité que l’ID du post/page.
- <?php
- /**
- * Récupère l'ID d'un post en fonction de son post_name
- *
- * @param string $post_name
- * @access public
- * @global objet $wpdb
- * @return int
- */
- function get_page_id_by_name( $post_name ) {
- global $wpdb;
- $key_cache = 'id_post_'.$post_name;
- $id = wp_cache_get( $key_cache );
- if ( ! $id ) {
- $id = $wpdb->get_var(
- $wpdb->prepare(
- 'SELECT ID FROM '.$wpdb->posts.' WHERE post_name = %s',
- $post_name
- )
- );
- wp_cache_set( $key_cache, $id );
- }
- return $id;
- }