漫画の一覧をリスト化したかったので試行錯誤。
特定のカテゴリーページだけ古い順にソートする
親テーマのfunctions.phpの最後に以下を書き加える。
//任意のカテゴリだけ並びを古い順に function my_pre_get_posts($query) { if (is_category( array( 'A', 'B' ))) { $query->set('order', 'ASC'); } } add_action('pre_get_posts', 'my_pre_get_posts');
ASCは古い順、DESCが新しい順です。
AやBはご自身のカテゴリーのスラッグに書き換えてください。
投稿順序を操作するプラグインIntuitive Custom Post Orderを入れていると、順序が上書きされてしまうようです。
多分カテゴリーページだけ回避する方法とかあると思うんですがわかりませんでした。
プラグイン DC Nicer Archive導入
リスト化するプラグインを導入。
DC Nicer Archiveはサイトはきえてるものの、wordpressのサーバーには残っているのでここからDC_nicer_archves.zipをDLしてください。
zipをプラグインインストールするのではなく、
FTPで必要ファイルをアップロードする。
plugins内にnicer_archives.php
テーマフォルダ内にcategory.php 、 search.php
参考:WordPressのカテゴリーページを記事タイトルの一覧表示にする簡単な方法
一部phpに不具合がある?とのことでnicer_archives.phpを書き直す。
post_categoryをcategory_idに
‘&orderby=title&order=asc&posts_per_page=9999’;を
&posts_per_archive_page=-1に
Expend機能を消す。該当部コメントアウトでOK
参考:WordPressのカテゴリ別ページを、記事タイトルによるリスト表示にする
参考:WordPressで検索結果とアーカイブをリスト表示にしたかった
DC Nicer Archiveカスタマイズ
レイアウト設定
header以降のclassなどを、元のategory.php 、 search.phpを参考になおしておいたほうがレイアウトが崩れないと思います。
twelveelevenの場合
<div id="content" class="narrowcolumn"> </div> ↓ <section id="primary" class="site-content"> <div id="content" role="main"> </div></section>
nicer_archives.phpの以下をコメントアウト。
<a title="Permanent Link: '.$category_name. '" href="'.get_category_link($post->category_id) . '&full=1" rel="bookmark">Expand</a>
アイキャッチつきにする
参考:労力を使わず各記事にアイキャッチ画像を設定する4つの方法-いつも空が見えるから
こちらのサンプルコードを参考に、category.phpを書き直し。
こちらでは新しい記事にNewの文字も出てくれる!
array(120,120)の数字を変えることでサイズを変更。
・サムネをちゃんと指定するか、WPのメディアにアップしておかないと、サイズ指定がうまくいきません。(2017.8.12追記)
外部リンクの画像などをサムネに指定してる場合、CSSでの調整が必要になります、
以下で短いほうを120pxに調整、長いほうはトリミングします。
img { width: 120px; height: 120px; object-fit: cover; }
・…また、うちでは上の方法だと抜粋がうまくいきませんでした。
1つめの記事の抜粋が並んでしまう…
残念ながら<?php the_excerpt(); ?> を削除。
抜粋表記はallinseopackの抜粋を利用しました。(2017.8.12追記)
<?php echo get_post_meta($post->ID, _aioseop_description, true); ?>
画像を大きくすると、文字が回り込んでしまう場合
上のサンプルコードでは、うちの場合floatが解除されていなかったので
</li>の最後に以下を記載
<div class="clear"></div>
追加CSSに以下を記載
/*floatの解除*/ .clear { clear:both; }
以上の設定でできたカテゴリー一覧がこちら!
(古い順ソート+DC Nicer Archive+category.php書き換え)
2017/6/4 課題。サイドバーの「最近の投稿」まで古い順ソートになってしまう…
解除方法がわからなかったので、追加CSSにて特定のカテゴリーページだけ最近の投稿ウィジェットを非表示に。
(☆☆☆=カテゴリースラッグ)
.category-☆☆☆ .widget_recent_entries{ display: none; }
プラグインなしでカテゴリーをリスト表示にする
一度うまくいったんですが今は反映できてない…(1件のみ表示になってしまった)
どうやったかわからなくなっちゃったから試行錯誤中。
これがうまくできれば、DC Nicer Archiveも不要だし表示されるもののカスタマイズもできそう。
参考:【カテゴリーページを記事タイトル一覧で全件表示する | Salty WordPress】