编辑/更改Jetpack Mobile主题

时间:2013-06-01 作者:Ilja

我真的很喜欢为移动设备切换主题的想法,我的网站上有几个功能都使用jetpack,所以我想,为什么不把它也用于移动设备呢。Jetpack附带了一项功能,可以为移动设备切换主题,但只能使用它们的主题并调整一些内容,如bg颜色等。。我想知道是否有可能完全改变这个主题?所以,使用jetpack来检测设备,但使用您自己的移动主题?在任何更新之后都会保持这样。

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

我看到了三种编辑Jetpack Mobile主题的方法:

1. Use Jetpack\'s Custom CSS module

Jetpack包含一个名为“自定义CSS”的模块,允许您添加自己的自定义CSS,而无需编辑主题样式表。自定义CSS编辑器(在“外观>编辑CSS”下)还包括一个选项,可以在Jetpack的移动主题中包含此自定义CSS。

因此,您可以通过在其中添加自定义CSS代码来定制移动主题的外观。您可以使用.mobile-theme 类以仅针对移动主题。

2. Add your own custom stylesheet to the Mobile theme

如果不想使用自定义CSS模块,可以只在Jetpack的移动主题中加载特定的样式表,如下所示:

// Check if we are on mobile
// Props @saracannon http://ran.ge/2012/12/05/parallax-and-mobile/
function tweakjp_is_mobile() {
    // Are Jetpack Mobile functions available?
    if ( ! function_exists( \'jetpack_is_mobile\' ) )
        return false;

    // Is Mobile theme showing?
    if ( isset( $_COOKIE[\'akm_mobile\'] ) && $_COOKIE[\'akm_mobile\'] == \'false\' )
        return false;

    return jetpack_is_mobile();
}

// Let\'s add our custom stylesheet
function tweakjp_maybe_add_css() {

    // On mobile?
    if ( tweakjp_is_mobile() ) {
        wp_register_style( \'custom-mobile\', plugins_url( \'style.css\', __FILE__) );
        wp_enqueue_style( \'custom-mobile\' );
    }
}
add_action( \'wp_enqueue_scripts\', \'tweakjp_maybe_add_css\' );

3. Edit Jetpack\'s plugin files to make your changes

没有限制,但当您更新到下一版本的Jetpack时,所有更改都将被覆盖。我不推荐它。

SO网友:mgratch

我知道这是一个老生常谈的问题,如果有人还在看的话——你不必激活jetpack移动主题模块来访问内置在插件中的移动检测,也不需要编辑jetpack插件文件,让事情更安全地更新。

//load JetPack Mobile Detection
$detect = new Jetpack_User_Agent_Info(); print_r($ua_info);
//Check if we are on Windows Phone 8 (Yes that\'s right, Windows Phone)
function is_wp8_detect() {
    global $detect;
    if ($detect->is_windows_phone_8()){
        return true;
    } 
}
也就是说,有了这个功能,我现在可以在整个主题或插件中只为Windows Phone用户做任何我想做的事情。

我不认为以下评论是在Jetpack插件中,指的是加载所有模块类的文件,包括上面代码中需要的内容;所以要小心。

//@todo:只包括课堂之类的东西。jetpack同步。php,如果我们已连接。

结束

相关推荐

is_mobile as shortcode

我安装了插件“mobble”,它提供了更多的条件标记。由于我想为移动设备隐藏一些内容,我尝试构建一个短代码[is\\u mobile]。但我尝试了很多不同的方法return do_shortcode($content); 和return $content;或return apply_filters(\'the_content\', $content);但这根本不是我想做的;(add_shortcode( \'is_mobile\', \'is_mobile_shortcode\' ); &#x