複数のカスタム投稿の月間アーカイブ一覧を作りたい

wp_get_archivesではpost_typeがひとつしか設定できなかったのでfunction.phpにフィルタを追加することで解決出来ました。
getarchives_whereフィルタでSQL呼び出しの部分の呼び出し条件をINを使って複数設定して呼び出せばOKでした。

以下コードです。

/*アーカイブ取得*/
function add_all_posttype($where,$r){
if( is_post_type_archive('設定したいカスタム投稿のスラッグ')){

$types= ”'aaaa','bbbbb','ccccc','ddddd'”;
return str_replace(
"post_type = 'post' ",
"post_type IN(". $types.")" ,
$where
);
}else{
return $where;
}
}
add_filter('getarchives_where','add_all_posttype',10,2);

/*アーカイブリンク変更*/
function my_link($link_html){
if( is_post_type_archive('設定したいカスタム投稿のスラッグ')){
return str_replace(home_url('/'), home_url('/').'設定したいカスタム投稿のスラッグ/', $link_html);
}
else{
return $link_html;
}
}
add_filter("get_archives_link","my_link");

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中