北极寒流 » 网络资源 » WordPress根据页面名称获取页面id方法 - 2015.12.26

WordPress根据页面名称获取页面id方法

在制作企业主题时,我们通常需要在首页显示公司简介,而公司简介是一个单页面。要获得这个页面的内容并不难,代码如下:

<?php
$recent = new WP_Query('page_id=1');
while ( $recent->have_posts() ) : $recent->the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

这样就能输出ID为1的页面的内容。但是,当用户在使用该主题时,他的公司简介页面ID不一定是1,所以就需要修改源码中的页面ID。一些人性化点的主题提供了主题后台管理功能,那么用户在后台输入对应的ID号就OK了。但对于初级用户来说,可能还不知道怎么获取想要的页面ID。

那么,我们让主题更个性化一点吧!

让用户填写页面名称就能输出相应页面的内容,此时,我们需要根据用户提供的页面名称获得这个页面的ID才能输出用户想要的内容。

WordPress根据页面名称获取页面id代码如下:

function hui_get_page_ID($pageName) {
global $wpdb;
$pages = get_pages();
for($i = 0; $i < count($pages); $i++) {
if($pageName == $pages[$i]->post_title) $page_slug = $pages[$i]->post_name;//根据用户提供的页面名称获得页面别名
}
if($page_slug) {
//根据页面别名获得页面ID
$page_ID = $wpdb->get_var(“SELECT ID FROM $wpdb->posts WHERE post_name = ‘” . $page_slug . “‘ AND post_status = ‘publish’ AND post_type = ‘page’”);
return $page_ID;
} else {
return false;
}
}

把这段代码放到主题文件function.php中,

函数调用示例:

<?php hui_get_page_ID('联系我们'); ?>

以上代码将获得页面“联系我们”的ID。

最受欢迎的