当前位置: 首页>>技术问答>>正文


如何使用页面slug获取页面的页面ID

webfans 技术问答 , , , 去评论

问题描述

我是wordpress的新手,我想知道我是否能用它的slug获得page id。有可能请告诉我。

最佳解决思路

使用get_page_by_path($page_path)

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

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

次佳解决思路

我一直在用这个..

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

希望这会对某人有所帮助。

第三种解决思路

它已经在这个论坛上得到了回答。我从那里粘贴相同的代码。使用此功能检索页面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; 
  }

第四种思路

尝试在同一页面中多次使用代码时,我遇到了所选答案的问题。它在每个实例中同时显示我的所有页面内容。所以我回过头思考并根据WordPress Codex的文档提出了这个更简单的方法:

<?php $query = new WP_Query( array( 'pagename' => 'about-me' ) );
        while ( $query->have_posts() ) {
        $query->the_post();
        echo '<h2>'. get_the_title() .'</h2>';
        the_content();
    }
    wp_reset_postdata();
?>

也许它对那里的人来说仍然有用; D

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2078.html,转载请务必附带本地址声明。