miyamoです。
このブログでは、WordPressのテーマとしてSimplicityを利用しています。
ウィジェットを使って、サイドバーへ試着記事と人気記事を表示することができるのですが
- Topページ:人気記事
- 個別記事ページ:新着記事
となってしまいます。
これを、全てのページで、人気記事と新着記事を表示するようにカスタマイズしたので、その方法をお知らせします。
目次
?カスタマイズ前の表示を確認
カスタマイズする前は、Topページは人気記事、個別記事ページは新着記事となっています。
Topページの表示
Topページでは人気記事(人気エントリーに表示名を変更しています。)が表示されています。
個別記事ページの表示
個別記事ページでは、新着記事(新着エントリーに表示名を変更しています。)が表示されています。
カスタマイズ内容
Topページでも個別記事ページでも、人気記事と新着記事が同時に表示されるようにします。
カスタマイズ方法
?phpファイル編集画面の表示
ダッシュボードのメニューから、外観→テーマの編集を選択します。
今回は、Simplicityの親テーマ自体を編集します。子テーマを使っている方は、編集対象が子テーマになっています。
プルダウンを開いて、親テーマ(ここではSimplicity1.6.0)を選び、
選択ボタンを押します。
編集対象のwidget.phpを選択します
親テーマの編集に切り替わると、右側に編集対象のファイルが表示されます。この中から、widget.phpを選択して下さい。
widget.phpの修正箇所
function widget($args, $instance) { extract( $args ); $title_new = apply_filters( 'widget_title_new', $instance['title_new'] ); $title_popular = apply_filters( 'widget_title_popular', $instance['title_popular'] ); //表示数を取得 $entry_count = apply_filters( 'widget_entry_count', $instance['entry_count'] ); //表示タイプ $entry_type = apply_filters( 'widget_entry_type', $instance['entry_type'] ); //固定ページを含める $is_pages_include = apply_filters( 'widget_is_pages_include', $instance['is_pages_include'] ); $is_views_visible = apply_filters( 'widget_is_views_visible', $instance['is_views_visible'] ); $range = apply_filters( 'range', $instance['range'] ); $range_visible = apply_filters( 'range_visible', $instance['range_visible'] ); $is_ranking_visible = apply_filters( 'is_ranking_visible', $instance['is_ranking_visible'] ); //表示数をグローバル変数に格納 //後で使用するテンプレートファイルへの受け渡し //表示数が設定されていない時は5にする global $g_entry_count; if ( !$entry_count ) $entry_count = 5; $g_entry_count = $entry_count; //表示タイプのデフォルト設定 global $g_entry_type; if ( !$entry_type ) $entry_type ='default'; $g_entry_type = $entry_type; //固定ページを含めるかのデフォルト設定 global $g_is_pages_include; $g_is_pages_include = $is_pages_include; //ページビュー表示に格納 global $g_is_views_visible; $g_is_views_visible = $is_views_visible; global $g_range; $g_range = ($range ? $range : 'all'); global $g_widget_item; $g_widget_item = 'SimplicityWidgetItem'; ?> <?php if ( is_home() ) { //トップリストの場合?> <div id="popular-entries" class="widget widget_new_popular"> <h4><?php if ($title_popular) { echo $title_popular; } else { echo '人気記事'; } ?></h4> <?php if ( $is_ranking_visible ) {//ランキングの表示 echo get_popular_posts_ranking_style('.widget_new_popular'); } ?> <?php if (function_exists('wpp_get_mostpopular') && //Wordpress Popular Postsがインストールされているかどうか is_wpp_enable()) { //Wordpress Popular Postsを?> <?php //PV順 if ( $entry_type == 'default' ) { get_template_part('popular-posts-entries');//デフォルト } else { get_template_part('popular-posts-entries-large');//大きなサムネイル }?> <?php if ($range_visible) { echo get_range_tag($range); } ?> <?php } else { //Wordpress Popular Postsがインストールされていない?> <?php //コメント順 if ( $entry_type == 'default' ) { get_template_part('popular-entries');//デフォルト } else { get_template_part('popular-entries-large');//大きなサムネイル } ?> <?php } ?> </div> <?php } else { //メインページ以外?> <div id="new-entries" class="widget widget_new_popular"> <h4><?php if ($title_new) { echo $title_new; } else { echo '新着記事'; } ?></h4> <?php //新着記事 if ( $entry_type == 'default' ) { get_template_part('new-entries');//デフォルト } else { get_template_part('new-entries-large');//大きなサムネイル } ?> </div><!-- /#new-entries --> <?php } ?> <?php }
上記ソースコード、function widgetの中の、以下の3行を削除して下さい。//でコメントアウトしてもうまく動かったので、私は行ごと削除しています。
- 36行目:<?php if ( is_home() ) { //トップリストの場合?>
- 67行目:<?php } else { //メインページ以外?>
- 82行目:<?php } ?>
この3行の役割は、表示されるページが、Topページかそれ以外かを判断して、人気記事と新着記事のどちらを表示するか切り替えています。
この判断部分を削除することで、人気記事→新着記事の順で表示されるようになります。
これらの修正が完了したら、ファイルを更新を押して保存します。
修正後の表示
修正後はこのように表示されるようになります。
人気エントリーの下に、新着エントリーが表示されています。Topページも、個別記事ページも同じように表示されます。
まとめ
このカスタマイズには2点注意点があります。
修正に失敗した場合はFTPでwidget.phpを置き換える
修正を間違えてプログラム上エラーが出るようになると、ダッシュボードにも入れなくなります。その場合は、FTPでwidget.phpを置き換える必要があります。
バックアップを取っていなかった場合は、widget.phpはSimplicityのZIPファイルの中にありますので、それをアップロードします。
親テーマをバージョンアップで更新したら再度widget.phpの修正が必要
修正は親テーマを対象に行なっています。Simplicityがバージョンアップして、テーマの更新を行うと、widget.phpが置き換わります。再度widget.phpの修正が必要となります。今回と同じような修正を行って下さい。
おしまい。
コメント
[…] すあろぐ […]