Example #1
0
 public function updateBase($params = array())
 {
     if (isset($params['base']) && !empty($params['base']) && isset($params['daogou']) && !empty($params['daogou']) && isset($params['help']) && !empty($params['help'])) {
         $global = get_option(XT_OPTION_GLOBAL);
         $oldBase = isset($global['base']) && !empty($global['base']) ? $global['base'] : 'share';
         $oldDaogou = isset($global['daogou']) && !empty($global['daogou']) ? $global['daogou'] : 'daogou';
         $oldHelp = isset($global['help']) && !empty($global['help']) ? $global['help'] : 'help';
         $newBase = trim($params['base']);
         $newDaogou = trim($params['daogou']);
         $newHelp = trim($params['help']);
         //replace option_value(widgets and html)
         xt_replace_base($global, $newBase, $newDaogou, $newHelp);
         $global['daogou'] = $newDaogou;
         $global['help'] = $newHelp;
         if (!isset($global['base']) || empty($global['base'])) {
             $global['base'] = $newBase;
         } elseif ($global['base'] != $newBase) {
             global $wpdb;
             $home_id = $wpdb->get_var("SELECT id FROM `" . $wpdb->posts . "` WHERE `post_name` = '" . $wpdb->escape($global['base']) . "'\tAND `post_type` != 'revision'");
             if (!empty($home_id)) {
                 $newpost = array();
                 $newpost['ID'] = $home_id;
                 $newpost['post_name'] = $newBase;
                 wp_update_post($newpost);
             }
             $global['base'] = $newBase;
         }
         global $wpdb, $wp_rewrite;
         $index = '';
         if ($wp_rewrite->using_index_permalinks()) {
             $global['index'] = '/' . $wp_rewrite->index;
             $index = $wp_rewrite->index . '/';
         } else {
             $global['index'] = '';
         }
         update_option(XT_OPTION_GLOBAL, $global);
         xt_register_post_type();
         xt_register_taxonomy_for_object_types();
         $wp_rewrite->flush_rules();
         //flush
         //update menus
         $menus = get_terms('nav_menu', array('hide_empty' => true));
         if (!empty($menus)) {
             foreach ($menus as $menu) {
                 $menu_id = $menu->term_id;
                 $posts = wp_get_nav_menu_items($menu_id);
                 if (!empty($posts)) {
                     foreach ($posts as $post) {
                         if ($post->type == 'custom') {
                             $url = $post->url;
                             $newUrl = str_replace(array(home_url($index . $oldDaogou), home_url($index . $oldBase), home_url($index . $oldHelp)), array(home_url($index . $newDaogou), home_url($index . $newBase), home_url($index . $newHelp)), $url);
                             update_post_meta($post->ID, '_menu_item_url', $newUrl);
                         }
                     }
                 }
             }
         }
         return true;
     }
     return false;
 }
Example #2
0
function xt_default_custom()
{
    xt_register_post_type();
    add_action('add_meta_boxes', 'xt_meta_box');
    add_action('save_post', 'xt_meta_box_save');
    add_image_size('xt-daogou-post-thumbnail', 180, 180, false);
}