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(); } } Here’s how one group is helping speed up rebuilding in Nepal – Social Care Team

Here’s how one group is helping speed up rebuilding in Nepal

One year ago today, an earthquake ripped through Nepal, taking more than 8,000 lives and robbing more than 500,000 people of their homes. Many of the survivors are still waiting to rebuild.

After the initial earthquake, Nepal was struck by a series of aftershocks, some nearly as brutal as the first. Monsoon season, coupled with an untimely blockade along Nepal’s border with India, further stalled the rebuilding process.

In addition, Nepal’s government set up a construction approval process to make new buildings more structurally sound. Residents must follow a step-by-step process, including on-site inspections, in order to get government subsidies.

The goal is to prevent the destruction and loss of life that the 2015 earthquake unleashed.

That earthquake wasn’t Nepal’s first, nor will it be its last. Nepal straddles two shifting geologic plates, making it earthquake-prone.

“Many of us spent a lot of time in Nepal, and the reality wasn’t if there was going to be an earthquake, but when,” said Jim Nowak, president and co-founder of the dZi Foundation, which helps communities in Nepal with construction projects.

Nowak and Kim Reynolds, avid mountaineers, founded the Ridgway, Colorado-based nonprofit in 1998 after hiking in Nepal and encountering a run-down safe house for girls. That became their first fundraising project.

The dZi Foundation — named after the Himalayan stone beads that are said to protect the wearer — went on to help build schools, toilets, drinking water systems and bridges through private donations and grants.

The group, which has an in-country staff of 24 Nepalese and one American, focuses on helping rural communities in the eastern part of the country. After the 2015 earthquake struck, they added to their roster of projects the rebuilding of 31 schools over the next three years.

Previously, schools were built eight classrooms in a row. But the new design, which Nepal’s Department of Education has approved, puts only two classrooms side-by-side. The smaller, more solidly built structures, can withstand more shaking.

Because the group was already working in the country and operating with private funds, it could embark on its earthquake recovery projects without many of the bureaucratic delays that other organizations are experiencing.

Jeffrey Shannon, Mercy Corps’ director of programs in Nepal, has seen firsthand the toll such delays are taking on the population. “When I go out, we get this sense of fear and frustration, anger and confusion. In the absence of solid information, rumors take hold.”

Shannon and his team — Mercy Corps has 133 staff across Nepal — are connecting residents with local government officials to get answers and are helping people stockpile building materials for when construction can begin.

Meanwhile, people are living outside their cracked or crumbled homes — sometimes in corrugated metal structures if they are lucky — while they await repairs.

Other programs are underway, such as shoring up hillsides that are susceptible to avalanches. Shannon said NASA and the International Center for Integrated Mountain Development are helping provide and interpret satellite data to detect landslide-prone areas.

Mercy Corps has a cash-for-work program to pay villagers to strengthen the steep hills by planting fruit trees and erecting retaining walls. Over time, the retaining walls wear out, but by then the fruit trees have become more deeply rooted.

Shannon said he is impressed by the resolve of the people of Nepal. “The series of disasters over the past year would have broken other places.”

Nowak agrees. “I am so inspired by their tenacity,” he said. “It makes what I do, and what our staff does, pale in comparison.”

Capture55