earliest_day = 5; $this->latest_day = 20; } protected function get_all_posts() { // very quickly work out if we are sorting by cat or tag $cat = ''; if ($_POST['incategory'] != '') { $cat = '&cat=' . (int)$_POST['incategory']; } $tag = ''; if ($_POST['tagid'] != '') { $tag = "&tag_id=" . (int) $_POST['tagid']; } $all_posts = array(); $all_query = new WP_Query('showposts=' . $this->abs_max_posts . $cat . $tag); while($all_query->have_posts()) { $all_query->the_post(); $orig_date = get_the_date("Y-m-d H:i:s"); $i++; $all_posts[get_the_ID()] = array ( "link" => get_permalink(), "title" => the_title('','',false), "orig_date" => $orig_date, ); } return $all_posts; } public function redate_posts() { if (isset($_POST['latest_day']) && is_numeric($_POST['latest_day'])) { $this->latest_day = (int) $_POST['latest_day']; } if (isset($_POST['earliest_day']) && is_numeric($_POST['earliest_day'])) { $this->earliest_day = (int) $_POST['earliest_day']; } if ($this->earliest_day == 0 && $this->latest_day == 0) { echo "

Please go back - you cannot set latest and earliest at 0

"; return; } if ($this->earliest_day < 0 || $this->latest_day < 0 ) { echo "

Please go back - you cannot either value as lower than 0

"; return; } if ($_POST['tagid'] !='' && $_POST['incategory'] != '') { echo "

Please go back - you cannot set both slug and category!

"; return; } $total_diff_in_days = $this->latest_day + $this->earliest_day; echo "

Reordering

"; echo "

The earliest day is {$this->earliest_day} days ago. The latest day is {$this->latest_day} days in the future

"; $allposts = $this->get_all_posts(); if (count($allposts) > 0) { $doneDays = array(); echo ""; foreach($allposts as $id => $postData) { $link = $postData['link']; $title = $postData['title']; $random_days_behind = rand(0,$total_diff_in_days); $random_days_behind = (int) $random_days_behind; $day_diff = $random_days_behind - ($this->earliest_day ); if ($day_diff > 0) { $plus_minus = '+'; } else { $day_diff = abs($day_diff); // get positive $plus_minus = '-'; } $doneDays[str_replace("+","",$plus_minus) . $day_diff]++; $strtotimestring = $plus_minus . $day_diff . ' days'; $date_time = (strtotime($strtotimestring)); // H:i:s // get the year/mo/day from strtotime(- xx days) $newDate = date('Y-m-d', $date_time); // randomly select a hh:mm:ss to post $newDate.= " " . str_pad( rand(0,23) , 2, '0', STR_PAD_LEFT) . ":" . str_pad( rand(0,59) , 2, '0', STR_PAD_LEFT) . ":". str_pad( rand(0,59) , 2, '0', STR_PAD_LEFT) ; $updateArray = array( 'ID' => $id, 'post_date' => $newDate, 'post_date_gmt' => $newDate, 'edit_date' => true, ); $result = wp_update_post($updateArray); echo ""; } echo "
$id $link $title Original date: {$postData['orig_date']} Changed date to : $newDate
"; echo "

Counter:

"; ksort($doneDays); echo "

This shows the frequency of each post being posted x days ago/in future. It doesn't show every single day - only the ones with at least one post

"; //change for for() to show all days? might be handy echo ""; foreach($doneDays as $id => $val) { if ($id > 0) { $id = "+" . $id; } echo ""; } echo "
+/- daysNumber of posts
$id days$val posts
"; } else { echo "

Error - Could not find any posts to reorder!

"; } } protected function get_all_cats_options() { $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => true ); $categories = get_categories( $args ); $returnhtml = ''; foreach($categories as $cat) { $id = $cat->cat_ID; $name = $cat->name; $c = $cat->category_count; $returnhtml .= ""; } return $returnhtml; } protected function get_all_tags_options() { $tags = get_tags(); $returnhtml = ''; if ($tags) { foreach ($tags as $tag) { $id = $tag->term_id; $name = $tag->name; $c = $tag->count; $returnhtml .= ""; } } else { $returnhtml = ""; } return $returnhtml; } public function show_options() { ?>

Ash's Random Post Dater

Use this form to set ALL posts in the selected category to a random date between these two values.

This will update the post dates on ALL posts within the selected category/tag (or ALL posts in your wordpress blog if both are set to default). Please do not use if you do not want to reset ALL post dates. I do not recommend using this on a site with lots of live posts - especially if you use a permalink structure that includes the date in the url. I use it on new sites (add all content, then set all posts to random date in the past). Use at your own risk! You will lose the current post date time (it only changes the date posted - nothing else)

Only use one of the following two. Leave both at their defaults ("ALL CATEGORIES"/"ALL TAGS") to reorder ALL posts

Reorder post dates in this category:


(leave on "ALL CATEGORIES" if you don't want to reorder all within a certain category)
OR

Reorder post dates with this tag slug (use the tag slug, not the tag):


(leave on "ALL TAGS" if you don't want to reorder all within a certain category)

Earliest Day - how many days back do you want the maximum one?

(put at 0 to put all posts in future)

Latest Day - Leave at 0 to make sure all posts are BACK dated.

(leave 0 to put all posts in past)

For example if you wanted your posts randomly set to a date in the next 30 days set the latest day as 30, the earliest day at 0

If you wanted your posts randomly set to a day in the previous 180 days then set the latest day as 0 and the earliest day as 180.

It randomly sets each post - the posts are not spaced out at exact intervals. It will readjust ALL your posts. Please make sure that you want ALL your posts to be randomised.

(Clicking this will randomly reorder all posts)
redate_posts(); } else { $random_post_dater->show_options(); } } How to give children free books and help the environment – Social Care Team

How to give children free books and help the environment

Re-Read, a Doncaster social enterprise, is rescuing books destined for landfill and distributing them to young readers. Its founder talks to Alison Flood

Jim McLaughlin measures books in tons, not pages. It was the sight of a skip filled with 10 tons of books which set the self-described environmental bibliophile on a path which has now seen his social enterprise Re-Read process more than 1,000 tons of books – and give tens of thousands away to children.

“I couldn’t sleep after I saw it, really,” he says today of the book dealer he saw filling a huge skip with books destined for incineration, back in 2012. McLaughlin was working for the South Yorkshire Funding Advice Bureau, with a background in developing community recycling projects. He took redundancy, and set up what he believes is the first “book bank”, the Doncaster-based Re-Read, which has given away 54,000 books to children since it was established in September 2012.

With actor Brian Blessed and bestselling author Joanne Harris as patrons, Re-Read works with books that would otherwise have been burned or gone to landfill. It buys titles by the ton from charity-shop chains, as well as taking donations from locals. Its team of seven staff and 30 volunteers then sorts through the titles, keeping the children’s books to give away, and selling the remaining titles on online retail sites, with the profits ploughed back into keeping the social enterprise going. Books which are too worn out to be re-used are recycled, rather than being put into landfill.

McLaughlin says that when he started researching his idea, it was “clear low-income households weren’t buying books and children in low-income families have low literacy rates”.

“The cost of a basket of food essentials has gone up by 28% since 2008 but the average wage has only gone up by 9%. In addition, benefits for low-earning and workless households have been cut,” he says. “We have all witnessed the rise of food banks in our communities. Now, there is a crisis of poor literacy rates for our children. When food takes precedence, often books and learning fall off the priority list.”

According to the National Literacy Trust, 3.8 million children in the UK do not own a book – one in three. The Reading Agency says that 14% of children in lower-income homes rarely or never read books for pleasure, while only one in five parents easily find the opportunity to read to their children.

Advertisement

“We get about three tons of books a week,” says McLaughlin. “We have listed about 60-70,000 online now. The essence of Re-Read is this. We take books so we can give kids books for free. So the more books we can get in and get online, the more we can get to kids – it’s the old philanthropic model.”

Re-Read, which says that 22% of Doncaster children currently live below the breadline, has given books away at children’s centres and playgroups, to schools and at local events. Last week, a woman from the Association of Foster Parents took away over 700. One grandparent, who found a free copy of The Hobbit at a Re-Read event, said: “I can’t afford to buy books, even from a charity shop. I remember reading this book to my son. Now, I’m going to read it to my grandson.”

“It’s about getting books into kids’ hands. There are no hurdles to jump over – we just give them out willy nilly,” said McLaughlin. “If you adopt such a broad, scattergun approach, then the kids who really need them will benefit. And reading, and having a book in your bedroom, has a demonstrated link to the development of confidence and self-worth.”

Blessed, a patron of the social enterprise, has called its work in getting books into the hands of children in disadvantaged communities “remarkable”. “One of the biggest crimes of deprivation is illiteracy,” said the actor. “It was unheard-of that a coalminer’s son should go to drama school, but I got the scholarship. I am a living example that with the right encouragement and access to inspired minds, children can achieve anything. If Re-Read can reach out to just one child that is something to celebrate; the fact they’ve given tens of thousands of books to children is a joy.”

Capture36

http://www.theguardian.com/books/2015/jan/22/give-children-free-books-environment-re-read