概要
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件のフィードバック