Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

WordPress How to Build a WordPress Plugin Building WordPress Widgets, and Shortcodes Adding AJAX To Plugins on the Front-End

Timothy Grindall
Timothy Grindall
7,843 Points

Not seeing variable

So I put the ajaxurl variable between script tags like it said in the instructions but its not seeing it for some reason. It says: 'The script tag should have a variable named "ajaxurl" with a value assigned to it.' Anybody know what's going on?

plugin.php
<?php

function my_plugin_frontend_scripts() {
  wp_enqueue_style('my_plugin_frontend_css', plugins_url('my-plugin/css/front-end.css'));
  wp_enqueue_script('my_plugin_frontend_js', plugins_url('my-plugin/js/front-end.js'), array('jquery'), '', true);
}
add_action('wp_enqueue_scripts', 'my_plugin_frontend_scripts');

function my_plugin_enable_ajax() { ?>
    <script>
    var ajaxurl = admin_url('admin-ajax.php');
    </script>
<?php }

?>

1 Answer

I had trouble with this step, too.

You're close.

The problem you are having is that the admin_url function is a php function--not a javascript function. You need to drop back into php to use that function in order to declare the javascript variable.

If you need more help, go back and watch the first video on ajax calls starting around 3:30.