(おそらく)これが 33 行目
<li><a href="<?php echo $term_link; ?>">・・
どんな URL になるか調べるだけなら
<ul>
wp_list_categories('title_li=&taxonomy=staff');
</ul>
pluto1234様
回答ありがとうございます。
<?php
// ページ数
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts( array(
'post_type' => 'blog',
'taxonomy' => 'staff',
'posts_per_page' => 1,
'paged' => $paged,
'order' => 'DESC'
)
);
if (have_posts()) :while (have_posts()) :
the_post();
?>
<?php wp_list_categories('title_li=&taxonomy=staff'); ?>
<?php
endwhile;
endif;
wp_reset_query();
?>
に変更してみました。
そうすると何にも表示されませんでした。
ちなみにこれはテスト用に固定ページに記載しています。
それが駄目なのでしょうか?
<ul>
<?php wp_list_categories('title_li=&taxonomy=staff'); ?>
</ul>
は、サイドバーあたりに表示すればいいかと。ループ中に記述するなら
<?php the_terms( $post->ID, 'staff'); ?>
pluto1234様
回答ありがとうございます。
どちらも試してみましたが、何も表示されませんでした。
ちなみに他のwordpressで作成しているサイトで同様の事をしてみたのですが、
そちらでも表示されませんでした。
ちなみにカスタム投稿の追加は以下のように記述しています。
function blog_custom_post_type() {
$labels = array(
'name' => 'ブログ',
'singular_name' => 'ブログ',
'add_new_item' => 'ブログを追加',
'add_new' => '新規追加',
'new_item' => '新規ブログ',
'view_item' => 'ブログを表示',
'not_found' => 'ブログは見つかりませんでした',
'not_found_in_trash' => 'ゴミ箱にブログはありません',
'search_items' => 'ブログを検索',
);
$args = array(
'labels' => $labels,
'public' => true,
'show_ui' => true,
'query_var' => true,
'hierarchical' => false,
'menu_position' => 5,
'has_archive' => true,
'supports' => array('title','editor','author','thumbnail','comments') );
register_post_type('blog', $args);
$args = array(
'label' => 'カテゴリー',
'public' => true,
'has_archive' => true,
'show_ui' => true,
'rewrite' => array(true, 'with_front' => false),
);
register_taxonomy('blog_category','blog',$args);
$args = array(
'label' => 'タグ',
'public' => true,
'show_ui' => true,
'hierarchical' => false );
register_taxonomy('blog_tag','blog',$args);
}
add_action('init', 'blog_custom_post_type');
タクソノミーが ‘blog_category’ と ‘blog_tag’ なら
<h3>ブログカテゴリー</h3>
<ul>
<?php wp_list_categories('title_li=&taxonomy=blog_category'); ?>
</ul>
<h3>ブログタグ</h3>
<ul>
<?php wp_tag_cloud('title_li=&taxonomy=blog_tag'); ?>
</ul>
<?php the_terms( $post->ID, 'blog_category'); ?>
<?php the_terms( $post->ID, 'blog_tag'); ?>
です。
どちらも階層なし(タグ型)のタクソノミーになっていますが、階層型(カテゴリー型)のタクソノミーにするなら ‘hierarchical’ => true が必要です。
‘rewrite’ => array(true, ‘with_front’ => false), も指定がおかしいです。とりあえず、指定しないほうが良いかも。
あと、ちゃんとタクソノミーを付けて ‘blog’ を投稿していますか?
pluto1234様
表示されました!
私はタクソノミーについて理解が足りなかったようです・・・。
pluto1234様のおかげで望んでいるURLを取得できました。
本当にありがとうございました。
Mee
(@keisakamoto)
既にwp_list_categoriesにより解決された様ですが、
最初のソースの点について書いておきます。
まず最初のエラーは(33行目の部分)は
<li><a href="<?php echo $term_link;>"><?php echo $term_title;?></a></li>
の部分で正しくは
<li><a href="<?php echo $term_link; ?>"><?php echo $term_title;?></a></li>
となり、PHPの閉じタグ漏れだと思います。
あと、その後の廻し方自体は
get_terms後にforeachで廻している所
$term_link = get_term_link($term_obj->ID);
が
$term_link = get_term_link(intval($term_obj->term_id), 'staff');
とかにしておかないと、おそらくエラーになります。要点は
・IDじゃなくterm_id
・get_term_link内はis_intでスラッグ名かIDの判定を行っているのでintvalで要整数値化
・第二引数のタクソノミー省略はエラー
だと思います。横やりスミマセン。