如果我只知道标题,如何获得页面的ID?

时间:2011-07-28 作者:Wordpressor

是否有与此完全相反的功能:

get_the_title(ID) 
我知道有:

get_the_id()
但它似乎不接受任何论点。

所以,基本上,我在寻找这样的东西:

$title = \'Something\';
get_the_id($title);
我已经知道这个解决方案:

 global $wpdb;
 $post_name = get_query_var(\'name\');
 $post_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = $post_name");
但也许我遗漏了什么?

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

我不知道如何通过标题获得它,但你可以通过slug(根据我的经验,slug通常更有用)使用以下方法获得它:

http://erikt.tumblr.com/post/278953342/get-a-wordpress-page-id-with-the-slug

如果您想为帖子而不是页面返回slug,只需将“$page”更改为“$post”。

祝你好运!

SO网友:Sampson

get_page_by_title( $title, [$output = \'object\'], [$post_type = \'page\'] ) 存在就是为了这个目的。我现在在我的一个项目中使用它来显示侧边栏中特定页面的所有附件:

if ( $oPage = get_page_by_title(\'Proudly Supporting...\') ) {

  $children = get_posts(array(
    \'post_type\'      => \'attachment\',
    \'post_mime_type\' => \'image\',
    \'numberposts\'    => 3,
    \'post_status\'    => null,
    \'post_parent\'    => $oPage->ID, /* Using the Page ID */
    \'orderby\'        => \'rand\',
  ));

  if ( $children ) {
    /* Do something with the children */
  }

}

SO网友:Arsen K.

我也有同样的问题。我使用了下一个代码:

$my_title = \'My title\';
global $wpdb;
$mypost = $wpdb->get_row( "SELECT * FROM wp_posts WHERE post_title = \'" . $my_title . "\' " );
echo $mypost->ID;

SO网友:Ari

有一个内置函数可以完成此操作。使用:get\\u page\\u by\\u title();

请参见此处的参考http://codex.wordpress.org/Function_Reference/get_page_by_title

结束

相关推荐

以逗号分隔的ID列表作为数组?

我有下面的代码,它以数组的形式打印一个逗号分隔的列表,如何将id列表放入一个名为$excluded\\u categories的数组中,其内容如下所示?$categories = get_categories(array(\'taxonomy\'=>\'projects_category\', \'exclude\'=>7, \'orderby\'=>\'id\')); if ( !empty( $categories ) ) : foreach($categories