web-dev-qa-db-ja.com

高度なカスタムフィールド - 分類用語の画像

Advanced Custom Fields プラグインを使用して、分類法にカスタムフィールドを追加しました。そのカスタムフィールドは、その用語に関連付けられている画像です。今私は私がすべての用語のリストを表示するページを持っています(例えば自動車製造業者):

$terms = get_terms("manufacturer_tax", array(
    'hide_empty' => 0
));
$count = count($terms);
if ( $count > 0 ){
    foreach ( $terms as $term ) {
        echo $term->name;
        echo "<img src='" . $term->manufacturer_logo . "'>"; /* NOT WORKING */
     }
}

各用語に関連付けられた画像を表示したいです。どうすればこれを達成できますか?

_編集_

これが1つの用語の結果の例です。stdClass Object ( [term_id] => 5 [name] => Honda [slug] => honda [term_group] => 0 [term_taxonomy_id] => 5 [taxonomy] => manufacturer_tax [description] => [parent] => 0 [count] => 0 )

この用語に関連する画像はありません。しかし、私はバックオフィスで画像を見ることができます。

2
Cthulhu

私自身はこれを試してみました。ACFが分類法にフィールドを追加できたことに気付いていませんでした。これは本当に便利なので、私も考えたかったのです。

        <?php

        $libargs=array(  
            'hide_empty'        => 0,  
            'parent'        => 0,  
            'taxonomy'      => 'library_categories');  

            $libcats=get_categories($libargs);  

            foreach($libcats as $lc){ 
                $termlink = get_term_link( $lc->slug, 'library_categories' ); 

        ?>

            <a class="single-library-cat" href="<?php echo $termlink; ?>">
                <img src="<?php the_field('taxonomy_image', 'library_categories_'.$lc->term_id); ?>" />
                <?php echo $lc->name; ?>
            </a>

        <?php } ?>

こちらのドキュメントにあります http://www.advancedcustomfields.com/docs/tutorials/retrieving-values-from-other-pages-taxonomy-user-media/

<?php the_field('taxonomy_image', 'library_categories_3'); ?>

そのため、フィールド名を自分のフィールド名に、library_categories_を分類名に置き換えます。それはそれをすべきです!

4
Barry Walsh

格納されている内容を確認できるように、$項の結果を印刷できますか。

私は代わりにこのプラグインを使いました http://wordpress.org/extend/plugins/taxonomy-images/

そして、各分類の画像を取得するために使用したコードは次のとおりです。

<?php

        $libargs=array(  
            'hide_empty'        => 0,  
            'parent'        => 0,  
            'taxonomy'      => 'library_categories');  

            $libcats=get_categories($libargs);  

            foreach($libcats as $lc){ 
                $termlink = get_term_link( $lc->slug, 'library_categories' ); 
                $thumb_url = get_option('taxonomy_image_plugin');
                $thumb_url = wp_get_attachment_url( $thumb_url[$lc->term_taxonomy_id] );
            }
?>

それでは、先に高度なカスタムフィールドで機能させるようにしましょう。

2
Barry Walsh