farahani 0 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 سلام به دوستان عزیز من نیاز به افزونه های زیر دارم میتونید کمکم کنید ممنونم 1_ نمایش 10نویسنده برترین در مجموع سایت ها 2_ نمایش 10 سایتی که بیشترین بازدید را داشته اند 3_ نمایش 10 مقاله اخر در مجموع سایت ها 4_ امکان امتیازدهی به مطالب و نمایش 10 مطلبی که بیشترین امتیاز را گرفته اند من میخوام تمام حالت های نمایش بالا در صفحه اصلی سایتم درج بشه همچین افزونه هایی وجود دارد؟ نکته مهم اینجاست که میخوام همگان سازی بشن و هر بار که سایت جدید ساخته می شود نیازی به تنظیم مجدد نباشد نقل قول لینک به ارسال
nikanwp 629 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 شما میتونی بازدن کوئری این کار رو انجام بدی . به فرض مثال برای آخرین پست ها : <?php // Get all blog ids in network except main site (id 1) $blogs = $wpdb->get_results(" SELECT blog_id FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' AND spam = '0' AND deleted = '0' AND archived = '0' AND blog_id != 1 "); // New empty arrays $blog_ids; $blogusers; $blogusers_ids; // Only save blog id numbers into the new array, also save all blogusers in network foreach ( $blogs as $bloggers ) { $blog_ids[] = $bloggers->blog_id; $blogusers[] = get_users( 'blog_id='.$bloggers->blog_id.''); } // Save blog user ids in network foreach ( $blogusers as $user ) { $blogusers_ids[] = $user->user_id; } // Save latest post from every blog, ordered by date. Add to a array. $posts = array(); foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); $query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 1, 'orderby' => 'date', 'order' => 'DESC' ) ); while ( $query->have_posts() ) { $query->next_post(); $posts[] = $query->post; } restore_current_blog(); } // Compare dates ASC function sort_objects_by_date($a, $b) { if($a->post_date == $b->post_date){ return 0 ; } return ($a->post_date > $b->post_date) ? -1 : 1; } // Sort array of posts by date usort($posts, 'sort_objects_by_date'); // Remove duplicate authors, only display 1 posts from 1 author $got = array(); $i = 0; foreach($posts as $i => $d): if(!in_array($d->post_author, $got)): $got[] = $d->post_author; $out[] = $d; else: unset($posts[$i]); endif; $i++; endforeach; # Our main loop now sorted and unique authors. global $post; foreach( $posts as $post ) : $post_title = get_the_title(); $post_date = get_the_date(); $author_meta = get_the_author_meta('color'); // Just an example of a custom field added to the users profile page # Get meta data depending on context i.e use switch_to_blog() foreach( $blog_ids as $blog ) : switch_to_blog($blog); setup_postdata($post); if(get_post_thumbnail_id($id)): $attachment_image = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'featured_post_image' ); $attachment_image_url = $attachment_image[0]; $postlink = get_permalink(); $bloglink = get_bloginfo('url'); $avatar = get_wp_user_avatar(get_the_author_meta('ID'), 42); $author_id = get_the_author_meta( 'ID' ); $author_show = get_the_author_meta( 'use' ); $author_guest = get_the_author_meta( 'guest' ); $author_color = get_the_author_meta('color'); // Just an example of a custom field added to a users profilepage endif; endforeach; # Do something wihth the data now here! ... endforeach; wp_reset_postdata(); 3 نقل قول لینک به ارسال
farahani 0 ارسال شده در دی 96 مالک گزارش بازنشر ارسال شده در دی 96 ممنونم برای مابقی هم میشه همین کار رو میتونم بکنم؟ نقل قول لینک به ارسال
Morteza 34190 ارسال شده در دی 96 گزارش بازنشر ارسال شده در دی 96 سلام بله برای باقی هم میشه همین حالت کوئری زد البته برای بازدید و امتیازهابستگی داره شما از چی استفاده می کنید. کد یا افزونه. نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .