如果包含自定义字段图像,则仅列出类别

时间:2015-02-11 作者:Ferrmolina

我在显示列表类别时遇到问题。

    $args = array(
      \'orderby\' => \'name\',
      \'order\' => \'ASC\'
    );
    $categories = get_categories($args);
        foreach($categories as $category) { 
          echo \'<a class="cover margin-ultimos" href="\' . get_category_link( $category->term_id ) . \'"><div id="cover-home" class="gray-shadow"><img src="\'.(( $terms = get_the_category() ))? the_field( \'portada\', \'category_\'.$terms[0]->term_id ):\'" alt="Portada\'. get_the_title ( $ID ) . \'" /></div></a>\';
            } 
显示fiel的代码是:

if ( $terms = get_the_category() ) the_field( \'portada\', \'category_\' . $terms[0]->term_id );
也许我必须用一个三元运算符把if-stament放在echo中。但我可以。能帮我一下吗?谢谢

1 个回复
最合适的回答,由SO网友:thomascharbit 整理而成

你到底想达到什么目的?是否要列出具有图像自定义字段的类别?

如果是,请尝试以下操作:

 <?php
    $args = array(
      \'orderby\' => \'name\',
      \'order\' => \'ASC\'
    );
    $categories = get_categories($args);

    foreach($categories as $category) { 

        // check if image field is set on category
        if ( get_field( \'portada\', \'category_\' . $category->term_id ) ) {
            // display link
            echo \'<a class="cover margin-ultimos" href="\' . get_category_link( $category->term_id ) . \'"><div id="cover-home" class="gray-shadow"><img src="\'. get_field( \'portada\', \'category_\'.$category->term_id ). \'" alt="Portada\'. get_cat_name ( $category->term_id ) . \'" /></div></a>\';
        }

    } 
代码中的一些错误:

在显示链接之前,您应该先测试图像是否存在,然后使用get\\u字段而不是echo中的\\u字段,因为您已经在循环它们,所以不需要获取请求新的类别对象,在检索类别标题时使用get\\u cat\\u name而不是get\\u title

结束
如果包含自定义字段图像,则仅列出类别 - 小码农CODE - 行之有效找到问题解决它

如果包含自定义字段图像,则仅列出类别

时间:2015-02-11 作者:Ferrmolina

我在显示列表类别时遇到问题。

    $args = array(
      \'orderby\' => \'name\',
      \'order\' => \'ASC\'
    );
    $categories = get_categories($args);
        foreach($categories as $category) { 
          echo \'<a class="cover margin-ultimos" href="\' . get_category_link( $category->term_id ) . \'"><div id="cover-home" class="gray-shadow"><img src="\'.(( $terms = get_the_category() ))? the_field( \'portada\', \'category_\'.$terms[0]->term_id ):\'" alt="Portada\'. get_the_title ( $ID ) . \'" /></div></a>\';
            } 
显示fiel的代码是:

if ( $terms = get_the_category() ) the_field( \'portada\', \'category_\' . $terms[0]->term_id );
也许我必须用一个三元运算符把if-stament放在echo中。但我可以。能帮我一下吗?谢谢

1 个回复
最合适的回答,由SO网友:thomascharbit 整理而成

你到底想达到什么目的?是否要列出具有图像自定义字段的类别?

如果是,请尝试以下操作:

 <?php
    $args = array(
      \'orderby\' => \'name\',
      \'order\' => \'ASC\'
    );
    $categories = get_categories($args);

    foreach($categories as $category) { 

        // check if image field is set on category
        if ( get_field( \'portada\', \'category_\' . $category->term_id ) ) {
            // display link
            echo \'<a class="cover margin-ultimos" href="\' . get_category_link( $category->term_id ) . \'"><div id="cover-home" class="gray-shadow"><img src="\'. get_field( \'portada\', \'category_\'.$category->term_id ). \'" alt="Portada\'. get_cat_name ( $category->term_id ) . \'" /></div></a>\';
        }

    } 
代码中的一些错误:

在显示链接之前,您应该先测试图像是否存在,然后使用get\\u字段而不是echo中的\\u字段,因为您已经在循环它们,所以不需要获取请求新的类别对象,在检索类别标题时使用get\\u cat\\u name而不是get\\u title