BuddyPress Theme Remove Sidebar

主体自带了buddypress插件,于是整体的就多了一个buddypress的成员页面,但是由于我的侧边栏比较长,那么这个页面看起来就非常的蛋疼,左侧的内容只有一点点,右边长的一p。于是就想改一下去掉侧边栏,大致搜了以下没有找到合适的插件,那就只能自己动手了。根据这篇文章的内容可以知道,影响页面的其实是page.php。那么直接对page.php动手,参考这篇文章的内容,可以创建一个子主题来实现相关功能,我没有安装插件也不想创建什么新的子主题了,直接在原始的文件上动手。解决问题的方案也比较简单,判断当前页面是不是buddypress相关的页面然后根据情况进行处理即可。
文章中提到了这么一个函数:bp_is_blog_page(),参考http://hookr.io/functions/bp_is_blog_page/的说明:

You can tell if a page is displaying BP content by whether the current_component has been defined.

源代码:

<?php get_header(); ?>
<div class="row">
<div class="col-lg-8 col-12">
<main id="content" role="main" itemprop="mainContentOfPage" itemscope="itemscope" itemtype="http://schema.org/Blog">
<div class="row">
<div class="col-12">
//省略部分代码
 
 
<div class="col-lg-4 col-12">
<?php get_sidebar(); ?>
</div>
</div></div></main></div></div>

修改后的代码(主题不同代码有所不同,定位get_sidebar函数修改即可):

<?php get_header(); ?>
<div class="row">
<?php if (bp_is_blog_page()): ?>
<div class="col-lg-8 col-12">
<?php else: ?>
<div class="col-lg-12 col-12">
<?php endif; ?>
<main id="content" role="main" itemprop="mainContentOfPage" itemscope="itemscope" itemtype="http://schema.org/Blog">
<div class="row">
<div class="col-12">
<?php while ( have_posts() ) : the_post(); ?>
<article id="entry-<?php the_ID(); ?>" <?php post_class( 'entry' ); ?> itemscope="itemscope" itemtype="http://schema.org/BlogPosting" itemprop="blogPost">
<h2 class="entry-title" itemprop="headline">
<?php the_title(); ?>
</h2>
<?php if ( has_post_thumbnail() ) : ?>
<div class="entry-featured">
<a class="ci-lightbox" href="<?php echo esc_url( olsen_light_get_image_src( get_post_thumbnail_id(), 'large' ) ); ?>">
<?php the_post_thumbnail( 'post-thumbnail', array( 'itemprop' => 'image' ) ); ?>
</a>
</div>
<?php endif; ?>
<div class="entry-content">
<?php the_content(); ?>
<?php wp_link_pages(); ?>
</div>
<div class="entry-utils group">
<?php get_template_part( 'part', 'social-sharing' ); ?>
</div>
<?php comments_template(); ?>
</article>
<?php endwhile; ?>
</div>
</div>
</main>
</div>
<?php if (bp_is_blog_page()): ?>
<div class="col-lg-4 col-12">
<?php else: ?>
<div>
<?php endif; ?>
<?php if (bp_is_blog_page()){
            get_sidebar();
            }
        ?>
</div>
</div>
<?php get_footer(); ?>
</div></div>

清爽多了,效果:

参考链接:

https://buddypress.org/support/topic/remove-theme-sidebar/

http://hookr.io/plugins/buddypress/2.8.2/functions/#index=b

https://codex.buddypress.org/themes/bp-theme-compatibility-and-the-wordpress-default-themes/twenty-thirteen-theme/

原创文章,转载请注明: 转载自 obaby@mars

本文标题: 《BuddyPress Theme Remove Sidebar》

本文链接地址: http://h4ck.org.cn/2020/09/buddypress-theme-remove-sidebar/

分享文章:

猜你喜欢:

一条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注