WordPress Mu Recent posts
ຂຽນເມື່ອ June 23, 2008, ໃນຫມວດ ເທັກໂນໂລຢີ.
ຈົດໄວ້ກັນລືມ
ວິທີສະແດງ recent posts ໃນຫນ້າທຳອິດ ໃຊ້ code ນີ້
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <?php /* Plugin Name: WordPress MU Recent Posts Plugin URI: http://atypicalhomeschool.net/wordpress-plugins/ Description: Retrieves a list of the most recent posts in a WordPress MU installation. Based on (Andrea - fill this in) Author: Ron Rennick Author URI: http://atypicalhomeschool.net/ */ /* Version: 0.31 Update Author: Sven Laqua Update Author URI: http://www.sl-works.de/ */ /* Parameter explanations $how_many: how many recent posts are being displayed $how_long: time frame to choose recent posts from (in days) $titleOnly: true (only title of post is displayed) OR false (title of post and name of blog are displayed) $begin_wrap: customise the start html code to adapt to different themes $end_wrap: customise the end html code to adapt to different themes Sample call: ah_recent_posts_mu(5,30,true, '<li>', '</li>'); >> 5 most recent entries over the past 30 days, displaying titles only */ function ah_recent_posts_mu($how_many, $how_long, $titleOnly, $begin_wrap, $end_wrap) { global $wpdb; $counter = 0; // get a list of blogs in order of most recent update $blogs = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs WHERE public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' AND blog_id != '10' AND blog_id != '115' AND last_updated >= DATE_SUB(CURRENT_DATE(), INTERVAL $how_long DAY) ORDER BY last_updated DESC"); if ($blogs) { foreach ($blogs as $blog) { // we need _posts and _options tables for this to work $blogOptionsTable = "wp_".$blog."_options"; $blogPostsTable = "wp_".$blog."_posts"; $options = $wpdb->get_results("SELECT option_value FROM $blogOptionsTable WHERE option_name IN ('siteurl','blogname') ORDER BY option_name DESC"); // we fetch the title and link for the latest post $thispost = $wpdb->get_results("SELECT post_title, guid FROM $blogPostsTable WHERE post_status = 'publish' AND post_type = 'post' AND post_date >= DATE_SUB(CURRENT_DATE(), INTERVAL $how_long DAY) ORDER BY id DESC LIMIT 0,1"); // if it is found put it to the output if($thispost) { if ($titleOnly == false) { echo $begin_wrap.'<a href="'.$thispost[0]->guid .'">'.$thispost[0]->post_title.'</a> <br/> by <a href="' .$options[0]->option_value.'">' .$options[1]->option_value.'</a>'.$end_wrap; $counter++; } else { echo $begin_wrap.'<a href="'.$thispost[0]->guid .'">'.$thispost[0]->post_title.'</a>'.$end_wrap; $counter++; } } // don't go over the limit if($counter >= $how_many) { break; } } } } ?> |
ເບິ່ງແຖວທີ່ ໓໒ ບ່ອນນີ້ກຳຫນົດວ່າໃຫ້ສະແດງສະເພາະບລັອກທີ່ເປັນ public ສ່ວນ mature, spam, deleted ແມ່ນບໍ່ສະແດງ ແລະຍັງສາມາດສັ່ງ exclude ບລັອກທີ່ຕ້ອງການໄດ້ໂດຍໃຊ້ AND blog_id != ‘ໄອດີຂອງບລັອກ’
ປັບແລ້ວລະເອົາໄປໃສ່ໃນ mu-plugins ແລ້ວດຶງມາສະແດງໃນຫນ້າເວັບໂດຍໃຊ້
1 | <?php ah_recent_posts_mu(10,30,true, '<li>', '</li>'); ?> |
ກຳຫນົດປະລິມານຕາມນັ້ນໄດ້ເລີຍ


