如何从SQL查询页面ID中获取并检索URL和标题

时间:2012-05-15 作者:Vital

条件:页面有模板,例如:/* Template name: News */

解释:

我们有许多页面,其中一个页面有指定的模板(/*模板名称:News*/)。

我想在主页(index.php)上检索页面(新闻)url和标题。

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

让我试着总结一下你想要什么并回答:

我想在主页(index.php)上检索页面(新闻)url和标题。

所以你有一个;“新闻”;使用名为“的特定模板”的页面;“新闻”;您想获取该页面的ID、URL和标题以显示在首页上,对吗?

按模板获取页面没有内置的方法可以根据所使用的模板获取页面。相反,您必须根据与页面模板匹配的隐藏元值搜索所有页面。那么,假设您的新闻模板命名为news-template.php 在主题中,然后使用以下代码获取使用该模板的第一个页面:

$news_pages = get_pages( array(
    \'meta_key\'   => \'_wp_page_template\',
    \'meta_value\' => \'news-template.php\',
    \'number\'     => 1
) );

$news_page = $news_pages[0];
记住,因为get_pages() 返回一个数组,您必须手动选择该数组的第一个元素。现在这个$news_page 对象包含新闻页的内容。

现在,在您的index.php 页面您可以通过引用$news_page 对象

  • Page ID: $news_page->ID
  • Page URL: get_page_link( $news_page->ID )
  • Page Title: $news_page->post_title

结束

相关推荐

对于过去24小时内写的帖子,我该如何编写这条SQL语句?

有人给了我这个SQL代码来计算过去7天内的帖子数量(post\\u类型的“mixtaples”)。我也尝试将其转换为“在过去24小时内”,但它给出了错误的号码。以下是他的代码,有效期为7天:$querystr = $wpdb->get_var(\"SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = \'publish\' AND post_type = \'mixtapes\' AND post_date >= DATE_SUB(C