サポート » テーマ » Mathesonでブログに右カラムにサイドバーを表示させたい

  • Mathesonというテーマを使ったサイトの修正を知人に依頼されました。
    https://ja.wordpress.org/themes/matheson/
    ブログの右カラムにメニューを入れたいという依頼なのですが、このテーマは基本ブログはサイドバーがサイトの右や左に表示するということはないようで、ブログ記事が横幅100%に表示されるようです。いろいろ探ってみましたが、どこを直せばいいものかわからず困っています。

    どなたかご存知の方がいらっしゃいましたら、ご教示いただければと思います。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • ブログ一覧にサイドバーがほしいということですね。
    archive.php にサイドバーを追加」するか、
    固定ページにはサイドバーがあるので、ブログ記事を取得してリスト」すればどうですか。

    別案です。検証していないのと、ちょっと強引ですが・・・(個別投稿/single.phpとふつうの固定ページ/page.phpはサイドバーが表示されますよね。)

    • ブログ投稿一覧を表示するコードを固定ページテンプレートへ書いて、固定フロントページでその固定ページを「フロントページ」に指定。front-page.phpはサイドバーを表示してくれます。
    • 固定フロントページの「投稿ページ」を使う場合はhome.phpを新しく作る(いまはindex.phpが使われるのでサイドバーがつきません)。home.phpの中身はindex.phpを複製してサイドバー表示用コードを追加する。サイドバーのコードはsingle.phpが参考になります。

    お返事おそくなりすみません。
    時間がなくて次の作業が止まってしまっています。

    맹조さま
    archive.phpにサイドバーを追加すると一番下に行事されてしまうので、考えてしまっていました。ブログ記事を取得してリストとはgblsmと同じはなしになりますか?

    gblsmさま
    この方法でいけそうですね。やってみます。

    一箇所訂正させてください。一番目のほう(固定ページテンプレートを書いて・・・)はうまくいかなさそうです。二番目(home.phpを使う)が良いと思います。

    Honda

    (@rocketmartue)

    テーマのCSSでBootstrapを使ってますので、

    <div class="container">
    <div class="row">
    <div class="col-sm-12">

    この辺りのCSSを理解していないと、難しいかもしれません。

    http://getbootstrap.com/css/#grid
    http://bootstrap3.cyberlab.info/css/gridSystem.html

    こんにちは

    固定ページタイトル home と blog を作成

    固定ページテンプレートを設定、フロントページに home

    ポストページに、blog を指定

    index.phpを以下に変更

    で、トップページ、ブログアーカイブ2カラムになると思います。

    ブログアーカイブで、カラム落ちするのは、ブログアーカイブページで、is_singular()がtrue になってしまっているせいなんじゃないかと思います、多分。

    <?php
    /**
     * The main template file.
     *
     * This is the most generic template file in a WordPress theme
     * and one of the two required files for a theme (the other being style.css).
     * It is used to display a page when nothing more specific matches a query.
     * For example, it puts together the home page when no home.php file exists.
     *
     * Learn more: http://codex.wordpress.org/Template_Hierarchy
     *
     * @since 1.0.0
     */
    if( true == is_home() && false == is_front_page() ) {//ブログページの設定
    
    //bavotasan_primary_attr のコピー
    
    function custom_bavotasan_primary_attr() {
    	$bavotasan_theme_options = bavotasan_theme_options();
    	$primary = str_replace( 'col-md-', '', $bavotasan_theme_options['primary'] );
    	$secondary = ( is_active_sidebar( 'second-sidebar' ) ) ? str_replace( 'col-md-', '', $bavotasan_theme_options['secondary'] ) : 12 - $primary;
    	$tertiary = 12 - $primary - $secondary;
    	$class = $bavotasan_theme_options['primary'];
    	if( true !== is_home() && false !== is_front_page() ) {// ブログアーカイブ出なかったらの条件を追加
    		$class = ( is_singular() || is_404() ||( function_exists( 'is_bbpress' ) && is_bbpress() ) ) ? $class : 'col-sm-12';
    	}
    	$push = '';
    	$class = ( 'left' == $bavotasan_theme_options['layout'] ) ? $class . ' pull-right' : $class;
    
    	echo 'class="' . esc_attr( $class ) . esc_attr( $push ) . '"';
    }
    
    //page.phpのコピー
    get_header();
    ?>
    
    	<div class="container">
    		<div class="row">
    			<div id="primary" <?php custom_bavotasan_primary_attr(); ?>>
    				<?php
    				while ( have_posts() ) : the_post();
    					?>
    					<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    							<h1 class="entry-title"><?php the_title(); ?></h1>
    
    						    <div class="entry-content">
    							    <?php the_content( __( 'Read more', 'matheson') ); ?>
    						    </div><!-- .entry-content -->
    
    						    <?php get_template_part( 'content', 'footer' ); ?>
    					</article><!-- #post-<?php the_ID(); ?> -->
    
    					<?php
    					comments_template( '', true );
    				endwhile;
    				?>
    			</div>
    			<?php get_sidebar(); ?>
    		</div>
    	</div>
    
    <?php get_footer(); 
    
    }else{
    //元のindex.php
    get_header(); ?>
    
    	<div id="primary" <?php bavotasan_primary_attr(); ?>>
    		<?php
    		if ( have_posts() ) :
    			while ( have_posts() ) : the_post();
    				get_template_part( 'content', get_post_format() );
    			endwhile;
    
    			bavotasan_pagination();
    		else :
    			get_template_part( 'content', 'none' );
    		endif;
    		?>
    	</div>
    
    <?php
    get_footer();
    	}
    ?>

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「Mathesonでブログに右カラムにサイドバーを表示させたい」には新たに返信することはできません。