2017-04-04 5 views
0

こんにちは人)WordPressのアーカイブを年ごとに取得するカスタム関数を作成するには?私はWPは(wp_get_archivesを呼び出すことにより、アーカイブの年間取得するためのメソッドを持って知っている

しかし、この方法は、上のそれが今年自体の全てのポストにリダイレクトされます]をクリックし、アーカイブの年のリストを取得します。

私がクリックした年のリストを取得するためにカスタマイズ機能を作成したい場合は、2番目のクエリを呼び出して月数と投稿数を取得します。

例。私が年をクリックすると、毎月の利用可能な投稿とその月の投稿数を得ることができます。

誰でもこのコードを参考にしてください。私はあなたがするように求めているものを完全にはよく分からない

$args = array('echo' => false, 'type' => 'yearly'); 
$archives = wp_get_archives($args); 

foreach($archives as $archive){ 
    // CODE FOR EACH YEAR ARCHIVE 
} 

:ありがとう

答えて

0

あなたはそれらの上のようなものを wp_get_archives()して、ループを使用してみてください。

私はループすることはできませんが、wp_get_archives()は文字列を返します。

これは、その下の私のコードは、あなたの方法であなたを助ける必要があります参照、これを行うためのネイティブな方法があるように思われないようにトリッキーな十分な質問だった:

<?php 

     $months = array(); 
     for ($m=1; $m<=12; $m++) { 
      $month = date('F', mktime(0,0,0,$m, 1, date('Y'))); 
      $months[$m] = $month; 
     } 

     $earliest_year = 2016; 
     $current_year = date('Y'); 
     $years = range($earliest_year, $current_year); 

     foreach ($years as $year){ 

      echo '<h1>' . $year . '</h1>'; 

      foreach ($months as $monthnum => $month){ 

       $args = array(
       'year' => $year, 
       'monthnum' => $monthnum 
      ); 
       $posts = get_posts($args); 

       if($posts){ 
       echo '<h2>' . $month . '(' . count($posts) . ')</h2>'; 
       } 
       foreach($posts as $post){ 
        if($post){ 
         $post_id = $post->ID; 
         echo '<a href="' . get_the_permalink() . '">' . get_the_title() . '</a><br>'; 
        } //END if($post) 

       } //END foreach($posts as $post) 
      } //END foreach ($months as $monthnum => $month) 
     } //END foreach ($years as $year) 

?> 

は、このことができますなら、私を知ってみましょう何か質問がある場合は、

+0

私は$ argsを知っていますが、この方法ではアーカイブの年月を取得し、年のアーカイブの年にリダイレクトします。私はそれをコンテンツにクリック可能にしたくありません。私はそれをクリックし、第2のクエリを呼び出して月を得る+その年自体の投稿カウント – Zayle

+0

あなたはほとんどそこにいる。しかし、それは年の各月の月(ポストカウント)を取得するために後で2番目のクエリを呼び出すためにjqueryを使用することができるように、年のタグのそれぞれにIDを追加しながら、文字列で年を返すように私はそれを編集するのですか? – Zayle

+0

「if($ posts){」から「} foreach($ posts as $ post)」までのすべてを削除すると、この行を編集することで追加できる年文字列とIDを年文字列に残します: "echo '

'。$ year。 '

';"単にH1にIDを追加してください: "echo '

'$ year。'

';" これはyear-2016のようなIDを追加します – Paul

関連する問題