在本地开发环境中使用body_class()中的page-id-{id},而不是实时试运行

时间:2013-04-25 作者:BoBoz

不确定这是一个适合本论坛的问题,但我会尝试:

我认为,通过在模板中使用body\\u class()生成的页面id-{id},可以非常方便地将css/jQuery中的元素定位到特定页面。

但是,当在本地开发人员机器上进行开发,然后为您的客户转移到页面id不相同的临时服务器时,这会出现问题。

你是怎么处理的?

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

你可以用slug代替id。

摘自Starkers主题(将其添加到functions.php):

add_filter( \'body_class\', \'add_slug_to_body_class\' );

    function add_slug_to_body_class( $classes ) {
        global $post;

        if( is_home() ) {           
            $key = array_search( \'blog\', $classes );
            if($key > -1) {
                unset( $classes[$key] );
            };
        } elseif( is_page() ) {
            $classes[] = sanitize_html_class( $post->post_name );
        } elseif(is_singular()) {
            $classes[] = sanitize_html_class( $post->post_name );
        };

        return $classes;
    }

结束

相关推荐

如何将Style排在style.css之前

我如何排队。样式之前的css文件。是否加载了css?或设置默认样式。css依赖于另一个。css文件?我正在加载一个。css重置,哪种样式。css将覆盖。以下是我所拥有的:add_action(\'wp_enqueue_scripts\', \'load_css_files\'); function load_css_files() { wp_register_style( \'normalize\', get_template_directory_uri() . \'/c