投稿や固定ページのタイトルから、投稿ID等のページ情報を取得する方法をご紹介いたします。
投稿のタイトルから情報を取得する方法
投稿のタイトルから情報を取得するには、get_page_by_title関数を使用します。
以下のように記述することで、投稿のページ情報を取得できます。同じタイトルの投稿が複数存在する際は、投稿IDが最小の投稿を返します。「post」の部分で投稿タイプを指定しています。
$post = get_page_by_title('タイトル', OBJECT, 'post');上記の場合、$postには以下の情報が格納されます。
| $post->ID | 投稿ID | 
| $post->post_author | 著者ID | 
| $post->post_date | 投稿日 | 
| $post->post_date_gmt | 投稿日(GMT) | 
| $post->post_content | 本文 | 
| $post->post_title | タイトル | 
| $post->post_excerpt | 抜粋 | 
| $post->post_status | ステータス | 
| $post->comment_status | コメントステータス | 
| $post->ping_status | ピンバックステータス | 
| $post->post_password | アクセスパスワード | 
| $post->post_name | スラッグ | 
| $post->post_modified | 最終更新日 | 
| $post->post_modified_gmt | 最終更新日(GMT) | 
| $post->post_parent | 親ページ | 
| $post->guid | デフォルトのURL | 
| $post->menu_order | 先頭に固定 | 
| $post->post_type | 投稿タイプ | 
| $post->comment_count | コメント数 | 
| $post->post_mime_type | MIMEタイプ | 
「echo $post->ID;」のようにそのまま値を出力することも可能ですが、他の処理と組み合わせるケースの方が多いと思います。
function my_content( $content ) {
  $post = get_page_by_title('タイトル', OBJECT, 'post');
  if ( is_single( $post->ID ) )
    $content = "本文の置き換え";
  return $content;
}
add_filter( 'the_content', 'my_content' );こちらの例は、該当するタイトルの投稿本文を置き換えています。
固定ページのタイトルから情報を取得する方法
固定ページのタイトルから情報を取得する場合もget_page_by_titleを使用します。投稿と同様に、同じタイトルの固定ページが複数存在する際は、投稿IDが最小の固定ページを返します。
固定ページの場合は取得した値を直接出力できないので、以下のように他の処理と組み合わせて活用します。
$page = get_page_by_title( 'タイトル', OBJECT, 'page' );
wp_list_pages( 'exclude=' . $page->ID );上記の場合、該当するタイトルの固定ページを除外した一覧を出力します。
あとがき
投稿や固定ページのタイトルからページの情報を取得したい場合は、ぜひ参考にしていただければと思います。
なお、「URLからページタイトルを取得・出力する方法」も過去に紹介していますので、こちらもぜひチェックしてみてください。

