Pregunta

Tengo algunos problemas con una cosa personalizada que estoy haciendo.

He implenciado un cargador de imágenes personalizado en un metabox en un tipo de publicación personalizado. Ahora estoy tratando de resolver una manera que me permita reordenar las imágenes cargadas. Descubrí que JQuery Sardable sería una forma conveniente para que el usuario pueda arrastrar y soltar en qué orden deberían aparecer las imágenes (en el frontend estoy usando un control deslizante de imagen jQuery para mostrar las imágenes y el orden de las imágenes se deciden mediante los datos de archivos adjuntos "menú_order", por lo que necesito algún tipo de funcionalidad que guarde el Menu_order que creo con la jQuery Ordenable.

Ahora, este es un ejemplo simplificado de lo que tengo:http://jsfiddle.net/ln4sa/

Junto con cada archivo adjunto, he agregado campos de entrada ocultos con la ID de archivo adjunto y un campo que albergará la posición actual del accesorio en el orden de menú.

La ID del archivo adjunto se obtiene fácilmente con WP PHP básico ($ adjunto-> ID). Sin embargo, aún no he encontrado una manera fácil de completar el #ATT_ORDER con el Menu_order adecuado. Así que aquí me gustaría ayuda/entrada si alguien fuera tan amable.

Para guardar la información real, estoy usando AJAX para extraer los valores de los campos de entrada:

add_action('save_post', 'save_attachment_position');
function save_attachment_position(){
    global $post;
    if ($post->post_type == 'work') { ?>
        <script type="text/javascript">
        //<![CDATA[
            jQuery.ajax({
                type: 'post',
                url: ajaxurl,
                data: {
                    action: 'order_attachment',
                    att_ID: jQuery(this).parents('.attachment').find('#att_id').val(),
                    att_order: jQuery(this).parents('.attachment').find('#att_order').val(),
                    _ajax_nonce: jQuery('#ordernonce').val(),
                    post_type: 'attachment'
                }
            });
        //]]>
    </script><?php 
    }
}

Y luego use wp_update_post para actualizar los datos de archivo adjunto:

add_action('wp_ajax_order_attachment', 'order_attachment');
function order_attachment($post) {
    $attachmentdata = array();
    $attachmentdata['ID'] = $_POST['att_ID'];
    $attachmentdata['menu_order'] = $_POST['att_order'];
    wp_update_post($attachmentdata);    
}

Soy consciente de que necesito algún tipo de bucle aquí, pero lo resolveré.

¿Algunas ideas?

Gracias

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
scroll top