在WooCommerce存档页面中产品标题下方显示ACF图像

时间:2018-09-09 14:24:00

标签: php wordpress woocommerce advanced-custom-fields imagefield

我正在使用“高级自定义字段插件”,我只能在“存档”页面上产品标题下方显示文本字段,但我还需要在同一位置(在文本字段下方)将图像显示为徽标。

这是我用于显示文本字段的代码,它有效;

add_action( 'woocommerce_after_shop_loop_item_title', 'custom_field_display_below_title', 2 );
function custom_field_display_below_title(){
    global $product;

    // Get the custom field value
    $custom_field = get_post_meta( $product->get_id(), 'oa1', true );

    // Display
    if( ! empty($custom_field) ){
        echo '<p class="ozel-alanlar">'.$custom_field.'</p>';
    }

}

我也尝试使用此代码显示图像字段,但是它不起作用;

add_action( 'woocommerce_after_shop_loop_item_title', 'custom_image_display_below_title', 2 );
function custom_image_display_below_title() {
    global $product;

    // Get the custom field value
    $oa2 = get_post_meta( $product->id, 'oa2', true );

    // Display
    if ( ! empty( $oa2 ) ) {
        echo '<img src="' . $oa2 . '" />';
    }

}

这是结果;

http://www.awesomescreenshot.com/image/3601047/62187bf2b14fc220112fc9456bda1ec9

还有我创建的自定义字段;

http://www.awesomescreenshot.com/image/3601051/9559df786631f1dc4d81937487e6bba2

http://www.awesomescreenshot.com/image/3601052/202b5f9b0f05aa661e16ece303ab7abe

如果有人可以帮助我,我将不胜感激。,

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

在使用“高级”自定义字段时,您需要使用get_field()专用功能。图片字段需要设置为“图片网址”。现在的代码将是:

add_action( 'woocommerce_after_shop_loop_item_title', 'custom_field_display_below_title', 2 );
function custom_field_display_below_title(){
    global $product;

    // Display ACF text
    if( $text = get_field( 'oa1', $product->get_id() ) ) {
        echo '<p class="ozel-alanlar">' . $text . '</p>';
    }

    // Display ACF image
    if( $image_url = get_field( 'oa2', $product->get_id() ) ) {
        echo '<img src="' . $image_url . '" />';
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

您将得到类似的东西:

enter image description here

ACF image field documentation