come caricare Javascript Plugin per WordPress

Qualcuno può mostrarmi come includere questo file javascript nel mio plugin per wordpress. Ho provato tutti i wp_enqeue_script() i metodi, ma non succede nulla.

ok ecco il mio plugin di esempio di codice con commenti che spiegano quello che vorrei.

<?php
/*
Plugin Name: Ava Test
Plugin URI: http://#.com
Description: A plugin that is used for my javascript tests
Author: Ronny Kibet
Author URI: http://ronnykibet.com
version: 1.001
*/

include(popup.js); 
/*when I include it this way, it works fine, but gives an error when I activate the plugin
'plugin generated 453 characters ...'
*/

function popup() {
$src = plugins_url('popup.js', __FILE__);
wp_register_script( 'popup', $src );
wp_enqueue_script( 'popup' );
}
/*
when I included it this way, plugin is activated but nothing happens.
*/
?>

questo è il popup.js

<script type="text/javascript">

function popup(){


alert('hello there this is a test popup')

}
</script>
<body onload="popup()">
</body>

Quindi, qualcuno di voi sa come chiamare questo script per funzionare correttamente in wordpress plugin?

 

4 Replies
  1. 34

    È necessario specificare quando il carico dovrebbe accadere, provare questo.

    <?php
    /*
    Plugin Name: Ava Test
    Plugin URI: http://#.com
    Description: A plugin that is used for my javascript tests
    Author: Ronny Kibet
    Author URI: http://ronnykibet.com
    version: 1.001
    */
    
    add_action('wp_enqueue_scripts','ava_test_init');
    
    function ava_test_init() {
        wp_enqueue_script( 'ava-test-js', plugins_url( '/js/ava_test_.js', __FILE__ ));
    }

    Inoltre, ci sono errori di JS, ma ho visto la versione corretta in alcune risposte, spero che questo aiuta

    Aggiornamento : C’è un gancio chiamato wp_enqueue_scripts, come detto da @brasofilo che dovrebbe essere utilizzato in sostituzione di init per il caricamento degli script.

    • ho provato questo, non accade nulla. No popup. grazie comunque.
    • Si dovrebbe avere la vostra js file denominato come ava_test_.js e messo in una cartella chiamata js nella vostra directory dei plugin, hai fatto questo ?
    • Corretto è add_action('wp_enqueue_scripts','ava_test_init');
  2. 2

    Imparare a lavorare all’interno del WP struttura può essere frustrante.

    E imparare a portare in javascript può essere ancora più frustrante.

    Così, tutti, qui, hanno contribuito a qualcosa di prezioso, tuttavia è necessario portare tutti insieme. Quindi:

    Primo:

    Rimuovere la riga include. Non hai bisogno di esso.

    Secondo:

    Essere sicuro che il $src variabile nel codice, infatti, è il percorso corretto. Vorrei aggiungere un’:

    echo $src;

    Per verificare se la posizione è corretta.

    Terzo:
    Aghoshx è corretto, bisogna avere il gancio di riferimento:

    add_action('init','popup');

    (Dato che hai chiamato la funzione popup, che è quello che ho messo in TUTTAVIA, per evitare la funzione di nome colissions con altri WP funzioni e plugin, ho chiesto che si cambia a qualcosa di più unico, come aghoshx proposto)

    Quarto:
    Controlla che il tuo script è in fase di CARICAMENTO. Dopo aver fatto i passaggi 1-3 sopra, poi vai di aggiornamento WP pagina e fare un “view source”. Cerca il tuo file di script. Se siete in Firefox, si può effettivamente fare CLIC sull’url e si caricherà – e se vi sono in internet explorer, quindi copiare e incollare l’url nella barra degli url e vedere se in effetti il file è LÌ (se è così, è carico. Se NON, allora NON è caricare il file correttamente, ed è necessario correggere il percorso che si sta impostando in th $src variabile).

    Quinto:
    Una volta a ottenere il sopra inchiodato, cillosis è giusto, è necessario rimuovere tutto, MA la funzione javascript (si anche rimuovere i tag da file javascript.

    Infine:
    guarda Martti Laines risposta – è necessario associare l’evento utilizzando la sua proposta finestra.addEventListener, OPPURE modificare il tag di php modello per contenere l’onload=”popup” (come l’hai nel file di script).

    Finale del bit di suggestione:

    jQuery che rende molte cose MOLTO più facile. E ‘ molto facile da portare jQuery nel tuo plugin WP. Basta aggiungere questo in php popup funzione:

    enqueue_script('jquery');

    Buona fortuna!

    • Grazie Cale_b. sempre disponibile e non per noi… grazie. dare un colpo e poi farvi sapere che cosa ne verrà fuori. 🙂
  3. -1

    popup.js solo containt JavaScript di HTML. Prova questo (in popup.js)

    function popup(){
       alert('hello there this is a test popup');
    }
    window.addEventListener('load',function(event){popup();},false);

    O semplicemente questo:

    window.addEventListener('load',function(event){
       alert('hello there this is a test popup');
    },false);
    • Grazie per il vostro aiuto Martti, ma lo stesso problema si verifica ancora. Non accade nulla quando chiamo lo script utilizzando wp_enqeue_script e quando uso include() funziona, ma il plugin è attivato con un errore. Ci deve essere un modo..:(
    • Controllare il messaggio di errore di JavaScript console. Eventuali errori? Inoltre, controllare il codice sorgente generato lo script-tag è effettivamente creato e indicando l’esatta popup.js
  4. -2

    Si sono compresi HTML nel tuo .file js e non hai mai aggiunto un punto e virgola alla fine di alert(). Magari prova solo ad avere questo nel vostro popup.js:

    function popup(){
    
       alert('hello there this is a test popup');
    
    }

    E poi nel tuo HTML aggiungere il onload="popup()" per il tag body.

    • Io l’ho fatto. ancora stesso problema.

Lascia un commento