Title: Javascript in Header
Last modified: September 4, 2016

---

# Javascript in Header

 *  [webwerkplaats](https://wordpress.org/support/users/webwerkplaats/)
 * (@webwerkplaats)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/javascript-in-header-2/)
 * I’m trying to get a certain script to work.
    If i put line 1 and 2 manually in
   a header.php, it works. Now, (in order to avoid having to edit header.php every
   time) i’m trying to put it into a plugin.
 * 1)
 *     ```
       <script src="https://extern.finnik.nl/kentekenbox/v1/kb.js" type="text/javascript">
       </script>
       ```
   
 * I can see this appearing in my header when i look at the source of a page when
   i use this:
 *     ```
       function my_finnik_js() {
   
       echo '<script type="text/javascript" src="https://extern.finnik.nl/kentekenbox/v1/kb.js"></script>';
   
       }
   
       // Add hook for front-end <head></head>
   
       add_action('wp_head', 'my_finnik_js');
       ```
   
 * Now line 2)
    2)
 *     ```
       <script type="text/javascript">
       initFinnikKentekenbox('Het Automeisje', 'finnik-kentekenbox-container', 300, false);
       </script>
       ```
   
 * When i try to get this in the head also, with code below, it crashes my site.
 *     ```
       function my_finnik2_js() {
   
       <?php wp_enqueue_script('custom', 'initFinnikKentekenbox('De leukste autosite van Nederland', 'finnik-kentekenbox-container', 300, false)'); ?>
   
       }
   
       // Add hook for front-end <head></head>
   
       add_action('wp_head', 'my_finnik2_js');
       ```
   
 * I’m an absolute beginner in this and i hope someone can tell me why it doesn’t
   work, or rather how it WILL work.
    Thanks in advance, Marco

Viewing 3 replies - 1 through 3 (of 3 total)

 *  [RossMitchell](https://wordpress.org/support/users/rossmitchell/)
 * (@rossmitchell)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/javascript-in-header-2/#post-8136143)
 * Instead of your attempts, please add this to your “functions.php” of your theme,
   preferably a child theme, details here:
    creating a child theme [http://codex.wordpress.org/Child_Themes](http://codex.wordpress.org/Child_Themes)
 * Code to put into functions.php
 *     ```
       function my_finnik2_js() {
       // enqueue your javascript file here, in your example the quotes are wrong.
       //    wp_enqueue_script('custom', 'initFinnikKentekenbox('De leukste autosite van Nederland', 'finnik-kentekenbox-container', 300, false)');
       }
   
       // Add hook for front-end <head></head>
       add_action('wp_head', 'my_finnik2_js');
       ```
   
 * You must correct the way your script is named, the way you have used quotes is
   wrong.
 * I know it is difficult to keep track of which language is doing what and when,
   your (2) code is adding a javascript call into your page that will be executed
   by the browser, however the call to enqueue a script needs to be done in PHP 
   on the server.
 * The reason to create a child theme is that edits to theme files are lost when
   the theme is updated, edits in child themes survive updates.
    -  This reply was modified 9 years, 8 months ago by [RossMitchell](https://wordpress.org/support/users/rossmitchell/).
 *  Thread Starter [webwerkplaats](https://wordpress.org/support/users/webwerkplaats/)
 * (@webwerkplaats)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/javascript-in-header-2/#post-8138832)
 * Thanks for the help sofar. Unfortunatly the way i do it after reading your code,
   the site crashes.
    I have made it into a plugin (that later/also adds a widget)
   so i can “survive” theme updates. A plugin makes it possible to use it with any
   theme and for people (like me) who haven’t got the knowledge to make child themes
   or modify their current theme.
 * This is the code from line 1 untill the part starts where i add a widget:
    (all
   this assuming it IS possible from within a plugin)
 *     ```
       <?php
       /*
       Plugin Name: Finnik Plugin by Webwerkplaats
       Description: Site specific code changes for Finnik Kenteken Box
       */
   
       function my_finnik_js() {
           echo '<script type="text/javascript" src="https://extern.finnik.nl/kentekenbox/v1/kb.js"></script>';
       }
       // Add hook for front-end <head></head>
       add_action('wp_head', 'my_finnik_js');
   
       function my_finnik2_js() {
       // enqueue your javascript file here, in your example the quotes are wrong.
       wp_enqueue_script('custom', 'initFinnikKentekenbox('De leukste autosite van Nederland', 'finnik-kentekenbox-container', 300, false)');
       }
   
       // Add hook for front-end <head></head>
       add_action('wp_head', 'my_finnik2_js');
       ```
   
    -  This reply was modified 9 years, 8 months ago by [webwerkplaats](https://wordpress.org/support/users/webwerkplaats/).
      Reason: missed a part.. code
 *  Moderator [bcworkz](https://wordpress.org/support/users/bcworkz/)
 * (@bcworkz)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/javascript-in-header-2/#post-8143188)
 * When you enqueue scripts, the action to hook needs to be ‘wp_enqueue_scripts’,
   not ‘wp_head’.
 * The `wp_enqueue_script()` function is used to link in external script pages, 
   it is not used to insert arbitrary javascript code. If the script you are enqueueing
   is something you can edit, just put the init function at the bottom of the enqueued
   file.
 * If you cannot edit that file, the completely proper way is to make your own external
   file that makes the init call and enqueue that, specifying the main file as a
   dependency.
 * TBH, you can probably get away with outputting the init call inside script tags
   using the ‘wp_head’ action. The external file does need to be enqueued from ‘
   wp_enqueue_scripts’ though. In other words, you’ve got it backwards. You enqueued
   the init call and echoed the external file. Do it the other way around. The action
   hook to enqueue is wrong either way.
 * All of this is fine from a custom plugin as well as a child theme, they’re both
   viable approaches.

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Javascript in Header’ is closed to new replies.

## Tags

 * [header](https://wordpress.org/support/topic-tag/header/)
 * [javasript](https://wordpress.org/support/topic-tag/javasript/)
 * [wp_enqueue](https://wordpress.org/support/topic-tag/wp_enqueue/)
 * [wp_head](https://wordpress.org/support/topic-tag/wp_head/)

 * In: [Hacks](https://wordpress.org/support/forum/plugins-and-hacks/hacks/)
 * 3 replies
 * 3 participants
 * Last reply from: [bcworkz](https://wordpress.org/support/users/bcworkz/)
 * Last activity: [9 years, 8 months ago](https://wordpress.org/support/topic/javascript-in-header-2/#post-8143188)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
