使用自定义 post 字段到 Woocommerce 标题循环

Use custom post field to Woocmmerce title loop

我在 Woocommerce 中为我的产品使用 Wordpress 自定义 post 字段。

我创建了一个名为 'phone_model' 的自定义字段,它将包含 'iPhone 6 Plus' 等字符串

在我的 child 主题中 functions.php 我添加了这个功能:

function wc_phone_model(){
    $custom_fields = get_post_custom($post_id);
    $phone_model = $custom_fields['phone_model'];
    if (is_array($phone_model)) {
        foreach ( $phone_model as $key => $value ) {
            echo $value;
        }
    }
}

一切正常。它将在自定义 post 字段中显示给定值。

在我的 Woocommerce 标题循环 title.php 中,我添加了这一行:

<div class="phone_model_wrap"><span class="phone_model"><?php wc_phone_model() ?></span></div>

只有当自定义 post 字段中有内容要显示时,我如何制作此节目?

提前谢谢大家!

干杯肯恩

我知道回声是一种耻辱 html,但在这种情况下,我想不出更好的方法。我会推荐这样的东西:

function wc_phone_model(){
    $custom_fields = get_post_custom($post_id);
    $phone_model = $custom_fields['phone_model'];
    if (is_array($phone_model)) {
        echo '<div class="phone_model_wrap"><span class="phone_model">';
        foreach ( $phone_model as $key => $value ) {
            echo $value;
        }
        echo '</span></div>';
    }
}

那么在你的title.php中,调用函数就可以了。

<?php wc_phone_model() ?>

不过,如果有人有一个干净的解决方案而不回显 html,我很想看看!

@kunruh 我在使用您的解决方案时遇到了另一个问题。 我制作了一个新函数,可以在其他地方使用 class 等等

function wc_phone_model_single_product(){
    $custom_fields = get_post_custom($post_id);
    $phone_model = $custom_fields['phone_model'];
    if (is_array($phone_model)) {
        echo '<div class="phone_model_wrap"><span class="phone_model_single_product">Til ';
        foreach ( $phone_model as $key => $value ) {
            echo $value;
        }
        echo '</span></div>';
    }
}

即使 $phone_model 中没有任何内容,"Til" 也会被回显。 我该如何避免这种情况?

干杯肯恩