• 解決済 curono

    (@curono)


    現在、Custom Post Type UIというプラグインをもちいて

    投稿タイプ:watch (ラベル:動画)
    タクソノミー:video_cat (ラベル:動画カテゴリ)
    ターム:cat (ラベル:猫)

    という新しいカスタム投稿タイプを作成しております。そして、singleページにて動画を埋め込み、『動画の下へ同じカテゴリ内の次の記事へのリンク』を表示させたいと考えています。

    イメージ的には、

    ■■■■■■■■■■■
    ■■■<動画>■■■■
    ■■■■■■■■■■■

    <前の動画|次の動画>

    このようなもので、前の動画、次の動画のリンクをクリックすることで、同じターム内の次の動画へアクセスしたいのです。通常のカテゴリでは、

    `<?php previous_post_link(‘« %link’) ?>
    <?php next_post_link(‘% link »’) ?>

    を利用することでその同じカテゴリ内でのページ移動ができるのですが、それをカスタム投稿タイプで行いたいのです。

    そこで、Ambrosite Next/Previous Post Link Plusを利用するとできることがわかりそれを導入したのですが、同じターム内での移動ができません。

    導入するとリンクは表示できるのですが、別のタームのリンクが表示されてしまいます。

    一体どのようにしたらいいでしょうか?

    よろしくお願い致します

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    Ambrosite Next/Previous Post Link Plusの説明を読むとできるっぽいですよ。
    in_same_taxというパラメーターがあるようです。はじめて知りましたが便利なプラグインですね。
    http://www.ambrosite.com/plugins/next-previous-post-link-plus-for-wordpress

    トピック投稿者 curono

    (@curono)

    すみません。説明不足でした。上記の件については下記コードで何度もやってるのですがやはり別のタームまで表示されてしまいます。具体的には、『猫カテゴリの記事を表示しているのに犬カテゴリの記事がページリンクに表示される』とった状況で大変困っています。

    実験1:
    <?php next_post_link_plus( array(‘in_same_tax’ => ‘cat’) ); ?>
    <?php previous_post_link_plus( array(‘in_same_tax’ => ‘cat’) ); ?>

    実験2:
    <?php next_post_link_plus( array(‘in_same_cat’ => true) ); ?>
    <?php previous_post_link_plus( array(‘in_same_tax’ => true) ); ?>

    階層的にはこうなってます。

    動画-動画記事一覧
      -動画新規追加
      -動画カテゴリ-猫(slug:cat)-各記事
             -犬(slug:dog)-各記事

    そして、この猫カテゴリの中には

    ・猫の日常
    ・かわいい猫たん
    ・猫かわいいよ猫

    といった記事が含まれています。

    前の記事をクリックすれば、現在のカテゴリ(猫)の前の記事、次の記事をクリックすれば現在のカテゴリ(猫)の次の記事、以下同様に、犬カテゴリの記事を開いているときには現在のカテゴリ(犬)の前の記事、次の記事をクリックすれば現在のカテゴリ(犬)の次の記事を表示するといったことがしたいのです。

    Ambrosite Next/Previous Post Link Plusを利用すれば上記のことができるかと思ったのですが、もしかして自分がAmbrosite Next/Previous Post Link Plusの仕様を何か勘違いしてるのでしょうか?

    もしできるようならプラグインを利用しなくてもいいので何か方法はないでしょうか?

    実験3:
    <?php next_post_link_plus( array(‘in_same_tax’ => ‘video_cat’) ); ?>
    <?php previous_post_link_plus( array(‘in_same_tax’ => ‘video_cat’) ); ?>
    ではどうでしょうか?

    トピック投稿者 curono

    (@curono)

    とりあえず、別のタームが表示されていた原因が分かりました。Custom Post Type UIで作成した「video_cat」を階層表示にしてないのが原因でした。これで、同じターム内でのページリンクができたのですがここで新たな問題が発生しました。

    なぜか、記事がとびとびに表示されて3件しか表示されません。つまり、次のリンクと前のリンクが1,3,9しか表示されないのです。

    猫の動画1
    猫の動画2
    猫の動画3
    猫の動画4
    猫の動画5
    猫の動画6
    猫の動画9

    と記事があったら、

    猫の動画1
    猫の動画3
    猫の動画9

    の記事しか表示されないのです。

    原因としては何が考えられるでしょうか?

    うまくいっていないのは分かりましたが、どういう指定をしたらうまくいっていないのかが分かりません。
    ・next_post_link_plus(), previous_post_link_plus() はどういう指定にしていますか?
    ・video_cat は階層構造になっていますか(親子関係がありますか)?
    ・タームに2つ以上チェックを入れていませんか?

    追:
    猫の動画1
    猫の動画3
    猫の動画9
    ——–
    猫の動画2
    猫の動画4
    猫の動画5
    猫の動画6
    これらのポストで、タクソノミー(ターム)の付け方何か違いはありませんか?

    トピック投稿者 curono

    (@curono)

    ・next_post_link_plus(), previous_post_link_plus() はどういう指定にしていますか?

    提示くださったコードを記載しています。

    <?php next_post_link_plus( array(‘in_same_tax’ => ‘video_cat’) ); ?>
    <?php previous_post_link_plus( array(‘in_same_tax’ => ‘video_cat’) ); ?>

    ・video_cat は階層構造になっていますか(親子関係がありますか)?
    親子関係はありませんが、階層構造になっています。

    ・タームに2つ以上チェックを入れていませんか?
    タームは一つのみです。

    ————————————————-

    話が変わってしまうのですが、やっと原因がわかりました。どうやらAmbrosite Next/Previous Post Link Plusが問題でなくCSV inporterで記事を投稿していたのが問題だったようです。

    CSV inporterで記事を投稿した場合
    ⇒次のページ、前のページのリンクが表示されない。また、とびとびのリンクになる。

    CSV inporterで記事を投稿しなかった場合(普通に管理画面から投稿した場合)
    ⇒次のページ、前のページのリンクが表示され次のページへ移動できる

    このことから、CSV inporterで記事を投稿していたためにどうやら次のページ、前のページのリンクが表示されていなかったということです。

    csvに登録してある動画の数が膨大にあるため手作業で一つ一つ投稿するのはほぼ不可能です。できるだけcsvをインポートする方法をとりたいと考えています。

    以下、CSV inporterでの設定です。

    csv_post_title:猫の動画1
    csv_post_slug:neko no douga 1
    csv_post_type:watch
    csv_ctax_video_cat:neko no douga

    上記の設定からcsvをインポートするとちゃんと記事とタームが投稿されます。また、記事の詳細ページ?を見るとちゃんとタームにチェックが入っております。

    何か他に設定しなければいけない項目があるのでしょうか?

    怪しいのは、投稿日くらいかな?
    一括でインポートすると、同じ時刻(秒まで同じ)で登録される可能性はないですか。表示されないのは、今表示しているポストと同じ時刻で登録されているとか?表示されているのは、1, 2 秒違っているため表示されているとか?

    トピック投稿者 curono

    (@curono)

    pluto1234様本当にありがとうございます。原因は、まさに

    怪しいのは、投稿日くらいかな?一括でインポートすると、同じ時刻(秒まで同じ)で登録される可能性はないですか。表示されないのは、今表示しているポストと同じ時刻で登録されているとか?表示されているのは、1, 2 秒違っているため表示されているとか?

    でした。試しに投稿時間を変えた(数秒)ところ無事リンクを表示することができました。これで無事ページ間の移動ができます。

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

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタム投稿タイプでの同じターム内でのページ移動について」には新たに返信することはできません。