php - 如果 WooCommerce 单一产品中的内容为空,则隐藏自定义产品选项卡

标签 php wordpress woocommerce product advanced-custom-fields

我在 ACF 插件中创建了一个字段。我添加了下面的代码以将数据显示为自定义选项卡,但即使该字段为空,该选项卡也始终可见。我错过了什么?


// 1.Displays the tab on every product page
add_filter( 'woocommerce_product_tabs', 'woo_new_tab' );
    function woo_new_tab( $tabs ) { 
    // Adds the new tab 
        if (!empty(get_the_content())) {
            $tabs['application'] = array(
                'title'     => __( 'Application', 'woocommerce' ),
                'priority'  => 20,
                'callback'  => 'woo_new_tab_content'
            );
        return $tabs;
        }
    }

// the callback (refer to https://www.advancedcustomfields.com/resources/code-examples/) for more info
function woo_new_tab_content() {
// The new tab content
//Working with Array values (checkbox, select, relationship, repeater) use below

    $values = get_field('application'); //field name
    if($values){
        echo '<ul>';
        foreach($values as $value){
            echo '<li>' . $value . '</li>';
        }
        echo '</ul>';
    }
}

最佳答案

要在内容为空时隐藏自定义产品选项卡,请改用:

// Add a custom product tab on single product pages
add_filter( 'woocommerce_product_tabs', 'woo_new_tab' );
function woo_new_tab( $tabs ) { 
    $values = get_field('application');

    // Adds the new tab 
    if ( ! empty($values) ) {
        $tabs['application'] = array(
            'title'     => __( 'Application', 'woocommerce' ),
            'priority'  => 20,
            'callback'  => 'woo_new_tab_content'
        );
    }
    return $tabs;
}

// Displays the tab content 
function woo_new_tab_content() {
    $values = (array) get_field('application');

    echo '<ul>';

    foreach ( $values as $value ) {
        echo '<li>' . $value . '</li>';
    }
    echo '</ul>';
}

关于php - 如果 WooCommerce 单一产品中的内容为空,则隐藏自定义产品选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67148370/

相关文章:

php - 如何在 ubuntu 14.04 上安装 php 5.3.10

php - 从数据库表中发送 ID(例如 URL 中的 GET 参数)是否是一个好习惯?

wordpress - Wordpress 添加额外用户配置文件字段的问题

wordpress - 使用 if is_page() Wordpress 条件语句

php - 如何在邮件中显示ACF的字段?

php - 使用 Woo Cancel for Customers Plugin 在我的帐户订单列表中添加取消按钮

php - 如何设置 curl 以允许 HTTPS?

php - zend框架的fetchAll方法有限制吗?

CSS 链接行为覆盖/继承 : FF/Chrome give random results with Wordpress customization

php - WooCommerce 按 id 从循环中删除产品