Для плагина редиректов понадобилось вытянуть из базы все ссылки на кастомные посты + у меня в этих постах была сохранена старая ссылка от старого сайта. В итоге получился такой мини-плагин 🙂
п.с. Обратите внимание на эту строку $old_url = gallery_get_meta( 'gallery_old_pic_url' ); - тут я вытягиваю старую ссылку из кастомного поля поста
/** * * @wordpress-plugin * Plugin Name: Get all URL from Custom Post Type * Plugin URI: http://coding.dp.ua * Description: Get all URL from Custom Post Type. * Version: 0.1.0 * Author: Roman NMSK * Author URI: http://coding.dp.ua * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */ function get_all_url(){ global $post; $cat_term = 'gal_category'; $custom_post_type = 'gallery'; // Get all the categories $categories = get_terms( $cat_term ); $url = ''; // Loop through all the returned terms foreach ( $categories as $category ): // set up a new query for each category, pulling in related posts. $services = new WP_Query( array( 'post_type' => $custom_post_type, 'showposts' => -1, 'tax_query' => array( array( 'taxonomy' => $cat_term, 'terms' => array( $category->slug ), 'field' => 'slug' ) ) ) ); while ($services->have_posts()) : $services->the_post(); $old_url = gallery_get_meta( 'gallery_old_pic_url' ); $new_url = get_permalink($post->ID); $string = '"'.$old_url.'","'.$new_url.'","0","url","301","url","0",""'."\n"; $url .= $string; endwhile; $services = null; wp_reset_postdata(); // end the loop endforeach; file_put_contents(plugin_dir_path(__FILE__).'urls.csv', $url); } add_action('init', 'get_all_url');
фыв