サポート » 使い方全般 » カスタム投稿タイプでハマってます

  • 解決済 ishoji

    (@ishoji)


    いつもお世話になります。

    カスタム投稿タイプ(複数)とカスタム分類(共通)を使うのですが、できそうでできないことに困っております。

    1.カスタム分類のリスト取得で投稿タイプを指定できない。
      wp_list_categories()、get_categoriesなど
      ※記事件数のカウントに他の投稿タイプの記事件数まで含まれてしまう。

      なんとか、get_terms と get_posts の入れ子で取得できましたが、もっと簡単な方法はないものでしょうか?

    2.ループ外で、特定記事の投稿タイプを取得できない

      get_post_type()はループ内でしか使用できず、ループ外で使用できるものがなさそうです。

    過去のフォーラムで同じような質問がありましたが、解決していないようでした。

    よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • ishojiさん

    2.ループ外で、特定記事の投稿タイプを取得できない

    「2」につきまして、パンくずなどで(ループ外)以下のように使用してます。
    ただ、ターム内などで使用された場合や複数のポストタイプが混在する場合などは、正しく動作するかどうか不明です。

    <?php
    $slug = esc_html(get_post_type_object(get_post_type())->name); //カスタムポストタイプのスラッグ取得
    $post_name = esc_html(get_post_type_object(get_post_type())->label ); //カスタムポストタイプの表示名
    $post_desc = esc_html(get_post_type_object(get_post_type())->description); //カスタムポストタイプの説明文
    $post_link = get_post_type_archive_link($slug);
    ?>
    <a href="<?php echo $post_link; ?>" title="<?php echo $post_desc; ?>"><?php echo $post_name; ?></a>

    トピック投稿者 ishoji

    (@ishoji)

    mura0403さん

    ご丁寧にありがとうございます。

    ただ、残念ながら無理でした。

    archive.phpからカテゴリリンクで、taxsonomy.php内での取得なのですが、たとえばカスタム分類を2つの投稿タイプで利用しているのですが、どうも最新記事の投稿タイプが取れてきてしまいます。

    投稿タイプA
     分類名1
     分類名2
    投稿タイプB
     分類名1
     分類名2

    上記のようなデータで、投稿タイプBの分類2リンクでtaxsonomy.php内では投稿タイプAが取れてきてしまいます。

    理由としては、投稿タイプAのほうが投稿日付が新しいからだと思います。

    もう少し調べてみます。

     

    get_post_type()はループ内でしか使用できず、ループ外で使用できるものがなさそうです。

    引数に投稿ID、あるいは投稿オブジェクトをとればポストタイプが取得できますよ。

    関数リファレンス/get post type – WordPress Codex 日本語版

    トピック投稿者 ishoji

    (@ishoji)

    mimosafaさん

    どうもありがとうございます。やはりそうですね。

    やりたいことは以下のとおりなんです。

    1.投稿タイプのアーカイブページを作成
      archive-投稿タイプ名.php

    2.1の中でカスタム分類の一覧を作り、それぞれの投稿件数を表示
      普通にwp_list_categoriesで作成すると、他の投稿タイプの記事も含まれるので、使わず、ループで回して件数取得

    3.2のカスタム分類名のリンクで呼ばれるtaxsonomy.phpを用意
      この中で1の投稿タイプの記事だけにしたいのですが、他の投稿タイプの記事も含まれてしまう。
      当然といえば当然なのですが、2で選択した分類は他の投稿タイプでも使っているからです。

    何かいい方法があればいいのですが。

    あまり、力技でコーディングをするのは避けたいと思っております。

    トピック投稿者 ishoji

    (@ishoji)

    お返事いただいた方、どうもありがとうございます。

    自己解決しました。

    カスタム投稿のパーマリンクを変更するプラグインを利用していたのですが、そちらのオプションに関する過去記事を見つけました。

    https://ja.forums.wordpress.org/topic/148581?replies=8

    どうもありがとうございました。

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