こんにちは、自動追加は出来ますが、自動設定は javascriptかなんかで考えてみてください
functions.php に以下のフィルターを追加してみてください
add_filter( 'default_content', 'my_default_content',10,2 );
function my_default_content( $content,$post ) {
if( $post->post_type == 'post' ) {
$y = absint( date('Y') );
$my_cat = array('cat_name' => date('Y'),
'category_description' => "{$y}年の投稿",
'category_nicename' => $y,
'category_parent' => '');
wp_insert_category( $my_cat );
}
return $content;
}
追記:カテゴリーを事前に作れば、おんなじなので、年に一回なら、意味なさそうですね… 忘れてください
書き直します
add_filter( 'default_content', 'my_default_content', 10, 2 );
function my_default_content( $content, $post ) {
if ( $post->post_type == 'post' ) {
$y = absint( date( 'Y' ) );
$my_cat = array( 'cat_name' => date( 'Y' ),
'category_description' => "{$y}年の投稿",
'category_nicename' => $y,
'category_parent' => '' );
wp_insert_category( $my_cat, $wp_error );
$cat_id = get_cat_ID( $y );
wp_set_post_categories( $post->ID, array( $cat_id ), true );
}
return $content;
}
訂正
誤
wp_insert_category( $my_cat, $wp_error );
正
wp_insert_category( $my_cat );
2016とかのカテゴリーは、年に1回なので、自分で作成しておけば、削除して大丈夫だと思います
$my_cat = array( 'cat_name' => date( 'Y' ),
'category_description' => "{$y}年の投稿",
'category_nicename' => $y,
'category_parent' => '' );
wp_insert_category( $my_cat );
この方法だと、新規投稿で公開日を2010とかにしても自動的に2016が追加されます!
簡単な変更で済むことなので、工夫してみてください。
簡単な変更で済むことなので、工夫してみてください。
と簡単にできそうに書きましたが、考えてみると、出来ません。
そういう使い方なら、このコードはあきらめて別の方法を探してください
794うぐいす平安京的な歴史上の事柄を扱う年表のようなものでなく、投稿の日付なら下記リンクではないでしょうか。
アーカイブインデックスページの作り方
wp_get_archiveは試し済みだったんですね、すいません。
とりあえず、こちらのスレでいいので、いまスレ主さんがしていることとやりたいことををまとめてみるといいと思います。
いろいろ対処療法的にスレッドが立って、原点がぼやけてるような気がします。
個人的な心象いえば、
各カテゴリー、少なくともニュースというカテゴリーの記事を年別にが大前提で
- 1ページですべての記事を年代見出しと年代属記事一覧、年代見出しと年代属記事一覧のループで見せたいのか
- 1ページに一つの年代とその記事一覧を見せたいのか
どちらなんだろうと思います。