问题描述

我相当新的 wordpress,我想知道如果我可以得到一个 page id 与它的 slug 。有可能请让我知道。

最佳解决方案

使用 get_page_by_path($page_path)

$page = get_page_by_path( 'about' );
echo get_the_title( $page );

这将返回一个常规的后期对象。

次佳解决方案

已经在这个论坛上提问和回答了。我从那里粘贴相同的代码。使用此功能来检索页面 ID 。

 function get_page_by_slug($page_slug, $output = OBJECT, $post_type = 'page' ) { 
  global $wpdb; 
   $page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type= %s AND post_status = 'publish'", $page_slug, $post_type ) ); 
     if ( $page ) 
        return get_post($page, $output); 
    return null; 
  }

第三种解决方案

我一直在用这个..

function get_id_by_slug($page_slug) {
    $page = get_page_by_path($page_slug);
    if ($page) {
        return $page->ID;
    } else {
        return null;
    }
} 

希望这将有助于某人。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。