質問編集履歴

1 利用自体が初めてなので、これであっているか分かりかねますが、コードの表記を修正してみました。

sin1983

sin1983 score 10

2016/01/18 16:59  投稿

カスタム投稿でタクソノミーごとの一覧作成と絞込み
お世話になります
###前提・実現したいこと
WordPressで事業所一覧というカスタム投稿タイプをつくり、「サービス」と「地域」というタクソノミーを作成しています。
「サービス」ごとに所属しているカスタム投稿タイプの一覧を表示しつつ、「地域」をクリックした時には、該当の地域の「サービス」の一覧のみが表示されるように絞り込みたいです。
↓現状、参考にしているのが下記のページです(まさしくこの通りのことがしたい)
http://naoyu.net/wordpress/tax_query/583/
###発生している問題・エラーメッセージ
参考ページの通りにコードを書くと、全く何も表示されません。
出力されているページのソースを見ると、何も吐き出されていないようです。
質問点としては2点です。
①タクソノミーのスラッグに「アンダーバー」を使ってはいけない、等のルールは有りますか?
②上記の参考サイトのコードは正しいものでしょうか?
###ソースコード
```php  
<?php
/* Template Name: office */
get_header(); ?>
<div class="clearfix">
   <div id="main">
       <div class="page_title_blue">事業所一覧</div>
       <div class="content_box_blue">
           <?php
           $args = array(
           'parent'      => 0,
           'hierarchical' => 0,
           'orderby'     => 'term_order',
           'order'       => 'ASC'
           );
               $taxonomy_name = 'office-service';
               $taxonomys = get_terms($taxonomy_name,$args);
               if(!is_wp_error($taxonomys) && count($taxonomys)):
                   foreach($taxonomys as $taxonomy):
                   $url = get_term_link($taxonomy->slug, $taxonomy_name);
                   $tax_posts = get_posts(array(
                       'post_type' => get_post_type(),
                       'posts_per_page' => 5,
                       'tax_query' => array(
                           array(
                               'taxonomy'=>'office-service',
                               'terms'=>array( $taxonomy->slug ),
                               'field'=>'slug',
                               'include_children'=>true,
                               'operator'=>'IN'
                               ),
                           'relation' => 'AND'
                           )
                       ));
               if($tax_posts):
           ?>
           <h2 id="<?php echo esc_html($taxonomy->slug); ?>" class=""><a href="<?php echo $url; ?>"><?php echo esc_html($taxonomy->name); ?></a></h2>
           <ul>
               <?php foreach($tax_posts as $tax_post): ?>
               <li>
                   <span class="thumb">
                       <a href="<?php echo get_permalink($tax_post->ID); ?>">
                       <?php if(has_post_thumbnail($tax_post->ID)) {
                           echo get_the_post_thumbnail($tax_post->ID,'post-thumbnail');
                        } ?>
                       </a>
                   </span>
                   <span class="title"><?php echo get_the_title($tax_post->ID); ?></span>
               </li>
               <?php endforeach; ?>
           </ul>
           <?php
                   endif;
           endforeach;
           endif;
           ?>
       </div>
   </div><!-- /main -->
   <div id="sidebar">
       <?php get_sidebar(); ?>
   </div><!-- /sidebar -->
   <?php get_footer(); ?>
   <?php get_footer(); ?>
```
  • PHP

    38358 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    15620 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る