It can be done by placing wp_enqueue_script() inside your shortcode function, but it requires more than Alex's example.
First, you have to set the 'in_footer' parameter of wp_enqueue_script() to true, so the script is queued in the footer. Then, you have to manually call wp_print_scripts() in the WordPress footer so the script is output. Scribu wrote a good tutorial on this subject actually: http://scribu.net/wordpress/optimal-script-loading.html John On Sun, Jun 6, 2010 at 1:37 PM, Dion Hulse (dd32) <[email protected]> wrote: > That will not work. > > Shortcodes are parsed too late, as in, They're passed when the content is > being displayed, which is after the headers have been sent. > > The only available method right now, is in wp_head hook, scan > $posts[1....$count]->post_content for your shortcode and wp_enqueue_script() > your script then AFAIK > > On Sun, 06 Jun 2010 21:47:38 +1000, Alex Hempton-Smith > <[email protected]> wrote: > >> Bear in mind wp-hackers is probably a better list for this question. >> >> If you want jquery to be enqueued when a specific shortcode is included, >> just have it within the shortcode function: >> >> function myshortcode_func(){ >> wp_enqueue_script('jquery'); >> echo 'jQuery has been enqueued!'; >> } >> add_shortcode('myshortcode', 'myshortcode_func'); >> >> -- Alex (Hempsworth) >> >> >> On Sun, Jun 6, 2010 at 7:36 AM, Lox <[email protected]> wrote: >> >>> Hello, >>> >>> I need to enqueue jquery when a specific shortcode is found in a page. >>> Has such a feature been implemented in 3.0 ? >>> >>> -- >>> Lox >>> [email protected] >>> _______________________________________________ >>> wp-testers mailing list >>> [email protected] >>> http://lists.automattic.com/mailman/listinfo/wp-testers >>> >> _______________________________________________ >> wp-testers mailing list >> [email protected] >> http://lists.automattic.com/mailman/listinfo/wp-testers >> > > > -- > Dion Hulse / dd32 > Contact: > e: [email protected] > Web: http://dd32.id.au/ > _______________________________________________ > wp-testers mailing list > [email protected] > http://lists.automattic.com/mailman/listinfo/wp-testers > _______________________________________________ wp-testers mailing list [email protected] http://lists.automattic.com/mailman/listinfo/wp-testers
