実現したいこと
bbpressで1週間の間で返信数の多い注目のトピック一の覧をショートコードで表示したい。
前提
[bbp-topic-ranking]という新たなショートこーどを作成して、注目(1週間の間で返信数の多い)のトピック一覧をショートコードで表示したいのですが、GPTにコードを記載して..もらった所なかなかうまくいきません。
該当のソースコード
function
1 global $wpdb; 2 $default = array( 3 'per_page' => 15, 4 'days' => 7, 5 'order' => 'DESC', 6 'orderby' => 'meta_value_num' 7 ); 8 $args = shortcode_atts( $default, $atts ); 9 $post_type = bbp_get_topic_post_type(); 10 $meta_key = '_bbp_reply_count'; 11 $start_date = strtotime( '-' . $args['days'] . ' days' ); 12 $query_args = array( 13 'post_type' => $post_type, 14 'posts_per_page' => $args['per_page'], 15 'meta_key' => $meta_key, 16 'orderby' => $args['orderby'], 17 'order' => $args['order'], 18 'date_query' => array( 19 'after' => date( 'Y-m-d', $start_date ), 20 ), 21 'meta_query' => array( 22 array( 23 'key' => $meta_key, 24 'compare' => '>', 25 'value' => '0', 26 'type' => 'NUMERIC' 27 ), 28 ), 29 ); 30 $query = new WP_Query( $query_args ); 31 $output = '<ul class="bbp-topic-ranking">'; 32 while ( $query->have_posts() ) { 33 $query->the_post(); 34 $output .= '<li><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a> (' . get_post_meta( get_the_ID(), $meta_key, true ) . ')</li>'; 35 } 36 $output .= '</ul>'; 37 wp_reset_postdata(); 38 return $output; 39} 40add_shortcode( 'bbp-topic-ranking', 'bbp_topic_ranking_shortcode' ); 41
試したこと
上記のコードを記載すれば一応、返信数の多いトピック順になるのですが、[bbp-topic-index]で表示されるような、トピックタイトルや返信数、投稿された時間などが表示される形式にしたいです。
補足情報(FW/ツールのバージョンなど)
bbpress最新
0 コメント