サポート » 使い方全般 » カスタム投稿タイプのアーカイブでカスタム投稿タイプのスラッグ

  • 解決済 heureux

    (@heureux)


    記事がない場合でも、カスタム投稿タイプのアーカイブページで
    カスタム投稿タイプのスラッグを取得する事は可能でしょうか?

    具体的な状況を説明しますと、
    現在「live」というカスタム投稿タイプを作っておりまして、
    ページ表示の際に、カスタム投稿タイプのスラッグ(このケースではlive)を取得して背景画像などを指定する処理を行っております。

    公開中の記事がない場合でも、
    アーカイブページ(ここでは「/live/」)を表示したい(現在投稿はありませんと出すのみですが)と思っているのですが
    実際に/live/にアクセスした所、
    コンテンツは出てきますが、スラッグが取得できていないみたいで
    背景画像が表示されません。
    スラッグは下記のような記述から取得しています。

    get_post_type_object(get_post_type())->name;

    記事がない場合でもなんとかカスタム投稿タイプのスラッグ名を取得できる方法を
    ご教示いただければと思います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • is_post_type_archive 関数の用例セクションに出てくる post_type_archive_title 関数が使えるのではないでしょうか(試してみたことはないのですが)。

    失礼しました、カスタム投稿タイプの名前ではなくてスラッグですね。下記のコードを使って取得できます。

    <?php
    if ( is_post_type_archive() ) {
      $post_type = get_query_var( 'post_type' );
      if ( is_array( $post_type ) )
        $post_type = reset( $post_type );
      $post_type_obj = get_post_type_object( $post_type );
      echo "カスタム投稿タイプ「 $post_type_obj->labels->name 」のスラッグは $post_type_obj->name です。";
    }
    ?>

    トピック投稿者 heureux

    (@heureux)

    gblsm様

    ご回答ありがとうございます!
    教えていただいたコードで無事取得できました!!!
    大変助かりました!ありがとうございます!!!

    heureuxさん
    解決してよかったです。
    ところで、このフォーラム投稿を「解決済み」に変更して頂けませんか。
    他の方から見分けがつくように、ご協力よろしくお願いします。

    トピック投稿者 heureux

    (@heureux)

    解決にする方法がわからなかったものですみません!
    ありがとうございました!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カスタム投稿タイプのアーカイブでカスタム投稿タイプのスラッグ」には新たに返信することはできません。