如何使用页面插件获取页面的页面ID

时间:2013-06-13 作者:freaky

我是WordPress的新手,我想知道我是否可以page id 及其slug. 有可能让我知道吗?

7 个回复
最合适的回答,由SO网友:fuxia 整理而成

使用get_page_by_path($page_path):

$page = get_page_by_path( \'about\' );
echo get_the_title( $page );
这将返回一个常规的post对象
Documentation:
https://developer.wordpress.org/reference/functions/get_page_by_path/
https://developer.wordpress.org/reference/functions/get_the_title/

SO网友:Ibnul Hasan

我一直在用这个。。

function get_id_by_slug($page_slug) {
    $page = get_page_by_path($page_slug);
    if ($page) {
        return $page->ID;
    } else {
        return null;
    }
} 
希望这能帮助别人。

SO网友:Vikas Bhardwaj

这个论坛上已经有人问过了,也有人回答过了。我正在从那里粘贴相同的代码。使用此函数可检索页面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; 
  }

SO网友:Lovor

有一个函数url_to_postid 自WordPress v1起。0.0:)使用此函数最容易实现此任务。

url_to_postid

当页面是顶级页面时,只需给出slug。

e、 g。url_to_postid(\'slug\');

当页面处于较低的层次结构级别(即,它有父级)时,必须在父级slug之前加上斜杠,如下所示:

url_to_postid(\'parent-slug/child-slug\');
编辑:如果返回0,则应刷新permalinks(在admin中打开wordpress permalinks页)-这只需要一次

SO网友:Rodrigo D\'Agostino

在同一页中多次尝试使用代码时,我对选择的答案有问题。它在每个实例中都会同时显示我的所有页面内容。所以我回到思考中,根据WordPress Codex\'s文档:

<?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

SO网友:dbmpls

这里有很多答案看起来过于复杂,或者没有具体描述如何获取页面ID。

            $page = get_page_by_path("your-page-slug");
            if ($page) {
                $page_id =  $page->ID;
                echo $page_id;
            }
在上述描述中,我们已将post对象分配给$page-一旦您拥有post对象,您就可以获得此处描述的任何信息:https://codex.wordpress.org/Class_Reference/WP_Post

            $page->ID
            $page->post_status
            $page->post_title
还有更多

SO网友:Dipika

<?php  function get_page_ID_by_slug( $slug ) {
    $page = get_page_by_path( $slug );
    if ( $page ) {
        return (int) $page->ID;
    }
    else {
        return null;
    }
}
?>
我希望这个建议对某人有帮助。

结束

相关推荐

什么是Jetpack无限滚动插件需要的Content.php文件?

我目前正在学习如何使用Jetpack infinite scroll插件,同时阅读我遇到的文档“render”部分:http://jetpack.me/support/infinite-scroll/它使用默认循环,我实际上需要自定义它,它还表示如果我有内容。php文件在我的模板中比我好用,可以省略呈现参数。但是我不知道是什么内容。php文件用于。至于每个帖子的循环和标记,这些都是在我的索引中定义的。php,单个。php和页面。php文件。你能解释一下并举例说明什么内容吗。php页面位于何处以及如何使用。