google+javascriptbanktwitter@js_bankfacebook@jsbankrss@jsbank






Hướng dẫn cách chuyên nghiệp để nạp JavaScript trong Wordpress WordPress - một nền tảng mã nguồn mở PHP cực kì mạnh mẽ dùng để phát triển blog cá nhân; WordPress có thể được xem là hệ thống blog được sử dụng nhiều nhất hiên nay, và tôi cũng vừa mới khai trương một trang blog cá nhân trên hệ thống này.

Tại thời điểm bài viết này, tổ chức sáng lập WordPress vừa phát hành phiên bản 3 - một bản nâng cấp cực kì đáng giá. Và nếu bạn là một nhà phát triển blog cá nhân dựa trên nền tảng này, hẳn bạn cũng biết các nhược điểm của WordPress, một trong số chúng là cách tổ chức dữ liệu, mã nguồn dường như đều thay đổi mỗi lần WordPress được nâng cấp.

Chỉ tính riêng vấn đề nạp thư viện JavaScript trong hệ thống WordPress, mỗi phiên bản đều có cách quản lí riêng. Vậy dưới góc độ của một nhà phát triển web, chúng ta nên dùng giải pháp nào để việc quản lí trở nên hiệu quả hơn? Hãy vào trang chi tiết để xem hướng dẫn nạp JavaScript trong Wordpress với cách chuyên nghiệp nhất.


Tạo video bằng AI chỉ với giọng nói hoặc văn bản



Ứng dụng video AI MIỄN PHÍ hàng đầu của bạn! Tự động hóa video AI đầu tiên của bạn. Tạo Video Chuyên Nghiệp Của Bạn Trong 5 Phút Bằng AI Không Cần Thiết Bị Hoặc Kỹ Năng Chỉnh Sửa Video. Sản xuất video dễ dàng dành cho nhà tiếp thị nội dung.
Ứng dụng video AI KHÔNG GIỚI HẠN miễn phí trong tay bạn

If you're involved in WordPress development, a challenge that you're going to face sooner or later is how to include JavaScript files efficiently.

In this tutorial, I'm going to show you the best way to do that.

Let's say you have a plugin that adds a custom shortcode. The shortcode needs some JavaScript code which requires jQuery.

If you're just starting out with WordPress development, you might be tempted to write something like this:

How a WordPress Youngling does it

add_action('wp_head', 'add_my_script');
 
function add_my_script() { ?>
<script type="text/javascript" src="/javascript/article/How_to_load_JavaScript_like_a_WordPress_Master.php/<?php bloginfo('wpurl'); ?>/wp-content/plugins/my-plugin/jquery.js"></script>

<script type="text/javascript" src="/javascript/article/How_to_load_JavaScript_like_a_WordPress_Master.php/<?php bloginfo('wpurl'); ?>/wp-content/plugins/my-plugin/my-script.js"></script>
<?php }

Let's see what's wrong with that approach:

Firstly, since WordPress 2.6, the user can move the wp-content directory wherever he wants. What does that mean? That's right: instant plugin breakage.

Secondly, if the user installs another plugin that also uses jQuery, the page will end up with jQuery being loaded twice.

Fortunately, WordPress lends us a hand with these two problems:

How a young Padawan does it

add_action('template_redirect', 'add_my_script');

 
function add_my_script() {
	wp_enqueue_script('my-script', plugins_url('my-script.js', __FILE__), array('jquery'), '1.0', true);

}

The above script ultimately does what the first one does, except:

  • it gets the correct path for the file
  • it checks if jQuery has already been included or not
  • the script tag is written in the footer, so the page loads faster

That's an obvious improvement. But what if the shortcode appears on a single page?

You're needlessly including a file 99% of the time, causing slower page loads.

Notice that in the last two examples, we've been using the template_redirect action.

The trouble with wp_enqueue_script() is that you have to call it before wp_head() fires. So, before the page is rendered, you have to decide if you should add your script or not. Not an easy call to make, is it?

Well, there's a secret method that will let you enqueue scripts after the entire page has been displayed.

The Jedi Knight way

add_action('wp_footer', 'print_my_script');
 
function print_my_script() {

	global $add_my_script, $wp_scripts;
 
	if ( ! $add_my_script )

		return;
 
	wp_register_script('my-script', plugins_url('my-script.js', __FILE__), array('jquery'), '1.0', true);

 
	$wp_scripts->do_items('my-script');
}

In this case, the script will be enqueued only if the $add_my_script global was set at some point during the rendering of the page.

The key here is that you're calling $wp_scripts directly, instead of relying on WordPress to do it for you.

It will still check if jQuery was already enqueued or not.

You can set the $add_my_script flag from any function or method, including from a shortcode handler:

add_shortcode('myshortcode', 'my_shortcode_handler');

 
function my_shortcode_handler($atts) {
	global $add_my_script;
 

	$add_my_script = true;
 
	// actual shortcode handling here
}

So, the script will be added if [myshortcode ...] was found in any of the posts on the current page.

Nothing more to do here, except wrap it up in a nice class:

The Jedi Master way

class My_Shortcode {
	static $add_script;
 
	function init() {

		add_shortcode('myshortcode', array(__CLASS__, 'handle_shortcode'));
		add_action('wp_footer', array(__CLASS__, 'add_script'));

	}
 
	function handle_shortcode($atts) {
		self::$add_script = true;

 
		// actual shortcode handling here
	}
 
	function add_script() {

		global $wp_scripts;
 
		if ( ! self::$add_script )

			return;
 
		wp_register_script('my-script', plugins_url('my-script.js', __FILE__), array('jquery'), '1.0', true);

 
		$wp_scripts->do_items('my-script');
	}
}
 
My_Shortcode::init();

I hope this tutorial has helped you on your way to mastering WordPress script loading.

Further reading:

Ứng dụng AI Video.com
Tạo video doanh nghiệp của bạn bằng AI chỉ với giọng nói hoặc văn bản

chatGPTaz.com
Nói chuyện với ChatGPT bằng ngôn ngữ mẹ đẻ của bạn

Ứng dụng AI Video
Ứng dụng video AI MIỄN PHÍ đầu tiên của bạn

Deepfake Video
Deepfake AI Video Maker

Deepfake
Deepfake AI Video Maker

AI Deep Fake
Deepfake AI Video Maker

AIvidio
AI Video Mobile Solutions

AIvideos
AI Video Platform & Solutions

AIvedio
AI Video App Maker

Artificial General Intelligence
Ai and higher level Artificial General Intelligence (AGI)

Artificial General Intelligence
Ai and higher level Artificial General Intelligence (AGI)

Faceswap AI trực tuyến
Đổi mặt Video, Ảnh & GIF ngay lập tức với Công cụ AI mạnh mẽ - Faceswap AI Trực tuyến MIỄN PHÍ

Faceswap AI trực tuyến
Đổi mặt Video, Ảnh & GIF ngay lập tức với Công cụ AI mạnh mẽ - Faceswap AI Trực tuyến MIỄN PHÍ

Faceswap AI trực tuyến
Đổi mặt Video, Ảnh & GIF ngay lập tức với Công cụ AI mạnh mẽ - Faceswap AI Trực tuyến MIỄN PHÍ

Powerful AI Presentation PPT Maker for FREE
Build an impressive presentation with our free online AI presentation app

Your next top AI Assistant
Claude AI, developed by Anthropic

Your next top AI Assistant
Claude AI, developed by Anthropic

Temu tặng $500 cho người dùng mới
Claim Free Temu $500 Credit via Affiliate & Influencer Program

Tín dụng quảng cáo TikTok miễn phí
Làm chủ quảng cáo TikTok cho hoạt động tiếp thị doanh nghiệp của bạn

Dall-E-OpenAI.com
Tự động tạo ra hình ảnh sáng tạo với AI

chatGPT4.win
Nói chuyện với ChatGPT bằng ngôn ngữ mẹ đẻ của bạn

Sản phẩm AI đầu tiên của Elon Musk - Grok/UN.com
Nói chuyện với Grok AI Chatbot bằng ngôn ngữ của bạn

Công cụ.win
Mở trung tâm công cụ miễn phí để mọi người sử dụng với hàng trăm công cụ

GateIO.gomymobi.com
Airdrop miễn phí để nhận, chia sẻ lên đến 150.000 đô la cho mỗi dự án

iPhoneKer.com
Tiết kiệm tới 630$ khi mua iPhone 16 mới

Mua Robot Tesla Optimus
Đặt mua Tesla Bot: Robot Optimus Gen 2 ngay hôm nay với giá dưới 20.000 đô la

JavaScript theo ngày


Google Safe Browsing McAfee SiteAdvisor Norton SafeWeb Dr.Web