Soporte » Plugins y Hacks » Plugin personalizado para el menu de administración Wp-Admin

  • colexpressmaicol

    (@colexpressmaicol)


    Buen Día.

    Recurro a ustedes para consultar un tema con el que llevo teniendo varios días este problema y aun no encuentro una solución.
    En el momento tengo un fragmento de código que quiero enlazarlo al menu de administración para la parte administrativa, esto ya lo conseguí, el problema radica en que al correr mi código dentro del modulo de Wp-admin JavaScript no es funcional allí y esto me genera problemas, ya que el fragmento de código de Javascript es importante para poder saber que lineas afectare mediante el uso de inputs tipo checkbox y asi mismo afectar mi base de datos, agradecería me puedan orientar.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 3 respuestas - 1 de 3 (de 3 total)
  • Adrián de Grafreak

    (@adriandegrafreak)

    Buenas,

    No sé si te he acabado de entender pero en principio si pones el código javascript dentro del ready del body debes poder ejecutarlo. Y allí chequear todo lo que necesitas.

    jQuery(body).ready(function(){
        //código javascript
    });

    Si necesitas chequear inputs, estos inputs deberán dejar una entrada en wp_options y entonces ese código chequearlo mediante ajax.

    Espero haberte ayudado y disculpa si no entendí del todo tu pregunta.

    Hola @adriandegrafreak, gracias por la respuesta.

    Estuve realizando pruebas con la linea de código que me pasaste, pero no veo que el codigo Javascript se ejecute, trate de investigar un poco mas, y me encontre con la función interna de WordPress «is_page()», con ella y con la ayuda de «add_action» encontré que al pesarle un arreglo dentro de los paréntesis como parámetro como ‘about-us’ o ‘contact’ y al agregarle como primer parametro a add_action: ‘wp_enqueue_scripts’ el código javascript que inserto se ejecuta únicamente en las interfaces de acerca de nosotros y conctacto de mi pagina, pero lo que quiero es que el codigo javasccript que inserto sea ejecute únicamente para el plugin que el menú de administración que estoy desarrollando.

    function hook_javascript() {
         if (is_page( array( 'about_us', 'contact') ) ){
              ?>
    	       <script>
                        alert('Page is loading...');
                   </script>                             
              <?php
         }else{
    	  ?>
    	       <script>
                        alert('No entra...');
                   </script>
              <?php
         }
    }
    add_action('wp_enqueue_scripts', 'hook_javascript');

    Según se, el parámetro ‘admin_enqueue_scripts’ sirve pero para la parte de administración, aunque al agregar el slug del menú que desarrolle este permite que todas las interfaces internas en el wp-admin carguen el código javascript, lo que se ve que en que la función no valida si la pagina es la que se le pasa por parametro y por ende todas la cargan.

    Espero haber sido claro y me puedan ayudar con una respuesta. Gracias.

    Espero que esto te sirva para progresar un poco más:

    function my_enqueue($hook) {
        // Only add to the edit.php admin page.
        // See WP docs.
        if ('edit.php' !== $hook) {
            return;
        }
        wp_enqueue_script('my_custom_script', plugin_dir_url(__FILE__) . '/myscript.js');
    }
    
    add_action('admin_enqueue_scripts', 'my_enqueue');
Viendo 3 respuestas - 1 de 3 (de 3 total)
  • Debes estar registrado para responder a este debate.