WordPressで特定のカテゴリーの一覧を作りたくなった気分なので
色々と調べてみた
前提として
まず、おれはWordPressについてもphpもドが付くほどの素人だと言うこと
経験的にはwikiのスタイルシートとかphpを改造した程度
ただし、スクリプトだとかは最低限の知識は持ち合わせている
WordPress関連の本はもってない
さぁ、素人が挑むWordPressの始まりだ!
ひゃっほー
で、WordPressの外観の編集って所で、現在使用しているテーマのphpを書き換える事ができるみたい
すごいなWordPress、さすがだ
ただ、やっぱりDreamweverを使う
WordPressには投稿とページと2種類ある
あ、こうレベルから話し始めるほどの素人だぜ ひゃっほー
で、ページ表示処理にpage.phpを使っているのは何となくわかったので
このphpを試しに改造する
このサイトのテーマはデフォルトから変えていないので、場所は
wp-content/themes/default/page.php
つぎにフォーラムを色々探索検索
やっぱり同じなやみはみんな持っていんのサ
●シンプルイズベスト
簡単そうだったのがこの方法(実際に簡単だった)
http://ja.forums.wordpress.org/topic/154
●プラグインをつかう
タグを利用した関連ページ作成ってのもある
http://www.nwlab.com/?p=113
●まだ返送は無いようです無事に解決されたようです
たぶんこの記事の投稿者様はオレと同じことで悩んでいる(ハズ・・・)
http://ja.forums.wordpress.org/topic/1935
●ソート
こちらはソートをする方法、記事が名前順だとインデックス化しやすい
http://ja.forums.wordpress.org/topic/976
●archive.phpに書き足す
試してはいないけど、おそらく似たような悩み
http://ja.forums.wordpress.org/topic/1379
実際は、シンプルなモノを猿まね
page.phpの入れ先は<div class=”entry”>の所、<?php wp_link_pages~~~の後に入れてみた
<!–/*カテゴリーの記事一覧作成*/–>
<!–/*カテゴリーの記事一覧を取得、名前でソート*/–>
<?php $posts = get_posts(‘numberposts=100&category=5′.’&orderby=title&order=ASC’);
global $post;
?><?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<!–/*書き出し*/–>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>” id=”post-<?php the_ID(); ?>”><?php the_title(); ?></a></li><?php endforeach; endif;?>
<!–/*カテゴリーの記事一覧作成ここまで*/–>
なるほど主には2段階
まずは、get_posts()で、何のカテゴリーの記事をどれだけ入れるかは分かった
phpの知識がないので不安だけんども、$postsは変数値とかArrayだと思う
get_posts()の引数(だと思う)に&orderby=title&order=ASCを追加
これで記事の投稿順ではなく名前順にソートされる
global $postはwordpressが持っているグローバルな何かだよきっと
次は、取得したpostsの数だけ、タイトルを書き出す
setup_postdataとか実はあまり意味はわかってないけど
ifで始まってendif、foreachで始まってendforeachまでは最低限わからないとね
とにかく、あとはそのリンクとタイトルを作るので、どうやらthe_permalink()とthe_title()を使う
で、フォーラムより抜粋
the_title()
とかは、投稿データーをグローバル変数$post
から取得しますが、上記コードでは$post
がローカル変数になっている可能性があります。その場合the_title()
にデーターが渡りません。
なるほど、さっきglobalにした意味がわかった
引数とかもあるかな?まぁ気にするな
で、完成!
動かしてみた、
http://www.sakaiden.com/?page_id=39
オリジナルテンプレートに移しました
http://www.sakaiden.com/?page_id=892
おお、動いた
いいね、この初めて動かして、動いた!って感動はいつでもいいものサ
すげー、直感だけでも意外といけるもんね
コレにプラスしてどのカテゴリーかを指定したり、テーマのテンプレートに追加できるといいね
まだまだ、勉強の余地はあるのだな
あっはっはっは
追記
オリジナルテンプレートに差し込んだ状態のファイルをどうぞ
テーマフォルダに入れるだけでテンプレートが追加さるのサ
Pingback: 記事1000に達したぞ « sakaiden
Pingback: オリジナルのテンプレートページを作る « sakaiden