Rumah > Soal Jawab > teks badan
Saya sedang mencipta gelung yang memaparkan taksonomi yang paling kerap dilawati di tapak web. Saya tahu WordPress tidak menjejaki taksonomi dan paparan kategori. Jadi saya memasukkan penjejak ke dalam siaran untuk membuat gelung dengan siaran yang paling banyak dilihat dan kemudian memaparkan taksonomi siaran itu pada halaman utama.
Kredit kod kepada isitwp
function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } // Remove issues with prefetching adding extra views remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Selepas memasukkan penjejak, buat gelung untuk memaparkan siaran yang paling banyak dilihat
Kod adalah seperti berikut:
<?php $popular = array( 'post_type' => 'videos', 'posts_per_page' => 8, 'meta_key' => 'post_views_count', // setPostViews($postID) function; 'orderby' => 'meta_value_num', 'order' => 'ASC', 'offset' => 1, ); $popular_loop = new WP_Query( $popular ); if( $popular_loop->have_posts() ){ while( $popular_loop->have_posts() ) : $popular_loop->the_post(); $terms = get_the_terms( $post->ID, 'seasons' ); foreach($terms as $term) { $ids = $term->term_id; $arr = explode( ',', $ids ); $arr_unique = array_unique( $arr ); $str = implode( $arr_unique ); if($term->parent != 0){ /** * Taxonomie has children get the parent ID */ echo '<p>Return parent unique:' . $str . '</p>'; } else { /** * Taxonomie has NO children get the current taxonomy ID */ echo '<p>Return unique:' . $str . '</p>'; } } endwhile; } else { return false; } wp_reset_postdata();
Masalahnya ialah kerana saya mahu ia dipaparkan name、id、链接、图像等
。浏览次数最多的帖子的父分类法中,它们开始重复自己,我想排除重复项,这样每次有人访问与同一分类法不同的帖子时就不会重复我尝试了 array_unique()
tetapi ia terus mengembalikan nilai pendua kepada saya.
Adakah terdapat cara untuk mengalih keluar nilai pendua dalam satu gelung?
P粉5459106872024-02-27 12:17:30
Saya berjaya menyelesaikan masalah saya, saya memohon maaf jika soalan saya mengelirukan atau tidak memuaskan hati sesetengah pengguna
Kod adalah seperti berikut:
'videos', 'posts_per_page' => 8, 'order' => 'ASC', ); $popular_loop = new WP_Query( $popular ); if( $popular_loop->have_posts() ){ // Get the terms array $unique = []; while( $popular_loop->have_posts() ) : $popular_loop->the_post(); // Taxonomy loop post $terms = get_the_terms( $post->ID, 'seasons' ); foreach($terms as $term) { // Get the unique array from loop if( !in_array( $term->term_id, $unique ) ){ $unique[] = $term->term_id; // Get unique ID from Taxonomy echo $term->term_id; // Get Unique name fromt Taxonomy echo $term->name; } } endwhile; } else { echo 'Nothing'; } wp_reset_postdata();