サポート » 使い方全般 » 固定ページスラッグと同一のカテゴリー名、タクソノミー名を取得

  • 解決済 inon

    (@inon)


    度々恐れ入ります。

    標題の件でご教示ければと思い再度投稿致しました。

    現在、フォーラムでご教示頂きました下記コードにて固定ページスラッグ(osaka、kobe、kyoto)に同一のカテゴリースラッグ(postのカテゴリーにてosaka、kobe、kyoto)を設定した投稿を表示しております。

    <?php
    $args=array(
    			'post_type'=>'post',/*投稿タイプ*/
    			'posts_per_page'=>'8',/*投稿表示数*/
    			'category_name' => esc_attr($post->post_name),/*カテゴリースラッグ*/
    			'paged'=>$paged
    			);?>
    <?php query_posts($args); ?>
    <?php if(have_posts()):while(have_posts()): the_post(); ?>
    <?php echo  get_the_date('Y/m/d'); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>

    今回は、これに加えてカスタム投稿タイプ(news)の同一タクソノミースラッグ(osaka、kobe、kyoto)を表示したいと考えております。

    カスタム投稿タイプの作成には『Custom Post Type UI 』を利用しており
    投稿タイプ:名前=news、Rewrite スラッグ=new
    タクソノミー:名前=areas、Rewrite スラッグ=area
    タクソノミースラッグ:osaka、kobe、kyoto(固定ページ、postのカテゴリースラッグと同様)

    下記コードにて表示できるかと素人ながらに書いてみたのですが上手くいきません…

    <?php
    $args=array(
    			'post_type'=>array('post','news'),/*投稿タイプを複数指定*/
    			'posts_per_page'=>'8',/*投稿表示数*/
    			'category_name' => esc_attr($post->post_name),/*カテゴリースラッグ*/
    			'taxonomy_name' => esc_attr($post->post_name),/*タクソノミースラッグ*/
    			'paged'=>$paged
    			);?>
    
    <?php query_posts($args); ?>
    <?php if(have_posts()):while(have_posts()): the_post(); ?>
    <?php echo  get_the_date('Y/m/d'); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>

    お手数ではございますがアドバイスいただけましたら幸いです。

    何卒宜しくお願い致します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • ‘taxonomy_name’ なんて指定方法はありません。思いつきでなく、きちんと Codex で調べましょう。
    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.BF.E3.82.AF.E3.82.BD.E3.83.8E.E3.83.9F.E3.83.BC.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF

    また、areas と category がまったく同じタームを持つなら、カスタム投稿 news には、areas ではなく post と同じ category を付けておけばいいと思います。まあ、areas でもできますが・・。

    トピック投稿者 inon

    (@inon)

    pluto1234様

    重ね重ねアドバイスをいただきまして本当にありがとうございます。

    おっしゃるとおり思いつきでやっている自分がとても情けなかったです。
    Codexを拝見させていただきました。

    pluto1234様のご指摘通りcategoryと同じタームを利用したいので、areasにせずcategoryのタクソノミーを作った上で

    <?php
    $args=array(
    			'post_type'=>array('post','news'),/*投稿タイプを複数指定*/
    			'posts_per_page'=>'8',/*投稿表示数*/
    			'category_name' => esc_attr($post->post_name),/*カテゴリースラッグ*/
    			'paged'=>$paged
    			);?>
    
    <?php query_posts($args); ?>
    <?php if(have_posts()):while(have_posts()): the_post(); ?>
    <?php echo  get_the_date('Y/m/d'); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>

    で試してみたのですが、なぜかsすべてのpostとnewsの投稿が表示される様になりました。

    また、areasで再度登録して試してみようと思い下記コードで試みました

    <?php
    $args=array(
    			'post_type'=>array('post','news'),/*投稿タイプを複数指定*/
    			'posts_per_page'=>'8',/*投稿表示数*/
    			'category_name' => esc_attr($post->post_name),
            'terms' => esc_attr($post->post_name),
    			'paged'=>$paged
    			);?>

    しかしながら、こちらも表示されませんでした。

    教えていただいてばかりで大変恐縮ではございますがCodexで見るべきところが間違っているのでしょうか…

    >categoryのタクソノミーを作った上
    これは、どういう意味でしょうか? category は既にできているので作る必要はありません。
    news に category を紐付けるだけです。作る必要はありません。
    そうすると、そのコードで動くような気がしますが?

    areas を使うとすると(お勧めはしませんが)、さっきのタクソノミーパラメータのサンプルに、ほぼ答えが載っています。
    ‘tax_query’ で ‘relation’ => ‘OR’ のサンプルです。

    トピック投稿者 inon

    (@inon)

    pluto1234様

    返信いただきまことにありがとうございます。

    >categoryのタクソノミーを作った上

    申し訳ございません、Custom Post Type UIを利用しており、分類名の新規追加よりcategoryを作るという意味です。

    newsへの紐付け方法が間違っているのかもしれませんので、もう一度考えてみます。

    また、’tax_query’ で ‘relation’ => ‘OR’ の部分も読んで表示出来るように色々と試してみます。

    pluto1234様に色々とアドバイスを頂いたのに、Codexの見方や応用の仕方もよくわかっておらず勉強不足で申し訳ございません。

    >Custom Post Type UIを利用しており、分類名の新規追加よりcategoryを作るという意味です。
    カスタム投稿タイプ news を作る時に(編集でもOK) Advanced Options のビルトイン分類で、カテゴリーにチェックを入れればいいだけです。「分類名の新規追加で作成した category」は削除してください。

    これにより、category を post と news の共通のタクソノミーにすることができます。新たなタクソノミー(category)を作ってはいけません。

    トピック投稿者 inon

    (@inon)

    pluto1234様

    何度も丁寧にご説明いただき本当に感謝しております!

    思っていた通りの表示ができました!
    タクソノミー(category)を作ってしまっており、表示がおかしかった様です。

    本音を申し上げますと、Codexの見方すら明確に解っておらず途方に暮れておりました…

    このような事をお聞きするのは失礼かもしれませんが、pluto1234様はどのようにしてWPを勉強されたのでしょうか?

    わからないことがある度に検索やフォーラムを見るようにしているのですが理解が出来ていない部分が多すぎて…

    本当に色々と助けていただいてありがとうございました!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「固定ページスラッグと同一のカテゴリー名、タクソノミー名を取得」には新たに返信することはできません。