特定のカテゴリー一覧を作る WordPressを勉強 2


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

おお、動いた
いいね、この初めて動かして、動いた!って感動はいつでもいいものサ
すげー、直感だけでも意外といけるもんね
コレにプラスしてどのカテゴリーかを指定したり、テーマのテンプレートに追加できるといいね
まだまだ、勉強の余地はあるのだな
あっはっはっは

追記
オリジナルテンプレートに差し込んだ状態のファイルをどうぞ
テーマフォルダに入れるだけでテンプレートが追加さるのサ


ダウンロード:original_template


Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

2 thoughts on “特定のカテゴリー一覧を作る WordPressを勉強