Pregunta sobre Developing with WordPress de Wordpress:

Llamada Ajax para la funci贸n PHP

Un usuario pregunt贸 馃憞

Hola,

驴Alguien puede mostrarme un buen ejemplo de c贸mo llamar a una funci贸n PHP con Ajax? Quiero guardar una galer铆a de im谩genes (con un n煤mero din谩mico de im谩genes) en una base de datos en la secci贸n de configuraci贸n de administraci贸n. El c贸digo siguiente est谩 incompleto o posiblemente contiene algunos errores. Mu茅strame un buen ejemplo o una mejor manera:


<button type="button" class="btn btn-primary" onclick="jsAddSettingsFields()">Save Changes</button> 

    function jsAddSettingsFields(){

        var elements = document.getElementsByTagName("img");
        var urlsdata = new Array();

        for (var i = 0, element; element = elements[i++];) {
            if (elements[i].id == "idGalPic") {
                 urlsdata[i] = elements[i].src; 
    //now we have all image urls in array, now need to call add_settings_fields

                 var data = {
                        action: 'php_addsettingsfields',
                        p_urls: urlsdata //I think i need to JSON this
                    };
                 jQuery.post( "", function( data ) );
                 //https://api.jquery.com/jQuery.post/
            }
        }

    }//end of js function

//PHP part:
<?php
  add_action( 'wp_ajax_update_options', 'php_addsettingsfields_callback' );
  add_action( 'wp_ajax_nopriv_update_options', 'php_addsettingsfields_callback' );

            function php_addsettingsfields_callback() {
    
                $pic_urls = $_POST['p_urls'];  //De-JSON-fy this variable

                foreach ($pic_urls as &$url) {
                    add_settings_field($url);
                }
	        add_settings_field(
	            'pic_url_id', // ID - slug name of field
	            '', // Title 
	            array( $this, 'pic_gal_callback' ), // Callback
	            'TestPlugin', // Page
	            'setting_section_id' // Section ID - slug name of page         
	        );   

	    public function pic_gal_callback()  
	    {
               <input type="hidden" id="idPic" name="idPic" value=$url>
             }

             //after all hidden fields(with gallery pic urls) are added to setting section submit the page and save the gallery urls to database

Este tema fue modificado hace 9 meses, 3 semanas por. Raz贸n: use el bot贸n CODIGO para formatear el c贸digo

(@bcworkz)

Hace 9 meses, 3 semanas

Recomiendo obtener una solicitud b谩sica de Ajax y una respuesta que funcione correctamente antes de intentar cualquier cosa que tenga que ver con las URL de las im谩genes. Una vez que funcione, puede agregarlo para agregar la funcionalidad que necesita. La solicitud POST debe ir a /wp-admin/admin-ajax.php. Las acciones que realiza est谩n conectadas en funci贸n del elemento de datos de 芦acci贸n禄 que realiza. Para obtener m谩s detalles, consulte el Manual de plugins.

Lanzador de hilos

(@ direktor1977)

Hace 9 meses, 3 semanas

Maldita sea, este Javascript me est谩 volviendo loco. 驴Puedes ayudarme a corregir este viol铆n por favor?

https://jsfiddle.net/direktor/2rqgfh3z/2/

Quiero obtener las URL de todos los elementos de la imagen y editarlos y conectarlos a Json. 驴Por qu茅 no funciona?

(@bcworkz)

Hace 9 meses, 3 semanas

Consulte la consola de errores para obtener sugerencias para errores tontos, como un enchufe { sa for l铆nea de bucle.

No es v谩lido HTML para m谩s de una funci贸n para tener una determinada ID de p谩gina. Entonces no puedes usarlo getElementById() para obtener m谩s de una funci贸n. Utilice un m茅todo de selecci贸n diferente u obtenga el<ul>elemento y profundice para obtener<img /> nodos secundarios.

Dej茅 de verificar cuando se trataba de reescribir su c贸digo, por lo que a煤n puede haber otros problemas. Entre verificar la consola y verificar los valores de las variables con alertas, deber铆a poder encontrar el c贸digo de ejecuci贸n.

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *