我想添加一些自定義的jQuery代碼到Edit Post頁面,這非常簡單,就像有人按下Publish時顯示div一樣。如何將自定義JavaScript添加到WordPress管理員?
唯一的限制是我想通過使用插件來實現這一點,而不是黑客管理模板文件。
我試過使用某些動作回顯一些腳本標記,但它似乎不是這樣。
我想添加一些自定義的jQuery代碼到Edit Post頁面,這非常簡單,就像有人按下Publish時顯示div一樣。如何將自定義JavaScript添加到WordPress管理員?
唯一的限制是我想通過使用插件來實現這一點,而不是黑客管理模板文件。
我試過使用某些動作回顯一些腳本標記,但它似乎不是這樣。
使用admin_enqueue_scripts
動作和wp_enqueue_script
方法將自定義腳本添加到管理界面。
這假設你在你的插件文件夾中有myscript.js
。相應地改變。對於您的模塊和腳本,my_custom_script
句柄應該是唯一的。
function my_enqueue($hook) {
if ('edit.php' !== $hook) {
return;
}
wp_enqueue_script('my_custom_script', plugin_dir_url(__FILE__) . '/myscript.js');
}
add_action('admin_enqueue_scripts', 'my_enqueue');
<?php
function add_jquery_data() {
global $parent_file;
if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['post']) && $parent_file == 'edit.php') {
// Do some stuff.
}
}
add_filter('admin_head', 'add_jquery_data');
?>
非常感謝,這正是我一直在尋找的。反正我用過admin_footer。但是,有沒有辦法在新帖子/編輯帖子上加載內容_only_? – Nacho 2010-07-24 21:48:55
那麼如果你想要它的新帖子頁面,你可以試試這個: <?php function add_jquery_data(){ global $ parent_file; if(is_admin()&& $ parent_file =='edit.php'){ //做一些事情。 }} ?> – 2010-07-24 22:29:58
有您的functions.php文件的一個片段:WordPress的3.2.1
function custom_admin_js() {
$url = get_bloginfo('template_directory') . '/js/wp-admin.js';
echo '"<script type="text/javascript" src="'. $url . '"></script>"';
}
add_action('admin_footer', 'custom_admin_js');
工作正常。
我在主題卡,這樣我可以加載一些jQuery代碼隱藏,我不希望我的客戶搞亂,搞砸了網站管理欄的某些部分。請參閱我正在使用PODS插件來獲取內容和自定義主題。 – Volomike 2012-04-18 04:21:12
@KuldeepDaftary很可能你可以通過一個函數激活你的自定義JS,這會在page和jQuery加載後觸發? – 2013-05-24 11:46:53
這是添加腳本的錯誤方法。你應該排隊腳本,如[Tim的答案](http://stackoverflow.com/a/21914399/1924128)所示。 – 2015-06-30 19:45:31
這是當前版本的WordPress的正確答案(該示例直接來自WordPress Codex)。 – thirdender 2014-03-04 23:20:38
我應該把這段代碼放在什麼文件中?這個代碼應該放在哪裏? – commadelimited 2016-12-17 20:15:15
在你的[插件文件](https://codex.wordpress.org/Writing_a_Plugin)。 – Tim 2016-12-19 09:16:36