Respuestas de foro creadas

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Hola kallokoo, tienes razon. Aquí pongo el codigo correcto.

    function articulo() {
    global $
    // Noncename necesario para verificar de dónde vienen los datos
    echo ‘<input type=”hidden” name=”articulometa_noncename” id=”articulometa_noncename” value=”‘.wp_create_nonce( plugin_basename(__FILE__) ) . ‘” />’;
    
    // Obtenemos los atributos del artículo si estuvieran guardados, con get_post_meta y el nombre del atributo
    $marca = get_post_meta($post->ID, ‘_marca’, true);
    $precio = get_post_meta($post->ID, ‘_precio’, true);
    $talla = get_post_meta($post->ID, ‘_talla’, true);
    
    // Mostramos los campos de texto donde introduciremos los atributos
    echo ‘<p>Marca</p>’;
    echo ‘<input type=”text” name=”_marca” value=”‘ . $marca . ‘” class=”widefat” />’;
    echo ‘<p>Precio</p>’;
    echo ‘<input type=”text” name=”_precio” value=”‘ . $precio . ‘” class=”widefat” />’;
    echo ‘<p>Talla</p>’;
    echo ‘<input type=”text” name=”_talla” value=”‘ . $talla . ‘” class=”widefat” />’;
    }
    function save_articulos_meta($post_id, $post) {
    // Comprobación de seguridad para que no se acceda desde otros sitios
    if ($_POST && !wp_verify_nonce($_POST[‘articulometa_noncename’], __FILE__)) {
    return $post->ID;
    }
    
    // Comprobación de que el usuario actual puede editar
    if ( !current_user_can( ‘edit_post’, $post->ID )) {
    return $post->ID;
    }
    
    // Obtenemos los atributos guardados en POST cuando guardamos nuestra página de artículo
    $articulos_meta[‘_marca’] = $_POST[‘_marca’]; // <– AQUI
    $articulos_meta[‘_precio’] = $_POST[‘_precio’]; // <– AQUI
    $articulos_meta[‘_talla’] = $_POST[‘_talla’]; // <– AQUI
    
    // Guardamos los valores de los atributos como campos personalizados
    foreach ($articulos_meta as $key => $value) {
    // No guardamos si el post es una revisión
    if ($post->post_type == ‘revision’) {
    return;
    }
    
    if (get_post_meta($post->ID, $key, FALSE)) {
    // Si el atributo ya existía, lo actualizamos
    update_post_meta($post->ID, $key, $value);
    } else {
    // Si no existía, lo añadimos nuevo
    add_post_meta($post->ID, $key, $value);
    }
    
    // Si el valor está en blanco, eliminamos el atributo
    if (!$value) {
    delete_post_meta($post->ID, $key);
    }
    }
    }

    El problema es que es un input, con el name y el id iguales; y cuando intento recuperarlo, me falla

    Buenas,
    Me funciono la primera opcion que propuso @almendron; debido a que la segunda, no sabia donde tengo que sustituir el = por el =>.
    Muchas gracias por vuestras contestaciones. Un saludo.

    Hola LGrusin,
    Esas indicaciones que me has pasado, me funcionan perfectamente.
    Muchas gracias. Un saludo.

    Gracias por tu contestación LGrusin.
    Lo que quiero hacer es tener un custom post type personalizado, en este caso libros, para luego tener una plantilla personalizada y visualizar los datos de una manera especifica que estará en el fichero php.
    Un saludo.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)