仅针对一个或多个页面的入队样式

时间:2011-05-05 作者:Sisir

这是造成问题的原因,因为我以前没有这样做过。我试图排队的风格或可能是脚本取决于页面。但它不起作用。代码如下:

add_action(\'init\', \'my_enqueue_styles\');

function my_enqueue_styles(){
    if(is_page(\'Add Event\')){ // also tried slug, page id and wp_reset_query(); bot not worked

    wp_deregister_style( \'jquery-ui-custom-flick\' );
    wp_register_style( \'jquery-ui-custom-flick\', get_bloginfo(\'template_directory\') .\'/styles/jquery.ui/ui.custom.flick.css\');
    wp_enqueue_style( \'jquery-ui-custom-flick\' );
    }

}
我没有做有条件的权利。脚本在没有条件的情况下工作。

谢谢

RESOLVED:

问题在于init 行动挂钩。有条件的is_page()init 被调用。将样式添加到挂钩后wp_print_styles 它工作得很好。

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

它应该是这样工作的。

旁注:我不知道为什么要取消注册样式表并再次注册。此外:get_bloginfo(\'template_directory\') 现在替换为get_template_directory_uri(). 第三:你的文件夹真的是用中间的点命名的吗?也许这会引起问题。也许您的ui样式表是jquery主ui样式表的依赖项。

You should also start accepting answers on your questions. Your "accept rate" of 67% will people hold back from answering your Qs.

function wpse_16487_enqueue_styles()
{
    if ( is_page(\'Add Event\') ) // also tried slug, page id and wp_reset_query(); bot not worked
    { 
        wp_register_style( \'jquery-ui-custom-flick\', get_template_directory_uri().\'/styles/jquery-ui/ui-custom-flick.css\', \'jquery-ui\' );
        wp_enqueue_style( \'jquery-ui-custom-flick\' );
    }
}
add_action( \'wp_print_styles\', \'wpse_16487_enqueue_styles\' );
如果出现问题,应开始调试wp查询:echo \'<pre>\'; print_r($GLOBALS[\'wp_query\']); echo \'</pre>\'; 并检查页面名称/slug以注册它。

结束

相关推荐