我正在使用高级自定义字段插件,我可以只在存档页面上的产品标题下方显示文本字段,但我还需要在同一位置(在文本字段下)将图像显示为徽标。
这是我用于显示文本字段的代码,它可以工作:
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 . '" />';
}
}
This is the result:
以及我创建的自定义字段;
当您使用高级自定义字段时,您需要使用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 文件中。经过测试并有效。
你会得到类似的东西:
ACF 图像场文档 https://www.advancedcustomfields.com/resources/image/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)