これと正反対の機能はありますか。
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");
しかし、私が行方不明になっていることで何か気が付いているのでしょうか。
私はどのようにタイトルを介してそれを取得するのかわからないが、これを使用してスラグを介してそれを取得することができます(これは私の経験ではより便利です)。
http://erikt.tumblr.com/post/278953342/get-a-wordpress-page-id-with-the-slug
ページではなく投稿のスラッグを返したい場合は、単に "$ page"を "$ post"に変更してください。
ガック!
この目的のために get_page_by_title( $title, [$output = 'object'], [$post_type = 'page'] )
が存在します。私のサイドバーに特定のページのすべての添付ファイルを表示するために、私のプロジェクトの1つでこれを使用しています。
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 */
}
}
私は同じ問題を抱えていました。次のコードを使いました。
$my_title = 'My title';
global $wpdb;
$mypost = $wpdb->get_row( "SELECT * FROM wp_posts WHERE post_title = '" . $my_title . "' " );
echo $mypost->ID;
それを行うための組み込み関数があります。 get_page_by_title();を使用してください。
ここに参照を見なさい http://codex.wordpress.org/Function_Reference/get_page_by_title