###Wordpressで1ヶ月以内のリリース記事を総シェア数順で取得する
すでに、総シェア順で実装していますが、期間を設けていないため、古い記事も表示されるようになっています。
これを1ヶ月以内の記事のみで総シェア数順で表示したいと思います。
###発生している問題
wordpressのdata_queryをいじりましたが、うまく動かず... スキル的な部分が足りずお力添えお願いします。
###該当のソースコード
function echo_all_shares_ranking($is_in_article = false) { $number = DISPLAY_ARTICLES_NUM; $rank = get_posts('&meta_key=all_shares_num&numberposts=' . $number . '&orderby=meta_value_num'); echo '<ul class="articles">'; $i = 0; foreach ($rank as $post) { $all_shares_number = get_all_shares(get_permalink($post->ID), $post->ID); if ($all_shares_number == 0) { break; } $output_html = get_all_ranking_cells($post, $all_shares_number, $is_in_article); echo $output_html; $i++; } if ($i == 0) { echo '<li>No posts.</li>'; } echo '</ul>'; wp_reset_query(); } function get_all_ranking_cells($post, $all_shares_number, $is_in_article) { //article info $post_id = $post->ID; $post_title = esc_html($post->post_title); $permalink = get_permalink($post_id); $author_id = $post->post_author; $author_name = get_the_author_meta('display_name', $author_id); $author_page_link = esc_url(get_author_posts_url($author_id)); $categories = get_the_category($post_id); $category_name = $categories[0]->cat_name; $category_slug = $categories[0]->slug; $category_link = get_category_link($categories[0]->term_id); $thumnail_img = get_the_post_thumbnail($post_id, 'ranking-thumb'); $date = get_the_time(get_option('date_format'), $post_id); $output_html = <<<_RANKING_HTML_ <li> <a href="{$permalink}"> <div class="article-image"> {$thumnail_img} <p class="article-label background-{$category_slug}"> {$category_name} </p> </div> </a> <div class="article-headline"> _RANKING_HTML_ ; if ($is_in_article) { $output_html .= <<<_RANKING_HTML_ <a class="article-label-smal related-posts-category-tag" href="{$category_link}"> <span class="color-{$category_slug}">{$category_name}</span> </a> _RANKING_HTML_ ; } $output_html .= <<<_RANKING_HTML_ <a href="{$permalink}"> <h3>{$post_title}</h3> </a> <ul class="article-description"> <li class="article-shares">{$all_shares_number} Shares </li> <li class="article-author"><a href="{$author_page_link}">{$author_name}</a> </li> <li class="article-date">{$date}</li> </ul> </div> </li> _RANKING_HTML_ ; return $output_html; }
回答1件
あなたの回答
tips
プレビュー