WordPress:スラッグからURL(URI)を取得する方法

投稿日: カテゴリー
概要

WordPressにて、スラッグ名が分かっている時にそれに対応するURLを取得する方法です。
ループ外でも使用できます。

WordPress3.3.2にて動作確認済み。

カテゴリースラッグからカテゴリー表示のURLを取得
//カテゴリースラッグからカテゴリーを取得
$cat = get_category_by_slug('slugname');
//カテゴリーIDからURL文字列を取得
echo get_category_link( $cat->cat_ID );
固定ページスラッグから固定ページのURLを取得
//固定ページのスラッグからページを取得
$page = get_page_by_path('slugname');
//ページIDからURLを取得
echo get_permalink( $page->ID );
普通の投稿記事のスラッグから投稿1件表示のURLを取得

投稿のIDを取得するのに少しコツが要ります。

//投稿スラッグ(固定ページは除く) から 投稿idを取得。
function get_post_id_by_slug($post_slug){

	$args=array(
	  'name' => $post_slug,
	  'post_type' => 'post',
	  'post_status' => 'publish',
	  'numberposts' => 1
	);
	$found_posts = get_posts($args);
	if( $found_posts ) {
		return $found_posts[0]->ID;
	}else{
		return NULL;
	}
}

//投稿スラッグからidを取得
$id = get_post_id_by_slug( 'slugname' );
//idからURLを取得
echo get_permalink( $id );

「WordPress:スラッグからURL(URI)を取得する方法」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA