如何加载页面的自定义脚本和样式?

时间:2015-12-16 作者:Boykodev

不同的页面通常需要不同的脚本集和样式。

我使用函数。php和类似这样的构造来加载脚本和样式:

function load_assets() {
   wp_enqueue_style( \'styles\', get_template_directory_uri() . \'/css/styles.css\');
   wp_enqueue_script(\'main-js\', get_template_directory_uri() . \'/js/main.js\');
}
add_action( \'wp_enqueue_scripts\', \'load_assets\' );
我知道我可以在这里设置如下条件:

is_page()
但是有没有更好的方法呢?

建议:

wp\\u register\\u script()是否可以用于针对特定页面?

2 个回复
最合适的回答,由SO网友:sxalexander 整理而成

是的,您可以添加conditional tagswp_enqueue_scripts 行动请参见以下示例:

function load_assets() {
   wp_enqueue_style( \'styles\', get_template_directory_uri() . \'/css/styles.css\');

   // loads on any \'page\' post type
   if( is_page() ){
       wp_enqueue_script(\'main-js\', get_template_directory_uri() . \'/js/main.js\');
   }

   // only loads on the page with a slug of \'home\'
   if( is_page(\'home\') ){
       wp_enqueue_script(\'home-js\', get_template_directory_uri() . \'/js/home.js\');
   }


}
add_action( \'wp_enqueue_scripts\', \'load_assets\' );
对于其他示例is_page() 用法,请参阅codex页:https://codex.wordpress.org/Function_Reference/is_page

SO网友:Aftab

对于管理员,您可以这样做。

function load_assets( $hook ) {

    global $post;

    if ( $hook == \'post-new.php\' || $hook == \'post.php\' ) {
        // enqueue here
    }
}
add_action( \'admin_enqueue_scripts\', \'load_assets\', 10, 1 );

相关推荐

在带有PHP的子主题中包含style.css

在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s