我已经编写了一个WordPress插件,并想让它包含一些css样式表,我试图使用我通常在主题functions.php文件中使用的过程......
add_action('wp_enqueue_script','register_my_scripts');
function register_my_scripts(){
$dir = plugin_dir_path( __FILE__ );
wp_enqueue_style( $dir . 'css/style1.css');
wp_enqueue_style( $dir . 'css/style2.css');
}
但这不是任何东西,我做错了什么?
答案 0 :(得分:22)
你需要使用的钩子是wp_enqueue_scripts,你错过了's'。
当您需要的是目录URL时,您将获得目录路径。
wp_enqueue_style的第一个参数是句柄,而不是URL。
function wpse_load_plugin_css() {
$plugin_url = plugin_dir_url( __FILE__ );
wp_enqueue_style( 'style1', $plugin_url . 'css/style1.css' );
wp_enqueue_style( 'style2', $plugin_url . 'css/style2.css' );
}
add_action( 'wp_enqueue_scripts', 'wpse_load_plugin_css' );
答案 1 :(得分:7)
您正在使用plugin_dir_path输出文件系统目录路径。相反,你需要URL。
wp_enqueue_style的第一个参数是$handler
名称。
wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );
完整代码:
add_action('wp_enqueue_scripts','register_my_scripts');
function register_my_scripts(){
wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );
wp_enqueue_style( 'style2', plugins_url( 'css/style2.css' , __FILE__ ) );
}
答案 2 :(得分:2)
尝试:
wp_enqueue_style('custom-style', plugins_url( '/css/my-style.css', __FILE__ ), array(),'all');
其中plugins_url
与没有斜线的插件库有关。
答案 3 :(得分:0)
使用插件网址从wp插件文件夹加载样式
function add_plugin_stylesheet()
{
wp_enqueue_style( 'style1', plugins_url( '/css/styleFileName1.css', __FILE__ ) );
wp_enqueue_style( 'style2', plugins_url( '/css/styleFileName2.css', __FILE__ ) );
}
add_action('admin_print_styles', 'add_plugin_stylesheet');