有条件地包括BuddyPress和bbPress样式/脚本

时间:2015-07-03 作者:Alejandro

我正在开发一个自定义主题,它使用Buddypress和bbPress添加社交网络功能。我注意到,每个页面上都加载了css和js插件(许多文件),尽管那里没有使用任何功能。

例如,在我的主页中,我只有一个到论坛的链接,所以我不希望所有的脚本和样式都包含在那里。

我在找

if (is_buddypress() || is_bbpress() ) {

    wp_enqueue_style(...);
    wp_enqueue_script(...);
}
有没有办法告诉这些插件只有在上面的条件标记为true时才添加脚本和样式?

提前感谢!

1 个回复
SO网友:cameronjonesweb

对于此特定实例,您可以使用is_front_page() 然后将其从头版中删除。

if(is_front_page()){
    wp_dequeue_script( ... );
    wp_dequeue_style( ... ); 
}
至于其他页面,我建议使用一组页面来排除和使用资源is_page() 检查是否应排除。理想情况下,此阵列将设置在options page

$pages_to_exclude = array( 1,2,3... );
foreach($pages_to_exclude as $page){
    if(is_page($page)){
        wp_dequeue_script( ... );
        wp_dequeue_style( ... ); 
    }
}
或本机PHP函数in_array()

global $post;
$pages_to_exclude = array( 1,2,3... );
if(in_array($post->ID,$pages_to_exclude){
    wp_dequeue_script( ... );
    wp_dequeue_style( ... ); 
}
至于插件附带的内置解决方案,我不知道,因为我对它们不熟悉,所以可能有更好的解决方案。但不确定这是否会在该网站的范围内考虑。

结束

相关推荐

这是将“编辑我的个人资料”链接与我的BuddyPress“扩展个人资料”链接进行切换的正确方式吗?

我正在使用启用的多站点功能。我有一个主站点和一个社区站点。在主站点上,“编辑我的个人资料”链接指向此链接:http://www.mysitename.com/community/wp-admin/profile.php 但当我访问我的社区网站时,“编辑我的个人资料”链接指向此链接:http://www.mysitename.com/community/members/username/profile/edit/ 我想在主网站上的链接显示我的社区网站显示的确切链接,这是一个扩展的Budd