Mathesonでブログに右カラムにサイドバーを表示させたい
-
Mathesonというテーマを使ったサイトの修正を知人に依頼されました。
https://ja.wordpress.org/themes/matheson/
ブログの右カラムにメニューを入れたいという依頼なのですが、このテーマは基本ブログはサイドバーがサイトの右や左に表示するということはないようで、ブログ記事が横幅100%に表示されるようです。いろいろ探ってみましたが、どこを直せばいいものかわからず困っています。どなたかご存知の方がいらっしゃいましたら、ご教示いただければと思います。
-
ブログ一覧にサイドバーがほしいということですね。
「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を使う)が良いと思います。
テーマの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(); } ?>
- トピック「Mathesonでブログに右カラムにサイドバーを表示させたい」には新たに返信することはできません。