web-dev-qa-db-fra.com

Pourquoi wp_enqueue_script () ne fonctionne-t-il pas lors de l'inclusion d'un fichier JavaScript avec TEMPLATEPATH?

J'essaie d'utiliser les astuces de ici pour ajouter mon fichier JS.

Je mets ce qui suit dans le functions.php du thème atahualpa que j'ai installé

function lektor_init() {
  if (true) {
    wp_enqueue_script('lektor',TEMPLATEPATH.'/js/synteza.js');
  }
}
add_action('init','lektor_init'); 

TEMPLATEPATH a déjà été utilisé auparavant, je l'ai donc adapté. Mais ça ne se voit pas.

Qu'ai-je fait de mal?

1
naugtur

TEMPLATEPATH est un chemin de répertoire, pas une URL. Vous devrez utiliser get_template_directory_uri().

9
John P Bloch
function parent_theme_name_scripts() {
    wp_enqueue_script( 'lektor', get_template_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'parent_theme_name_scripts' );

Ajoutez à votre fichier de fonctions de thèmes parents.

Toutefois, si vous ajoutez des scripts à un thème parent, créez un thème enfant et ajoutez le script au fichier de fonctions de thèmes enfants à l'aide de get_stylesheet_directory_uri()

add_action( 'wp_enqueue_scripts', 'child_theme_name_scripts' );
function child_theme_name_scripts() {
        wp_enqueue_script( 'lektor', get_stylesheet_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
    }

Utilisez wp_enqueue_scripts plutôt que init .

0
Brad Dalton