Wordpress通过插件加载样式表

时间:2014-02-13 16:17:32

标签: php wordpress wordpress-plugin

我已经编写了一个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');
}

但这不是任何东西,我做错了什么?

4 个答案:

答案 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名称。

使用plugins_url

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');