如何在此代码中放置其他功能?

时间:2019-07-20 00:25:27

标签: php wordpress

如果字段为空,如何不显示文本“颜色”或“长度”等?

add_action( 'woocommerce_after_shop_loop_item', 'acf_template_loop_product_meta', 20 );

function acf_template_loop_product_meta() {

    echo '<h4>Color:' . get_field( '$colors = $product->get_attribute( 'pa_colors' )' .'</h4>';
    echo '<h4>Length:' . get_field( 'length' ) . '</h4>';
    echo '<h4>Petal Count:' . get_field( 'petal_count' ) . '</h4>';
    echo '<h4>Bud Size:' . get_field( 'bud_size' ) . '</h4>';
}

else {}

2 个答案:

答案 0 :(得分:0)

如果缺少字段,则可以在回显h4元素之前提前返回。

$product->get_attribute('pa_colors')行将不起作用,因为未定义$product变量。也许您在函数中缺少global $product;

add_action('woocommerce_after_shop_loop_item', 'acf_template_loop_product_meta', 20);

function acf_template_loop_product_meta()
{
    $colors = $product->get_attribute('pa_colors');

    if (!get_field('length') || !get_field('petal_count') || !get_field('bud_size')) {
        return;
    }

    echo '<h4>Color:' . get_field($colors) . '</h4>';
    echo '<h4>Length:' . get_field('length') . '</h4>';
    echo '<h4>Petal Count:' . get_field('petal_count') . '</h4>';
    echo '<h4>Bud Size:' . get_field('bud_size') . '</h4>';
}

答案 1 :(得分:0)

为什么不使其变得更容易且具有可读性:

add_action( 'woocommerce_after_shop_loop_item', 'acf_template_loop_product_meta', 20 );

function acf_template_loop_product_meta() {

    if($colors = $product->get_attribute( 'pa_colors' ) && get_field( $colors )){
        echo '<h4>Color:' . get_field( $colors ) . '</h4>';
    }

    if( get_field( 'length' ) ){
        echo '<h4>Length:' . get_field( 'length' ) . '</h4>';
    }

    echo '<h4>Petal Count:' . get_field( 'petal_count' ) . '</h4>';
    echo '<h4>Bud Size:' . get_field( 'bud_size' ) . '</h4>';
}