+34 911 599 883

+34 911 895 172

Cómo añadir nuevos atributos de coches al theme cardealer en WordPress

El theme Cardealer usa para añadir atributos se usa el plugin Advanced Custom Fields Pro (ACF) .

Si quieres añadir atributos que no aparecen en el listado que trae por defecto el theme te contamos lo que hay que hacer. Deberás editar el archivo functions.php

  1. Por FTP abrir el archivo functions.php de tu tema hijo.

Te recomendamos que trabajes sobre Child Theme para que luego cuando actualices el tema padre no pierdas los cambios realizados.

2. Si quieres añadir un nuevo grupo de atributos llamado por ejemplo “Campos Extra” en el detalle del vehículo tienes que añadir la siguiente función y su llamada en el archivo functions.php. Con esta parte consigues que se vea en el backend.

 

add_filter( 'cardealer_acf_car_data', 'cardealer_child_extend_acf_car_data');
function cardealer_child_extend_acf_car_data( $args ){
/*
### CODE TO ADD NEW FIELDS ###
*/

// Add Tab
// This is must required to separate additional fields from existing tabs.
$args['fields'][] = array (
'key' => 'field_4f226f8e162211e8b3706f6e6c696e63', //Must pass unique value here. Do not use blank space and special character just use int or alphabets. Used "http://onlineuuidgenerator.com/time/5/0/0/" to generate unique key
'label' => esc_html__('Campos Extra','theme-textdomain'),
'name' => '',
'type' => 'tab',
'instructions' => '',
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'placement' => 'left',
'endpoint' => 0,
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_4f226d22162211e8a9f06f6e6c696e64',
'label' => esc_html__('Cilindrada','theme-textdomain'),
'name' => 'cilindrada',
'type' => 'text', // TYPE OF FIELD (i.e. text, editor and so on)
'instructions' => esc_html__('Cilindrada.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_f0c67d62162211e8a9d96f6e6c696e65',
'label' => esc_html__('Placa','theme-textdomain'),
'name' => 'placa',
'type' => 'text',
'instructions' => esc_html__('Placa.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_f0c67d62162211e8a9d96f6e6c696e66',
'label' => esc_html__('Iva','theme-textdomain'),
'name' => 'iva',
'type' => 'text',
'instructions' => esc_html__('Iva.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_f0c67d62162211e8a9d96f6e6c696e67',
'label' => esc_html__('Potencia','theme-textdomain'),
'name' => 'potencia',
'type' => 'text',
'instructions' => esc_html__('Potencia.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_f0c67d62162211e8a9d96f6e6c696e68',
'label' => esc_html__('Garantía','theme-textdomain'),
'name' => 'garantia',
'type' => 'text',
'instructions' => esc_html__('Garantía.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

// ADD FIELD
$args['fields'][] = array (
'key' => 'field_f0c67d62162211e8a9d96f6e6c696e69',
'label' => esc_html__('Libro de mantenimiento','theme-textdomain'),
'name' => 'libro_mantenimiento',
'type' => 'text',
'instructions' => esc_html__('Libro de mantenimiento.', 'theme-textdomain'),
'required' => 0,
'conditional_logic'=> 0,
'wrapper' => array (
'width'=> '',
'class'=> '',
'id' => '',
),
'default_value'=> '',
'maxlength' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
);

return $args;
}

 

3. Ahora si quieres que estos atributos se vena en el front en la ficha de coche, tienes que añadir la siguiente función y su llamada al archivo functions.php

 

add_filter( 'cardealer_car_attributes', 'cardealer_child_extend_car_attributes', 10, 2 );
function cardealer_child_extend_car_attributes( $attributes, $post_id ){
   

// You can add new attributes like this
// List of parameters
// attribute_key = Unique Attribute Key in small letters, without space and spacial character.
// attr = Attribute Name
// value = Attribute Value
/*
$attributes[ 'attribute_key' ] = array(
'attr' => esc_html__( 'Attribute Name', 'theme-textdomain' ),
'value' => esc_html__( 'Attribute Value', 'theme-textdomain' ),
);
*/

$field_name_1 = get_field('cilindrada', $post_id);
if( $field_name_1 && !empty($field_name_1) ){
$attributes[ $field_name_1 ] = array(
'attr' => esc_html__( 'Cilindrada', 'theme-textdomain' ),
'value' => esc_html($field_name_1),
);
}

$field_name_2 = get_field('placa', $post_id);
if( $field_name_2 && !empty($field_name_2) ){
$attributes[ $field_name_2 ] = array(
'attr' => esc_html__( 'Placa', 'theme-textdomain' ),
'value' => esc_html($field_name_2),
);
}

$field_name_3 = get_field('iva', $post_id);
if( $field_name_3 && !empty($field_name_3) ){
$attributes[ $field_name_3 ] = array(
'attr' => esc_html__( 'IVA', 'theme-textdomain' ),
'value' => esc_html($field_name_3),
);
}

$field_name_4 = get_field('potencia', $post_id);
if( $field_name_4 && !empty($field_name_4) ){
$attributes[ $field_name_4 ] = array(
'attr' => esc_html__( 'Potencia', 'theme-textdomain' ),
'value' => esc_html($field_name_4),
);
}

$field_name_5 = get_field('garantia', $post_id);
if( $field_name_5 && !empty($field_name_5) ){
$attributes[ $field_name_5 ] = array(
'attr' => esc_html__( 'Garantía', 'theme-textdomain' ),
'value' => esc_html($field_name_5),
);
}

$field_name_6 = get_field('libro_mantenimiento', $post_id);
if( $field_name_6 && !empty($field_name_6) ){
$attributes[ $field_name_6 ] = array(
'attr' => esc_html__( 'Libro de mantenimiento', 'theme-textdomain' ),
'value' => esc_html($field_name_6),
);
}

return $attributes;
}

 

1 comentario en “Cómo añadir nuevos atributos de coches al theme cardealer en WordPress”

Los comentarios están cerrados.