Created
September 13, 2013 23:26
-
-
Save jb510/6557319 to your computer and use it in GitHub Desktop.
Three functions for manipulating existing WordPress data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* echo_r function. | |
* | |
* Jon's favorite little debug function | |
* | |
* @access public | |
* @param mixed $array | |
* @return void | |
*/ | |
if (!function_exists('echo_r')) { | |
function echo_r($array) { | |
echo '<pre>' , print_r($array) , '</pre>'; | |
} | |
} | |
//add_action('genesis_meta','zdhix_move_faqs_to_parents'); | |
/** | |
* zdhix_move_faqs_to_parents function. | |
* | |
* Ths function moves FAQ pages imported via WP All Import under thier state named Parent | |
* | |
* @access public | |
* @return void | |
*/ | |
function zdhix_move_faqs_to_parents() { | |
if (!is_admin()) { | |
$args = array( | |
'numberposts' => -1, // Adjust quantity | |
'post_type' => 'page', // Setup post type | |
'meta_key' => '_wp_page_template', | |
'meta_value' => 'faq-template.php', | |
); | |
$mvposts = get_pages( $args ); | |
//echo_r($mvposts); | |
if (is_array($mvposts)) { | |
foreach ($mvposts as $mvpost) { | |
$state = (get_post_meta($mvpost->ID , 'faq_state', true)); | |
echo '$state ' . $state . '<br/>'; | |
$statepost = get_page_by_title($state); | |
echo '$statepost->ID' , $statepost->ID , '<br/>'; | |
$mvpost->post_parent = $statepost->ID; // Set new parent | |
echo '$mvpost->post_parent' . $mvpost->post_parent . '<br/>';; | |
wp_update_post( $mvpost ); // Update posts | |
echo "Moved Post: " . $mvpost->post_title . "\r\n<br/>"; | |
} | |
wp_die(); | |
} | |
} | |
} | |
//add_action('genesis_meta','zdhix_move_faq_meta_to_taxonomy'); | |
/** | |
* zdhix_move_faqs_to_parents function. | |
* | |
* Ths function moves updates FAQ taxonomies based on meta data | |
* | |
* @access public | |
* @return void | |
*/ | |
function zdhix_move_faq_meta_to_taxonomy() { | |
if (!is_admin()) { | |
$args = array( | |
'numberposts' => -1, // Adjust quantity | |
'post_type' => 'page', // Setup post type | |
'hierarchical' => 0, | |
// 'include' => array('3093'), // Single post for debug/testing, "First FAQ in ALL" #TODO verify has parent post meta | |
'meta_key' => '_wp_page_template', | |
'meta_value' => 'faq-template.php', | |
); | |
$myposts = get_pages( $args ); | |
//echo_r($myposts); | |
if (is_array($myposts)) { | |
foreach ($myposts as $mypost) { | |
$cat = get_post_meta($mypost->ID , 'faq_category_meta', true); | |
$cat_term = get_term_by('name', $cat, 'faq-category' ); | |
$cat_id = $cat_term->term_id; | |
// echo '$cat ' . $cat . ' ' . $cat_id . '<br/>'; | |
wp_set_post_terms( $mypost->ID, array(71), 'page-category'); // Update page cat to is_faq (71) | |
echo "Updated page-category to 71 for " . $mypost->post_title . "<br/>"; | |
$top = get_post_meta($mypost->ID , 'faq_top_meta', true); | |
if ('Yes' == $top ) { | |
$top_term = get_term_by('name', 'is_tops', 'faq-category'); | |
$top_id = $top_term->term_id; | |
echo '<br/>$top ' . $top . ' ' . $top_id . '<br/>'; | |
wp_set_post_terms( $mypost->ID, array($cat_id, $top_id ), 'faq-category'); // Update faq cat | |
echo "Updated faq-category to is_top" . $mypost->post_title . "<br/>"; | |
} | |
} | |
wp_die(); | |
} | |
} | |
} | |
//add_action('genesis_meta','zdhix_fix_state_tax'); | |
/** | |
* zdhix_move_faqs_to_parents function. | |
* | |
* Ths function moves updates FAQ taxonomies based on meta data | |
* | |
* @access public | |
* @return void | |
*/ | |
function zdhix_fix_state_tax() { | |
if (!is_admin()) { | |
$args = array( | |
'numberposts' => 0, // Adjust quantity | |
'post_type' => 'page', // Setup post type | |
'hierarchical' => 0, | |
// 'include' => array('4243'), // Single post for debug/testing, "All" | |
'meta_key' => '_wp_page_template', | |
'meta_value' => 'state-template.php', | |
); | |
$myposts = get_pages( $args ); | |
//echo_r($myposts); | |
if (is_array($myposts)) { | |
foreach ($myposts as $mypost) { | |
wp_set_post_terms( $mypost->ID, '70', 'page-category'); // Update page cat to is_state (70) | |
echo "Updated tax for " . $mypost->post_title . "\r\n<br/>"; | |
} | |
wp_die(); | |
} | |
} | |
} | |
//add_action('genesis_meta','zdhix_delete_faqs'); | |
/** | |
* zdhix_move_faqs_to_parents function. | |
* | |
* Ths function moves FAQ pages imported via WP All Import under thier state named Parent | |
* | |
* @access public | |
* @return void | |
*/ | |
function zdhix_delete_faqs() { | |
echo 'starting delete posts<br/>'; | |
if (!is_admin()) { | |
$args = array( | |
'posts_per_page' => -1, // Adjust quantity | |
'post_type' => 'page', // Setup post type | |
'meta_key' => '_wp_page_template', | |
'meta_value' => 'faq-template.php', | |
); | |
$delposts = new WP_Query( $args ); | |
if($delposts->have_posts()) : while($delposts->have_posts()) : $delposts->the_post(); | |
// echo_r($delposts); | |
echo 'Deleting Post: '.$delposts->post->post_title.'<br/>'; | |
wp_delete_post( $delposts->post->ID, true); // Delete posts | |
endwhile; | |
endif; | |
wp_die(); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment