web-dev-qa-db-ja.com

カスタムの投稿タイプカテゴリを呼び出す方法

私はここに私達のポートフォリオページを持っています: http://www.slarc.com/portfolio-view/central-control-building-east-texas/

プロジェクトのタイトルの下にあるオレンジ色のリンクは、ページのコンテンツに手動で挿入されています。これを自動にするために投稿カテゴリを呼び出す方法はありますか?

私が使用しているテンプレートでは、WP Postsの下にポートフォリオの投稿がありません。これは "Portfolio"という名前のカスタム投稿タイプの下にあります。

下記のコードを受け取りました。しかし、私は自分のページにそれを追加する方法がわかりません。 PHPコードの下のページですべてを試したところ、表示されなくなりました。

<?php  
$args = array( 
    'type'                     => 'post', 
    'child_of'                 => 0, 
    'parent'                   => '', 
    'orderby'                  => 'name', 
    'order'                    => 'ASC', 
    'hide_empty'               => 1, 
    'hierarchical'             => 1, 
    'exclude'                  => '', 
    'include'                  => '', 
    'number'                   => '', 
    'taxonomy'                 => 'your_custom_taxonomy', 
    'pad_counts'               => false ); 
$categories = get_categories($args); 

echo '<ul>'; 

foreach ($categories as $category) { 
    $url = get_term_link($category);?> 
    <li><a href="<?php echo $url;?>"><?php echo $category->name; ?></a></li> 
<?php 
} 

echo '</ul>'; 
?>

ありがとう、ローン

1
lorne17

「ポートフォリオ」投稿タイプがどの分類法を使用しているのかを知らずに確認するのは困難です。異なる投稿タイプであっても、デフォルトのカテゴリ分類法を使用している可能性があります。もしそうなら、上でやっているようにget_categories();を使う必要はありません。以下が動作するはずです。

<?php get_the_category_list('|'); ?>

コードが機能しないのは、'your_custom_taxonomy'が有効な分類法ではないためです。あなたはいつでも WordPressのデバッグ をオンにして、空白のページを見る代わりに、ポップアップしているエラーを表示することができます。

詳しくは、 get_the_category_list および get_categories を参照してください。

特定の投稿に適用される用語のみ(利用可能なすべてのカテゴリではない)を表示しようとしている場合、分類法portfolio_categoryについて、次のことを試してください。

<?php echo get_the_term_list( $post->ID, 'portfolio_category' ); ?>

参照: http://codex.wordpress.org/Function_Reference/get_the_term_list

1
bcorkins