自定义POST类型页面的全宽布局

时间:2013-11-07 作者:Damon

我正在尝试从站点的某个页面中删除一个名为“Primary”的小部件区域。这是我管理侧栏的功能:

//ADD CATEGORIES IN SIDEBAR OF SINGLE POST TYPE
add_action( \'genesis_sidebar\', \'add_mysite_sidebar\' );
function add_mysite_sidebar() {
    if( get_post_type() == \'post\' ){        
        dynamic_sidebar( \'News Categories\' );
    } else if( get_post_type() == \'events\' ){       
        dynamic_sidebar( \'Event Categories\' );
    } else if( get_post_type() == \'documentlibrary\' ){      
        dynamic_sidebar( \'Document Categories\' );
    } else if( get_post_type() == \'bp_members\' ){
        include(members_sidebar.php);
        unregister_sidebar( \'sidebar\' );
        dynamic_sidebar( \'Members Widget\' );
    } else if( get_post_type() == \'bp_group\' ){ 
        include(groups_sidebar.php);
        unregister_sidebar( \'sidebar\' );    
        dynamic_sidebar( \'Groups Widget\' );
    }
}
我需要删除组和成员页面上的“主要”小部件区域,但我不知道如何操作,在前端,该小部件区域中的小部件不在任何总体容器中,否则我可以将其隐藏。

2 个回复
SO网友:Abhik

既然您使用的是Genesis,为什么不使用不包含主边栏的布局呢?布局选项应该在编辑器的正下方可用(作为元框)。

如果仍然需要代码,请使用普通CSS删除侧栏区域。

function remove_primary_sidebar() {
    //Only if Pages with the following IDs
    if (is_page(array(\'1\', \'2\', \'3\'))) { ?>
        <style type="text/css">
            .sidebar-primary {display:none !important;}
        </style>
<?php   }   
}
add_action(\'wp_head\', \'remove_primary_sidebar\');

SO网友:Brad Dalton

您可以做的是有条件地强制进行全宽布局。

此代码仅适用于Genesis子主题。

add_filter( \'genesis_pre_get_option_site_layout\', \'wpsites_full_width_layout\' );
function wpsites_full_width_layout( $opt ) {
if ( is_singular(array(\'bp_group\', \'bp_group\') ) ) {
$opt = \'full-width-content\'; 
return $opt;
    } 
}
资料来源:wpsites.net

结束

相关推荐

Admin option sidebar count

我需要在管理侧边栏的选项菜单项中添加一个计数。这是如何做到的?I found a similar post:Modifying admin sidebar contents to show pending posts indicator