我有很多我的WordPress插件CSS腳本可能會影響其他WordPress的標籤,如form
爲例:顯示樣式表只在插件頁面的WordPress
.form {
padding:30px;
background-color:#fff;
}
我可以改變CSS,但我想要一個只允許樣式表顯示在插件頁面上的腳本。
所以把它清除掉,目前樣式<link>
總是在管理面板的源代碼,但我想一個腳本,只有當用戶插件頁面上放樣式<link>
在源代碼中。
我有很多我的WordPress插件CSS腳本可能會影響其他WordPress的標籤,如form
爲例:顯示樣式表只在插件頁面的WordPress
.form {
padding:30px;
background-color:#fff;
}
我可以改變CSS,但我想要一個只允許樣式表顯示在插件頁面上的腳本。
所以把它清除掉,目前樣式<link>
總是在管理面板的源代碼,但我想一個腳本,只有當用戶插件頁面上放樣式<link>
在源代碼中。
您可以使用get_current_screen
:
$screen = get_current_screen();
if ($screen->id == 'your_plugin_page')){
$custom_css = ".form {.....}";
wp_add_inline_style('your_main_style_handle', $custom_css);
}
更新1:
將子菜單添加到你的管理菜單:
add_action('admin_menu', 'your_plugin_admin_menu');
//Add this to register you styles
add_action('admin_init', 'your_plugin_admin_init');
則:
/**
* Register your stylesheet.
*/
function wpdocs_plugin_admin_init() {
wp_register_style('your-style', plugins_url('scripts/jquery-ui.css',__FILE__));
wp_register_script('jquery-ui', plugins_url('scripts/jquery-ui.js',__FILE__));
}
/**
* Register your plugin page and hook stylesheet loading.
*/
function your_plugin_admin_menu() {
$page = add_submenu_page(...., 'your_plugin_manage_menu');
//Call 'your_plugin_admin_styles' only on the plugin’s options page
add_action("admin_print_styles-{$page}", 'your_plugin_admin_styles');
}
/**
* Enqueue our stylesheet.
*/
function your_plugin_admin_styles() {
wp_enqueue_style('your-style');
wp_enqueue_script('jquery-ui');
$custom_css = ".form {.....}";
wp_add_inline_style('your-style', $custom_css);
}
/**
* Output our admin page.
*/
function your_plugin_manage_menu() {
// ...
}
我推薦內聯CSS不是很好的編碼實踐,但如果需要的話,你可以使用這個解決方案,它準確的工作。 –
由於某種原因,不適合我;我的URL是'options-general.php?page = maintenance',所以'maintenance'應該是我的ID,然後我包裝'if($ screen-> id =='maintenance'){'圍繞樣式表,但是刪除風格完全。 –
確保在上述代碼之前調用了'wp_enqueue_style('your_main_style_handle','path/to/your/style.css')'。 –
您可以創建樣式表,併爲該樣式表引用創建鉤子。然後,您可以使用add_action()在插件調用中添加WordPress,您可以在其中調用該腳本。所以它會根據需要在頁面頂部引用指定頁面。 瞭解更多關於 https://developer.wordpress.org/reference/functions/wp_enqueue_script/ https://developer.wordpress.org/reference/functions/add_action/
更好的做法是在你的身體標記條件與頁面名稱或任何添加和使用'.pagename .FORM {}'至少那麼它不是一個樣式表另一個連接。不要使用PHP插入css規則,它可能會混亂尋找這個代碼來更新。 – David