我试图在我的网站的商店页面的产品列表中添加一个自定义字段。
我在functions.php文件中使用了此代码:

add_action( 'woocommerce_after_shop_loop_item_title', 'ins_woocommerce_product_excerpt', 3);

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

if (!function_exists('ins_woocommerce_product_excerpt'))
{
    function ins_woocommerce_product_excerpt() {

        global $post;
        $item = get_post_meta( $post->ID, 'item12', true );

        if ( $item !== "" || is_home() || is_shop() || is_product_category() || is_product_tag() ) {


            echo '<span class="item12"><em>';
            echo ( $item );
            echo '</em></span>';

        }
    }
}

代码工作并显示自定义字段(使用css制作的绿色标签),
在商店页面的图像产品上。
css代码:
.item12 {
    position: absolute;
    margin-top: -3.750em;
    z-index: 8;
    color: #FFFFFF;
    display: block;
    color: #FFFFFF;
    text-shadow: black 0.063em 0.063em 0.313em;
    font-weight: 800;
    font-size: 1.125em;
    background-color: rgba(89, 140, 31, 0.71);
    border-radius: 0.438em;
    padding: 0.313em 0.313em 0.313em 0.313em;
    position: absolute;
    /* margin-top: -100px; */
    margin-left: 9.375em;
}

问题是当自定义字段为空时,图像上会出现一个绿点。
如何仅在自定义字段不为空时显示标签?
谢谢。

最佳答案

在function.php中添加新代码,如下所示:

add_action( 'woocommerce_after_shop_loop_item_title', 'ins_woocommerce_product_excerpt', 3);

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

if (!function_exists('ins_woocommerce_product_excerpt'))
{
    function ins_woocommerce_product_excerpt() {

        global $post;
        $item = get_post_meta( $post->ID, 'item12', true );

        if ( $item !== "" || is_home() || is_shop() || is_product_category() || is_product_tag() ) {

            if(!empty($item)){
                echo '<span class="item12"><em>';
                echo ( $item );
                echo '</em></span>';
            }
        }
    }
}

关于php - WooCommerce:元素为空时隐藏css适当性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37656809/

10-11 00:02