Title: ページリストの表示のタイトル・日付の順番を変更したい
Last modified: 2016年7月30日

---

# ページリストの表示のタイトル・日付の順番を変更したい

 *  解決済 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [17年、 2ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/)
 * お世話になります。
    新規でページを作成した場合、下記のタグを入れることにより、
   リスト表示が可能ですが、HTMLに出力した場合、順番を（１）日付（２）タイトルの順に
   表示したいのですが、どのように変更すればよいかが不明です。 どなたかご指導をお願い
   します。
 *     ```
       <?php wp_list_pages('title_li=&exclude=3,6,10,12,56&
       sort_column=post_date&show_date=created'); ?>
       ```
   
 * 〇現在
    ・タイトル 2009年8月2日
 * 〇変更後
    ・2009年8月2日 タイトル

12件の返信を表示中 - 31 - 42件目 (全42件中)

[←](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/2/?output_format=md)
[1](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/?output_format=md)
[2](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/2/?output_format=md)
3

 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119707)
 * the_timeやthe_permalinkなどは今いる記事のデータを吐き出してしまいます。
    ページ
   にいるということは記事ではないので最新のデータが表示されてしまうと思います。 
   なので取得してループさせている$postから直接データを抜き出せば思うような表示に
   なるのではないでしょうか。 具体的には`get_permalink($post->ID)`とかのような表記
   になると思います。
 * あと、個人的な意見になりますが、exec-phpなどのプラグインはセキュリティを落とし
   ます。できればfunctions.phpなどにソースを記述して、フィルターなどで書き換える
   ような方法が良いのではないでしょうか。
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119708)
 * shokun0803　さん
 * すみません、この部分がどうして良いかがわかりません。
 * > ページにいるということは記事ではないので最新のデータが表示されてしまうと思い
   > ます。
   >  なので取得してループさせている$postから直接データを抜き出せば思うよう
   > な表示になるのではないでしょうか。
 * 下記のページや`<?php wp_get_archives('type=postbypost&limit=5'); ?>`を参考にしま
   したが、思うような表示にはなりませんでした。
 * すみませんが、もう少しヒントを下さい。
 * [http://ja.forums.wordpress.org/topic/1009?replies=3](http://ja.forums.wordpress.org/topic/1009?replies=3)
   
   →表示されない `<?php wp_get_archives('type=postbypost&limit=5'); ?>` →日付が表示
   されない
 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119709)
 *     ```
       foreach ($postslist as $my_post) :
       			setup_postdata($my_post);
       			$my_year = substr($my_post->post_date, 0, 4);
       			$my_month = substr($my_post->post_date, 5, 2);
       			$my_day = substr($my_post->post_date, 8, 2);
       			$my_time = date('Y年m月d日', mktime(0,0,0,$my_month,$my_day,$my_year));
       			$my_permalink = get_permalink($my_post->ID);
       			$my_title = $my_post->post_title;
       			$rep_contents .= "\t<li>&raquo;" . $my_time . "<br /><a href=\"" . $my_permalink . "\">" . $my_title . "</a></li>\n";
       		endforeach;
       ```
   
 * 必用なpostデータを取得してforeachまではできているので、foreachして取り出したpost
   のデータを表示することが重要です。
    現状のソースですと`the_title()`などのよう
   にその場で表示しようとしています。 取り出したpostデータから情報を抽出するには`
   $my_post->post_title`などのようにします。そのまま表示してもいいですが、上記ソース
   では一度別の変数に格納しています。
 * これをfunctions.phpに記述するとなると、例えば、
 *     ```
       function my_five_post_list($contents) {
   
       	if( is_page() && substr_count($contents, '[my_five_post_list]') != 0 ) {
       		$rep_contents = "\n<ul>\n";
       		$postslist = get_posts('orderby=post_date');
       		foreach ($postslist as $my_post) :
       			setup_postdata($my_post);
       			$my_year = substr($my_post->post_date, 0, 4);
       			$my_month = substr($my_post->post_date, 5, 2);
       			$my_day = substr($my_post->post_date, 8, 2);
       			$my_time = date('Y年m月d日', mktime(0,0,0,$my_month,$my_day,$my_year));
       			$my_permalink = get_permalink($my_post->ID);
       			$my_title = $my_post->post_title;
       			$rep_contents .= "\t<li>&raquo;" . $my_time . "<br /><a href=\"" . $my_permalink . "\">" . $my_title . "</a></li>\n";
       		endforeach;
       		$rep_contents .= "</ul>\n";
       		$new_contents = str_replace('[my_five_post_list]', $rep_contents, $contents);
       	} else {
       		$new_contents = $contents;
       	}
   
       	return $new_contents;
       }
   
       add_filter('the_content', 'my_five_post_list');
       ```
   
 * などのようになるでしょうか。
    ページの表示したい任意の場所に`[my_five_post_list]`
   を記述することでその部分を書き換えます。
 * 適当な作りなのでご参考までにおねがいします;)
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119710)
 * shokun0803　さん
 * 返信が遅くなってすみません。
    上記のコードで、求めていたものが表示確認出来ました。
   ありがとうございました。
 * ちなみに件数については、
    `if( is_page() && substr_count($contents, '[my_five_post_list]')!
   = 0 ) {` と `$new_contents = str_replace('[my_five_post_list]', $rep_contents,
   $contents);` の「five」の部分を変更すればよろしいでしょうか？
 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119711)
 * おはようございます、igarashi5620さん。
 * [my_five_post_list]についてはページなどでphpのコードを使用せずにコードを挿入する
   為に*任意*につけた名前です。実際にはページのこの部分を探して、あれば「置き換え」
   します。簡易ショートコードといったところでしょうか。
 * で、件数についてですが、`$postslist = get_posts('orderby=post_date');`の部分が
   決定しています。get_postsについては[日本語Codex](http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts)
   をみるとよく分かりますよ。
 * get_postsはデフォルトで5件の投稿を取得します。ですので何も指定していない現在の
   コードだと5件表示になっているのですね。
    ここにnumberposts=10と指定してあげれ
   ば10件表示にできるはずです。具体的には`$postslist = get_posts('orderby=post_date&
   numberposts=10');`といった感じでしょうか。
 * 簡易ショートコードの部分に関しては他のショートコードなどとかぶらなければ何に変更
   してもかまいません。ご自身で分かりやすいものに変更したほうが使いやすいかもしれ
   ませんね;)
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119712)
 * shokun0803　さん
 * 確認しました。
    誠にありがとうございました。
 * 何度も恐れ入りますが、
    固定ページについては、上記のコードの使用が可能でしょう
   か？ `orderby=post_date` を `post_type=page` に変更しての対応のみでよろしいで
   しょうか？ よろしくお願いいたします。
 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119713)
 * > 固定ページについては、上記のコードの使用が可能でしょうか？
 * これは何についておっしゃっていますかね。
    ・ページの中でこのコードが使えるか。（
   最新投稿○件の表示） ・ページの新規5件を表示したい。
 * 前者であればページの中でお好きな場所に`[my_five_post_list]`と記述（違うショート
   コードに変更していたら変更後のもので）してもらえれば動きます。普通にビジュアル
   エディタの状態でコピペすればOKですよ。もちろん投稿記事の中でも使えます。
 * 後者の場合、orderby=post_dateは「投稿日時順にソート」を意味しているのではずし
   てしまうと最新○件にならなくなってしまいます。`post_type=page`を追記すればページ
   の最新○件になるはずです。
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119714)
 * shokun0803　さん
 * すみません後者です。
    下記コードを `$postslist = get_posts('post_type=page&exclude
   =125,131');`
 * `$postslist = get_posts('orderby=post_date');`
    の下に追加してテストしたところ
   の表示になりましたが、 コードの記述のしかたはこれでよろしいでしょうか？ ご指導
   お願いします。 * 2009年12月11日 テスト6 * 2009年12月11日 テスト5 * 2009年12月
   11日 テスト4 * 2009年12月11日 テスト3 * 2009年12月11日 テスト2
 *     ```
       function my_five_post_list($contents) {
   
       	if( is_page() && substr_count($contents, '[my_five_post_list]') != 0 ) {
       		$rep_contents = "\n<ul>\n";
       		$postslist = get_posts('orderby=post_date');
       		$postslist = get_posts('post_type=page&exclude=125,131');
       		foreach ($postslist as $my_post) :
       			setup_postdata($my_post);
       			$my_year = substr($my_post->post_date, 0, 4);
       			$my_month = substr($my_post->post_date, 5, 2);
       			$my_day = substr($my_post->post_date, 8, 2);
       			$my_time = date('Y年m月d日', mktime(0,0,0,$my_month,$my_day,$my_year));
       			$my_permalink = get_permalink($my_post->ID);
       			$my_title = $my_post->post_title;
       			$rep_contents .= "\t<li>&raquo;" . $my_time . "<br /><a href=\"" . $my_permalink . "\">" . $my_title . "</a></li>\n";
       		endforeach;
       		$rep_contents .= "</ul>\n";
       		$new_contents = str_replace('[my_five_post_list]', $rep_contents, $contents);
       	} else {
       		$new_contents = $contents;
       	}
   
       	return $new_contents;
       }
   
       add_filter('the_content', 'my_five_post_list');
       ```
   
 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119715)
 * `get_posts`は１つだけ記述しましょう。
    上記の記述ですと、２度`get_posts`してい
   ます。これだと１回目の`get_posts`は２回目の`get_posts`に上書きされて消えてしま
   います。
 *     ```
       $postslist = get_posts('orderby=post_date&post_type=page&exclude=125,131');
       ```
   
 * のように１度で記述します。
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119716)
 * shokun0803　さん
 * ありがとうございました。
    下記のとおり追加いたしましたが、 さらに `$res = get_post_meta(
   $my_post->ID, 'new', 'true');` を入れたのですが、表示のしかたは `$rep_contents.
   = "\t<li>&raquo;" . $my_time . "　<a href=\"" . $my_permalink . "\">" . $my_title."".
   $res . "</a></li>\n";` でよろしいですか？ ” . $res . “の部分が不安です。。 一応
   動いておりますが。。 よろしくお願いします。
 *     ```
       function my_five_post_list($contents) {
   
       	if( is_page() && substr_count($contents, '[my_five_post_list]') != 0 ) {
       		$rep_contents = "\n<ul>\n";
       		$postslist = get_posts('orderby=post_date&post_type=page&exclude=5,29,31,36,38,40');
       		foreach ($postslist as $my_post) :
       			setup_postdata($my_post);
       $res = get_post_meta($my_post->ID, 'new', 'true');
       			$my_year = substr($my_post->post_date, 0, 4);
       			$my_month = substr($my_post->post_date, 5, 2);
       			$my_day = substr($my_post->post_date, 8, 2);
       			$my_time = date('Y年m月d日', mktime(0,0,0,$my_month,$my_day,$my_year));
       			$my_permalink = get_permalink($my_post->ID);
       			$my_title = $my_post->post_title;
       			$rep_contents .= "\t<li>&raquo;" . $my_time . "　<a href=\"" . $my_permalink . "\">" . $my_title . "" . $res . "</a></li>\n";
       		endforeach;
       		$rep_contents .= "</ul>\n";
       		$new_contents = str_replace('[my_five_post_list]', $rep_contents, $contents);
       	} else {
       		$new_contents = $contents;
       	}
   
       	return $new_contents;
       }
   
       add_filter('the_content', 'my_five_post_list');
       ```
   
 *  [shokun0803](https://ja.wordpress.org/support/users/shokun0803/)
 * (@shokun0803)
 * [16年、 10ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119717)
 *     ```
       . $my_title . "" . $res .
       ```
   
 * の部分が冗長ですね。間に何も文字を置く予定がないなら
 *     ```
       . $my_title . $res .
       ```
   
 * でいいと思うのですけど。他に特に問題は見当たらなさそうですよ;)
 *  トピック投稿者 [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * (@igarashi5620)
 * [16年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119718)
 * shokun0803　さん
 * ありがとうございました。
    確認いたしました。 大変お手数をおかけいたしました。

12件の返信を表示中 - 31 - 42件目 (全42件中)

[←](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/2/?output_format=md)
[1](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/?output_format=md)
[2](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/2/?output_format=md)
3

 トピック「ページリストの表示のタイトル・日付の順番を変更したい」には新たに返信する
ことはできません。

 * フォーラム: [テーマ](https://ja.wordpress.org/support/forum/themes/)
 * 42件の返信
 * 3人の参加者
 * 最後の返信者: [igarashi5620](https://ja.wordpress.org/support/users/igarashi5620/)
 * 最後の活動: [16年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%9a%e3%83%bc%e3%82%b8%e3%83%aa%e3%82%b9%e3%83%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%bb%e6%97%a5%e4%bb%98%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e5%a4%89/page/3/#post-119718)
 * 状態: 解決済

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
