Example #1
0
/**
 * Execute changes made in HiveQueen 0.0.1
 *
 * @since 0.0.1
 *
 * @global int   $hq_current_db_version
 * @global hqdb  $hqdb
 */
function upgrade_350()
{
    global $hq_current_db_version, $hqdb;
    if ($hq_current_db_version < 22006 && $hqdb->get_var("SELECT link_id FROM {$hqdb->links} LIMIT 1")) {
        update_option('link_manager_enabled', 1);
    }
    // Previously set to 0 by populate_options()
    if ($hq_current_db_version < 21811 && hq_should_upgrade_global_tables()) {
        $meta_keys = array();
        foreach (array_merge(get_post_types(), get_taxonomies()) as $name) {
            if (false !== strpos($name, '-')) {
                $meta_keys[] = 'edit_' . str_replace('-', '_', $name) . '_per_page';
            }
        }
        if ($meta_keys) {
            $meta_keys = implode("', '", $meta_keys);
            $hqdb->query("DELETE FROM {$hqdb->usermeta} WHERE meta_key IN ('{$meta_keys}')");
        }
    }
    if ($hq_current_db_version < 22422 && ($term = get_term_by('slug', 'post-format-standard', 'post_format'))) {
        hq_delete_term($term->term_id, 'post_format');
    }
}
Example #2
0
/**
 * Delete a Navigation Menu.
 *
 * @since 0.0.1
 *
 * @param string $menu Menu ID, slug, or name.
 * @return bool|WP_Error True on success, false or WP_Error object on failure.
 */
function hq_delete_nav_menu($menu)
{
    $menu = hq_get_nav_menu_object($menu);
    if (!$menu) {
        return false;
    }
    $menu_objects = get_objects_in_term($menu->term_id, 'nav_menu');
    if (!empty($menu_objects)) {
        foreach ($menu_objects as $item) {
            hq_delete_post($item);
        }
    }
    $result = hq_delete_term($menu->term_id, 'nav_menu');
    // Remove this menu from any locations.
    $locations = get_nav_menu_locations();
    foreach ($locations as $location => $menu_id) {
        if ($menu_id == $menu->term_id) {
            $locations[$location] = 0;
        }
    }
    set_theme_mod('nav_menu_locations', $locations);
    if ($result && !is_hq_error($result)) {
        /**
         * Fires after a navigation menu has been successfully deleted.
         *
         * @since 0.0.1
         *
         * @param int $term_id ID of the deleted menu.
         */
        do_action('hq_delete_nav_menu', $menu->term_id);
    }
    return $result;
}