社内日報であれば、
デフォルトのパーマリンク形式で標準対応しているので、それを使えばよいのではないでしょうか。
gatespaceさん、MIZUNOさん、回答どうもありがとうございます。
しかし、少し内容が違ったかもしれません・・・(というより私の方が理解してないだけの可能性もありますが。)
もう少し具体的に書かせていただきます。
パーマリンク設定が、現状以下のようになっております。
/%author%/%year%/%monthnum%/%day%/%post_id%
また、上記設定にしたことで、以下のような階層構造でページにアクセスすることはできております。
■ユーザーアーカイブ
http://www.example.com/yamada/
■ユーザー年別のアーカイブ
http://www.example.com/yamada/2014/
■ユーザー月別のアーカイブ
http://www.example.com/yamada/2014/05/
■パーマリンク
http://www.example.com/yamada/2014/05/45
ただし、ユーザーごとの各年別月別アーカイブを表示させたいのに、現状だとサイドバーが共通のものになってしまって、現在のユーザーだけにソートされたアーカイブリストを表示させることができておりません。
つまり、上記例の場合だとトップページ意外全部にyamadaさんの年別月別アーカイブを表示させたいのです。ほかの人の記事へのリンクは不要なのです。
問題は「サイドバーの表示を変える」ということでした。
こちら具体的な方法が全くわからず、困っております。
ちなみにサイドバーの形としては、
2010年
01月
02月
03月
2011年
01月
02月
03月
2012年
01月
02月
03月
というような、いわゆるリストタグの入れ子構造になっております。
この形での出力が必須なのですが、私にはわかりませんでした。
どなたかある程度具体案をお持ちの方か、過去に作成した経験のある方はおられませんでしょうか?
よろしくお願いいたします。
こんにちは
functions.php
function get_author_posts_group_month() {
global $authordata, $post;
$authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => -1 ) );
$output = '<ul style="list-style:none;">';
$y = '';
$m = '';
$html = '<li style="padding-left:30px"><a href="%1$s">%2$s</a></li>';
foreach ( $authors_posts as $key => $authors_post ) {
preg_match( '!([0-9]+)-([0-9]+)-.*!', $authors_post->post_date, $args );
if ( $y !== $args[1] ) {
$output .= '<li>' . absint( $args[1] ) . '</li>';
}
if ( $m !== $args[2] ) {
$output .= '<li>' . absint( $args[2] ) . '</li>';
}
$output .= sprintf( $html,
get_permalink( $authors_post->ID ),
apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID )
);
$y = $args[1];
$m = $args[2];
}
$output .= '</ul>';
return $output;
}
template
<?php echo get_author_posts_group_month(); ?>
のような感じでどうですか?
月とか年にリンクが必要なら
http://codex.wordpress.org/Function_Reference/get_month_link
とかを見てください
皆さんありがとうございます。
nobitaさんのものが近かったのですが、今回はマルチサイトにしてユーザごとにブログを生成して解決いたしました。
本当は1ブログで簡潔させたかったので、心残りです。。。
一応自己解決という形になったのですが、質問が僕のなかで解決できなかったんで、こういうときは解決済みにしない方がいいのでしょうか??
質問が僕のなかで解決できなかったんで、こういうときは解決済みにしない方がいいのでしょうか??
自分の中で解決でになっていないなら、解決済みにする必要はありません。
nobitaさんのものが近かったのですが、
近いんだけど、ちょっとここが違うんだよ という部分を書き込んでください。:)