我尝试在变量产品中显示/打印自定义字段的值:
get_post_meta();
但是,我没有成功,然后我详细描述了问题:
我在所有产品(modelo)中添加了一个自定义字段,并在归档函数中添加了下一个代码行.php:
function campo_personalizado_apg() {
woocommerce_wp_text_input( array(
'id' => 'modelo',
'class' => 'wc_input short',
'label' => __( 'modelo', 'woocommerce' )
) );
}
add_action( 'woocommerce_product_options_pricing', 'campo_personalizado_apg' );
function campo_personalizado_variable_apg( $loop, $datos_de_variacion, $variacion ) {
echo PHP_EOL . "<div>";
woocommerce_wp_text_input( array(
'id' => 'modelo[' . $variacion->ID . ']',
'class' => 'wc_input short',
'label' => __( 'modelo', 'woocommerce' ),
'value' => get_post_meta( $variacion->ID, 'modelo', true ),
'style' => 'display:block;',
) );
echo "</div>" . PHP_EOL;
}
add_action( 'woocommerce_product_after_variable_attributes', 'campo_personalizado_variable_apg', 10, 3 );
function guarda_campos_personalizados_apg( $product_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
if ( isset( $_POST['modelo'] ) ) {
update_post_meta( $product_id, 'modelo', $_POST['modelo'] );
} else {
delete_post_meta( $product_id, 'modelo' );
}
}
add_action( 'save_post', 'guarda_campos_personalizados_apg' );
function guarda_campos_personalizados_variable_apg( $product_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
if ( isset( $_POST['modelo'][$product_id] ) ) {
update_post_meta( $product_id, 'modelo', $_POST['modelo'][$product_id] );
} else {
delete_post_meta( $product_id, 'modelo' );
}
}
add_action( 'woocommerce_save_product_variation', 'guarda_campos_personalizados_variable_apg', 10, 2 );
我使用下一个代码行在任何.php存档中显示/打印自定义字段的值:
if ($product->is_type('variable')) {
echo get_post_meta(get_the_ID(), 'modelo', true);
var_dump(get_post_meta(get_the_ID(), 'modelo', true));
} else {
echo get_post_meta(get_the_ID(), 'modelo', true);
}
在单个产品中,自定义字段显示正常:
Modelo: p5r.2
问题是当我尝试显示/打印变量产品的自定义字段的值时:
代码行:
get_post_meta(get_the_ID(), 'modelo', true);
显示/打印:
array
代码行:
var_dump(get_post_meta(get_the_ID(), 'modelo', true));
显示/打印:
array(3) { [4299]=> string(3) "p5r.3" [4300]=> string(3) "p5r.4" [4301]=> string(3) "p5r.5" }
¿你能帮助我吗?请。
(抱歉我的英文)。
感谢。