[WordPress General] ページやカテゴリーのスラッグを取得する

memo.

そういう仕組みが既にあるのかもしれないけれども、とりあえず。

こんな関数を用意し、

functions.php
function the_slug() {
  global $post;
  if ( is_home() ) {
    return 'home';
  } elseif ( is_page() ) {
    $page_slug = get_page_uri( $post->ID );
    return esc_attr( $page_slug );
  } elseif ( is_category() ) {
    $categories = get_the_category( $post->ID );
    $category_slug = $categories[0]->slug;
    return esc_attr( $category_slug );
  } else {
    return null;
  }
}

こんな形で利用する。

index.php
<?php echo the_slug(); ?>

例えば、class や id を動的に変更する場合に利用する。