如果是移动页面和特定页面,则加载主题的插件

时间:2014-07-01 作者:Garrett

我一直在浏览其他一些问题,但没有找到解决方案。有一个伟大的solution 我的问题的一部分,我是基于这个代码。我需要检测是否在手机上,并显示手机主题,只有一个例外。如果用户在手机上,并且在页面ID 145上,则需要使用普通主题。这是我的代码,除了在手机上的特定页面上不显示正常的主题外,其他代码都是有效的。我尝试过一些变化,但运气不好。感谢您的关注。

add_filter(\'template\', \'change_theme\');
add_filter(\'option_template\', \'change_theme\');
add_filter(\'option_stylesheet\', \'change_theme\');
function change_theme($theme) {
    if ( wp_is_mobile() ) {
        $theme = \'SelectThemeMobile\';

    } 

    elseif ( is_page( 145 ) && wp_is_mobile() ) {

        $theme = \'SelectThemeOne\';
    }

    return $theme;
}

1 个回复
SO网友:eyoung100

尝试:

add_filter(\'template\', \'change_theme\');
add_filter(\'option_template\', \'change_theme\');
add_filter(\'option_stylesheet\', \'change_theme\');
function change_theme($theme) {
    if ( wp_is_mobile() ) {
        $theme = \'SelectThemeMobile\';

    } 

    $page = get_page_by_title( \'Title for 145\' )

    if ( is_page($page->ID) and wp_is_mobile())
        $theme = \'SelectThemeOne\';
        // Replace name below with hook for missing stylesheet
        wp_enqueue_style( \'registered name of missing mobile stylesheet\');

    }

    return $theme;
}
我认为您必须迭代整个页面数组,以便评估is_page().

结束

相关推荐

我如何利用WP Mobile检测插件中的条件?

我最近下载了WP Mobile Detect插件,并将其集成到我的主题中(我从主题文件夹中包含的原始Mobile Detect库以及我直接粘贴到其中的匹配WP函数functions.php).现在我有了一个社交共享插件,我只想在桌面设备请求该站点时出现。因此,我尝试修改该插件的核心文件,将输出函数包装在WP Mobile Detect的条件中,如:if ( ! wpmd_is_phone() ) { // output my share buttons } 不幸的是,这将返回Call to un