>入圍腳本和样式
> wp_enqueue_script方法的第一個參數是腳本處理程序名稱,我們應該始終前綴處理程序以避免任何衝突,並確保我們的腳本始終加載。
// ... <script type="text/javascript"> // some JS code </script> <style type="text/css"> // some CSS code </style> //... <script type="text/javascript" src="<?= plugins_url('assets/js/main.js') ?>"></script>
>現在,我們的腳本僅包含在設置和新的帖子頁面中。我們只能在用戶創建一個新頁面時才能使用我們的樣式。
add_action( 'admin_enqueue_scripts', function($hook) { $pluginPrefix = "my-prefix"; wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] ); } );
>刪除不必要的腳本
>大多數開發人員不在乎在需要時起腳本的啟動,這就是為什麼我們總是會遇到意外的錯誤和奇怪的造型問題的原因。當注意到腳本引發錯誤或引起衝突時,您可以在添加自己的腳本之前將其刪除,這通常在調試模式中很有用。
>// ... <script type="text/javascript"> // some JS code </script> <style type="text/css"> // some CSS code </style> //... <script type="text/javascript" src="<?= plugins_url('assets/js/main.js') ?>"></script>
大多數插件和主題都提供了一組與網站交互的快捷代碼,有時它們需要將腳本注入頁面。可悲的是,我們無法像以前在後端那樣測試前頁面。
>實現此目的的一種簡單方法是在the_content過濾器上註冊回調,並測試它是否包含您的短碼。如果它返回是,您可以加入您的腳本,否則什麼都不做。
>add_action( 'admin_enqueue_scripts', function($hook) { $pluginPrefix = "my-prefix"; wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] ); } );
上面的代碼效果很好,並且只會為包含快捷代碼的帖子中提起我們的腳本。但是,該解決方案在高負載網站上存在一些嚴重的性能問題。我們將為此問題創建一個更複雜的解決方案。
>如果您還沒有使用作曲家來加載課程,我建議您開始這樣做。我們的插件composer.json文件看起來如下:
>add_action( 'admin_enqueue_scripts', function($hook) { if ( !in_array($hook, array("options-general.php", "post-new.php")) ) return; $pluginPrefix = "my-prefix"; wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] ); } );
src/shertcodes/helloshortcode.php類保存我們的短碼定義。
add_action( 'admin_enqueue_scripts', function($hook) { if ( $hook == "post-new.php" && isset($_GET['post_type']) && $_GET['post_type'] == "page" ) { $pluginPrefix = "my-prefix"; wp_enqueue_script( "{$pluginPrefix}main-js", plugins_url('assets/js/main.js'), ['jquery'] ); } } );
運行方法將返回我們的快捷代碼的HTML標記,並在使用快捷代碼時將加載的靜態屬性設置為true。
>當然,我們可以避免將此代碼放入主插件文件中,但是我們將保持簡單且可讀的內容。
$短代碼變量包含可用的快捷代碼列表。第一個循環將註冊我們的短代碼,並將運行方法成為處理程序。接下來,我們將使用WP_FOOTER鉤在關閉身體標籤之前將我們的快捷代碼腳本勾勒出來。add_action( 'admin_enqueue_scripts', function($hook) { $unautorized_styles = [ 'script1', 'another-script' ]; foreach ( $unautorized_styles as $handle ) { wp_deregister_style( $handle ); } // enqueue my scripts } );
>您現在可以創建一個包含我們的短碼的新頁面,並檢查我們的腳本是否正確加載。
>結論
這篇簡短的文章是有關如何提起插件和主題腳本的摘要,也是避免將它們加載到網站上的每個頁面中的最佳方法。如果您有任何疑問或評論,請在下面發布它們,我會盡力回答它們!
經常詢問有關在WordPress中起義腳本和样式的問題(常見問題解答)>
>在WordPress中加入腳本,您需要使用wp_enqueue_script()函數。此功能至少需要兩個參數:句柄(腳本的唯一名稱)和SRC(腳本的URL)。您還可以指定其他參數,例如依賴項,版本以及是否將腳本加載到頁腳中。我可以在WordPress中加入樣式嗎?
什麼是什麼'wp_enque_scripts的動作鉤?您的腳本和样式。當WordPress即將在HTML中打印腳本和样式時,此鉤被稱為。通過掛接,您可以確保在適當的時間出現腳本和样式。
>>什麼是'wp_print_scripts的動作鉤? Hook是一種較舊的鉤子,用於加入腳本。但是,不建議再使用此鉤子,因為它可能導致腳本加載順序的問題。您應該使用“ wp_enqueue_scripts”掛鉤。
以上是WordPress中的腳本和样式的詳細內容。更多資訊請關注PHP中文網其他相關文章!