Respuestas de foro creadas

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Iniciador del debate asego

    (@asego)

    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

    Iniciador del debate asego

    (@asego)

    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.

    Iniciador del debate asego

    (@asego)

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

    Iniciador del debate asego

    (@asego)

    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)