Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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.