function arras_flush_options() { global $arras_options; $arras_options = new Options(); $arras_options->get_options(); if (!get_option('arras_options')) { $arras_options->default_options(); } }
function thesis_get_option($option_name) { $thesis_options = new Options(); $thesis_options->get_options(); return $thesis_options->{$option_name}; }
public function get_tiles($posts = array(), $opts = array()) { // // SETUP // // This is a double-up when called from the shortcode, but makes the // method more reliable. $opts = shortcode_atts($this->options->get_options(), $opts); /** * Set the variables in the instance */ $wp_tiles_id = "wp_tiles_" . $this->tiles_id; $this->tiles_id++; /** * Cleanup grids and set names */ $opts['grids'] = $this->get_grids($opts['grids']); $grid_pretty_names = array_keys($opts['grids']); $opts['grids'] = $this->sanitize_grid_keys($opts['grids']); $grid_names = array_combine(array_keys($opts['grids']), $grid_pretty_names); $small_screen_grids = $this->get_grids($opts['small_screen_grid']); $opts['small_screen_grid'] = end($small_screen_grids); // // GET POSTS // if (!$posts) { $posts = array(); } // Is $posts a query? if (is_array($posts) && (empty($posts) || count(array_filter(array_keys($posts), 'is_string')))) { if (isset($posts['posts_per_page']) && 'auto' === $posts['posts_per_page']) { $posts_in_grid = $this->get_posts_in_grid(reset($opts['grids'])); $posts['posts_per_page'] = $posts_in_grid ? $posts_in_grid : 10; } // Automatically set paged var if tile pagination is on if ($opts['pagination']) { $paged_query_var = is_front_page() ? get_query_var('page') : get_query_var('paged'); $posts['paged'] = $paged_query_var ? $paged_query_var : 1; } $posts = new \WP_Query(apply_filters('wp_tiles_get_posts_query', $posts)); } // Is posts a WP_Query or Network_Query or similar? (enables pagination) $wp_query = false; if (is_object($posts) && isset($posts->posts) && isset($posts->max_num_pages)) { $wp_query = $posts; $posts = $wp_query->posts; } if (empty($posts)) { return false; } // // OPTIONS // $opts['byline_color'] = $this->options->get_byline_color($opts); $opts['colors'] = $this->options->get_colors($opts); /** * Make sure carousel module isn't loaded in vain */ if ('carousel' == $opts['link'] && (!class_exists('No_Jetpack_Carousel') && !class_exists('Jetpack_Carousel'))) { $opts['link'] = 'thickbox'; } /** * Pagination */ // Only allow pagination when we have a WP Query $opts['next_query'] = false; $next_page = false; if ($wp_query) { $max_page = $wp_query->max_num_pages; $current_page = intval($wp_query->get('paged', 1)); if ($current_page < 1) { $current_page = 1; } $next_page = $current_page + 1; if ($next_page > $max_page) { $next_page = false; } // If AJAX pagination, sign the query and pass it to JS if ($next_page && 'ajax' == $opts['pagination']) { $next_query = $wp_query->query; $max_page = $wp_query->max_num_pages; if ($next_page <= $max_page) { $next_query['paged'] = $next_page; $opts['next_query'] = array('query' => $next_query, 'action' => Ajax::ACTION_GET_POSTS, '_ajax_nonce' => $this->ajax->get_query_nonce($next_query)); $opts['ajaxurl'] = admin_url('admin-ajax.php'); } } } /** * Pass the required info to the JS */ $this->add_data_for_js($wp_tiles_id, $opts); // // RENDER HTML // /** * Get the classes */ $classes = array('top' == $opts['byline_align'] ? 'wp-tiles-byline-align-top' : 'wp-tiles-byline-align-bottom'); if (!empty($opts['byline_effect']) && in_array($opts['byline_effect'], $this->options->get_allowed_byline_effects())) { $classes = array_merge($classes, array('wp-tiles-byline-animated', 'wp-tiles-byline-' . $opts['byline_effect'])); } if (!empty($opts['image_effect']) && in_array($opts['image_effect'], $this->options->get_allowed_image_effects())) { $classes = array_merge($classes, array('wp-tiles-image-animated', 'wp-tiles-image-' . $opts['image_effect'])); } /** * Set extra container classes for major CSS changes */ //$opts['extra_classes'] = $opts['extra_classes_grid_selector'] = array(); //Legacy styles? if (apply_filters('wp_tiles_use_legacy_styles', $this->options->get_option('legacy_styles'))) { $opts['extra_classes'][] = $opts['extra_classes_grid_selector'][] = 'wp-tiles-legacy'; } // Full width experiment if ($opts['full_width']) { $opts['extra_classes'][] = 'wp-tiles-full-width'; } $opts['extra_classes'] = implode(' ', apply_filters('wp_tiles_container_classes', $opts['extra_classes'])); $opts['extra_classes_grid_selector'] = implode(' ', apply_filters('wp_tiles_grid_selector_classes', $opts['extra_classes_grid_selector'])); if (!empty($opts['extra_classes'])) { $opts['extra_classes'] = ' ' . $opts['extra_classes']; } if (!empty($opts['extra_classes_grid_selector'])) { $opts['extra_classes_grid_selector'] = ' ' . $opts['extra_classes_grid_selector']; } /** * Render the template * * POLICY: Though the PHP should remain readable at all times, getting clean * HTML output is nice. To strive to get clean HTML output, WP Tiles starts 8 * spaces (2 tabs) from the wall, and leaves an empty line between each line * of HTML. Remeber that ?> strips a following newline, so always leave an * empty line after ?>. */ ob_start(); if (count($grid_names) > 1) { ?> <div id="<?php echo $wp_tiles_id; ?> -templates" class="wp-tiles-templates<?php echo $opts['extra_classes_grid_selector']; ?> "> <ul class="wp-tiles-template-selector"> <?php foreach ($grid_names as $slug => $name) { ?> <li class="wp-tiles-template" data-grid="<?php echo $slug; ?> "><?php echo $name; ?> </li> <?php } ?> </ul> </div> <?php } ?> <div class="wp-tiles-container<?php echo $opts['extra_classes']; ?> "> <?php if ('carousel' == $opts['link']) { ?> <?php echo apply_filters('gallery_style', '<div id="' . $wp_tiles_id . '" class="wp-tiles-grid gallery ' . implode(' ', $classes) . '">'); ?> <?php } else { ?> <div id="<?php echo $wp_tiles_id; ?> " class="wp-tiles-grid <?php echo implode(' ', $classes); ?> "> <?php } ?> <?php $this->render_tile_html($posts, $opts); ?> </div> </div> <?php /** * Pagination **/ if ($next_page && 'ajax' === $opts['pagination'] && $opts['next_query']) { ?> <nav class="wp-tiles-pagination wp-tiles-pagination-ajax" id="<?php echo $wp_tiles_id; ?> -pagination"> <a href="<?php next_posts($max_page, true); ?> "><?php echo apply_filters('wp_tiles_load_more_text', __('Load More', 'wp-tiles')); ?> </a> </nav> <?php } elseif ('prev_next' === $opts['pagination']) { ?> <?php wp_tiles_prev_next_nav($wp_query, $wp_tiles_id); ?> <?php } elseif ('paging' === $opts['pagination']) { ?> <?php wp_tiles_paging_nav($wp_query, $wp_tiles_id); ?> <?php } $out = ob_get_contents(); ob_end_clean(); return $out; }
function thesis_upgrade_design_options() { // Retrieve Design Options and Design Options defaults $design_options = new Design(); $design_options->get_design_options(); $default_design_options = new Design(); $default_design_options->default_design_options(); // Retrieve Thesis Options and Thesis Options defaults $thesis_options = new Options(); $thesis_options->get_options(); $default_options = new Options(); $default_options->default_options(); if (isset($design_options->teasers) && !is_array($design_options->teasers)) { unset($design_options->teasers); } if (isset($design_options->feature_box_condition)) { $feature_box = $design_options->feature_box; unset($design_options->feature_box); } if (isset($thesis_options->multimedia_box)) { $multimedia_box = $thesis_options->multimedia_box; } // Ubiquitous options upgrade code foreach ($default_design_options as $option_name => $value) { if (!isset($design_options->{$option_name})) { $design_options->{$option_name} = $value; } } // 1.6b niceness if (!isset($design_options->nav['link']['parent'])) { $design_options->nav['link']['parent'] = $default_design_options->nav['link']['parent']; } if (!isset($design_options->nav['background']['parent'])) { $design_options->nav['background']['parent'] = $default_design_options->nav['background']['parent']; } // Version-specific upgrade code if (isset($design_options->font_sizes)) { foreach ($design_options->fonts as $area => $family) { $design_options->fonts['families'][$area] = $family ? $family : false; } foreach ($design_options->font_sizes as $area => $size) { $design_options->fonts['sizes'][$area] = $size; } } if (isset($design_options->num_columns)) { $design_options->layout['columns'] = $design_options->num_columns; } if (isset($design_options->widths)) { $design_options->layout['widths']['content'] = $design_options->widths['content'] ? $design_options->widths['content'] : 480; $design_options->layout['widths']['sidebar_1'] = $design_options->widths['sidebar_1'] ? $design_options->widths['sidebar_1'] : 195; $design_options->layout['widths']['sidebar_2'] = $design_options->widths['sidebar_2'] ? $design_options->widths['sidebar_2'] : 195; } if (isset($design_options->column_order)) { $design_options->layout['order'] = $design_options->column_order; } if (isset($design_options->html_framework)) { $design_options->layout['framework'] = $design_options->html_framework ? $design_options->html_framework : 'page'; } if (isset($design_options->page_padding)) { $design_options->layout['page_padding'] = $design_options->page_padding; } if (isset($design_options->teaser_options) && isset($design_options->teaser_content)) { foreach ($design_options->teaser_content as $teaser_area) { $new_teaser_options[$teaser_area]['name'] = $design_options->teasers['options'][$teaser_area]['name']; $new_teaser_options[$teaser_area]['show'] = (bool) $design_options->teaser_options[$teaser_area]; } if ($new_teaser_options) { $design_options->teasers['options'] = $new_teaser_options; } } if (isset($design_options->teaser_date)) { $design_options->teasers['date']['format'] = $design_options->teaser_date ? $design_options->teaser_date : 'standard'; } if (isset($design_options->teaser_date_custom)) { $design_options->teasers['date']['custom'] = $design_options->teaser_date_custom ? $design_options->teaser_date_custom : 'F j, Y'; } if (isset($design_options->teaser_font_sizes)) { foreach ($design_options->teaser_font_sizes as $teaser_area => $size) { $design_options->teasers['font_sizes'][$teaser_area] = $size; } } if (isset($design_options->teaser_link_text)) { $design_options->teasers['link_text'] = $design_options->teaser_link_text ? $design_options->teaser_link_text : false; } if (isset($feature_box)) { $design_options->feature_box['position'] = $feature_box; if (isset($design_options->feature_box_condition)) { $design_options->feature_box['status'] = $design_options->feature_box_condition; } if (isset($design_options->feature_box_after_post)) { $design_options->feature_box['after_post'] = $design_options->feature_box_after_post; } } // Multimedia box if (isset($multimedia_box) && is_array($multimedia_box)) { foreach ($multimedia_box as $item => $value) { $design_options->multimedia_box[$item] = $value; } } elseif (isset($multimedia_box)) { $design_options->multimedia_box['status'] = $multimedia_box; unset($thesis_options->multimedia_box); if ($thesis_options->image_alt_tags) { foreach ($thesis_options->image_alt_tags as $image_name => $alt_text) { if ($alt_text != '') { $design_options->multimedia_box['alt_tags'][$image_name] = $alt_text; } } unset($thesis_options->image_alt_tags); } if ($thesis_options->image_link_urls) { foreach ($thesis_options->image_link_urls as $image_name => $link_url) { if ($link_url != '') { $design_options->multimedia_box['link_urls'][$image_name] = $link_url; } } unset($thesis_options->image_link_urls); } if ($thesis_options->video_code) { $design_options->multimedia_box['video'] = $thesis_options->video_code; unset($thesis_options->video_code); } if ($thesis_options->custom_code) { $design_options->multimedia_box['code'] = $thesis_options->custom_code; unset($thesis_options->custom_code); } } // 1.6 Multimedia box style upgrades if (!isset($multimedia_box['color'])) { $design_options->multimedia_box['color'] = $default_design_options->multimedia_box['color']; } if (!isset($multimedia_box['background'])) { $design_options->multimedia_box['background']['image'] = $default_design_options->multimedia_box['background']['image']; $design_options->multimedia_box['background']['video'] = $default_design_options->multimedia_box['background']['video']; $design_options->multimedia_box['background']['code'] = $default_design_options->multimedia_box['background']['code']; } // Post images and thumbnails if (isset($design_options->post_image_horizontal)) { $thesis_options->image['post']['x'] = $design_options->post_image_horizontal; } if (isset($design_options->post_image_vertical)) { $thesis_options->image['post']['y'] = $design_options->post_image_vertical; } if (isset($design_options->post_image_frame)) { $thesis_options->image['post']['frame'] = $design_options->post_image_frame; } if (isset($design_options->post_image_single)) { $thesis_options->image['post']['single'] = $design_options->post_image_single; } if (isset($design_options->post_image_archives)) { $thesis_options->image['post']['archives'] = $design_options->post_image_archives; } if (isset($design_options->thumb_horizontal)) { $thesis_options->image['thumb']['x'] = $design_options->thumb_horizontal; } if (isset($design_options->thumb_vertical)) { $thesis_options->image['thumb']['y'] = $design_options->thumb_vertical; } if (isset($design_options->thumb_frame)) { $thesis_options->image['thumb']['frame'] = $design_options->thumb_frame; } if (isset($design_options->thumb_size)) { $thesis_options->image['thumb']['width'] = $design_options->thumb_size['width']; $thesis_options->image['thumb']['height'] = $design_options->thumb_size['height']; } // Preserve old font variables if ($design_options->font_body) { $design_options->fonts['families']['body'] = $design_options->font_body; } if ($design_options->font_content_subheads_family) { $design_options->fonts['families']['subheads'] = $design_options->font_content_subheads_family; } if ($design_options->font_nav_family) { $design_options->fonts['families']['nav_menu'] = $design_options->font_nav_family; } if ($design_options->font_header_family) { $design_options->fonts['families']['header'] = $design_options->font_header_family; } if ($design_options->font_header_tagline_family) { $design_options->fonts['families']['tagline'] = $design_options->font_header_tagline_family; } if ($design_options->font_headlines_family) { $design_options->fonts['families']['headlines'] = $design_options->font_headlines_family; } if ($design_options->font_bylines_family) { $design_options->fonts['families']['bylines'] = $design_options->font_bylines_family; } if ($design_options->font_multimedia_family) { $design_options->fonts['families']['multimedia_box'] = $design_options->font_multimedia_family; } if ($design_options->font_sidebars_family) { $design_options->fonts['families']['sidebars'] = $design_options->font_sidebars_family; } if ($design_options->font_sidebars_headings_family) { $design_options->fonts['families']['sidebar_headings'] = $design_options->font_sidebars_headings_family; } if ($design_options->font_footer_family) { $design_options->fonts['families']['footer'] = $design_options->font_footer_family; } // Preserve old font size variables if ($design_options->font_content_size) { $design_options->fonts['sizes']['content'] = $design_options->font_content_size; } if ($design_options->font_nav_size) { $design_options->fonts['sizes']['nav_menu'] = $design_options->font_nav_size; } if ($design_options->font_header_size) { $design_options->fonts['sizes']['header'] = $design_options->font_header_size; } if ($design_options->font_headlines_size) { $design_options->fonts['sizes']['headlines'] = $design_options->font_headlines_size; } if ($design_options->font_bylines_size) { $design_options->fonts['sizes']['bylines'] = $design_options->font_bylines_size; } if ($design_options->font_multimedia_size) { $design_options->fonts['sizes']['multimedia_box'] = $design_options->font_multimedia_size; } if ($design_options->font_sidebars_size) { $design_options->fonts['sizes']['sidebars'] = $design_options->font_sidebars_size; } if ($design_options->font_footer_size) { $design_options->fonts['sizes']['footer'] = $design_options->font_footer_size; } // Preserve old width settings if ($design_options->num_columns == 3 && $design_options->width_content_3) { $design_options->layout['widths']['content'] = $design_options->width_content_3; } elseif ($design_options->num_columns == 2 && $design_options->width_content_2) { $design_options->layout['widths']['content'] = $design_options->width_content_2; $design_options->layout['widths']['sidebar_1'] = $design_options->width_sidebar; } elseif ($design_options->num_columns == 3 && $design_options->width_content_1) { $design_options->layout['widths']['content'] = $design_options->width_content_1; } // Clean up the $design_options->fonts array from 1.5b r3 to 1.5 foreach ($design_options->fonts as $type => $value) { if ($type == 'families' || $type == 'sizes') { $new_fonts_array[$type] = $value; } } $design_options->fonts = $new_fonts_array; foreach ($design_options as $option_name => $value) { if (!isset($default_design_options->{$option_name})) { unset($design_options->{$option_name}); } // Has this option been nuked? If so, kill it! } update_option('thesis_design_options', $design_options); // Save upgraded options update_option('thesis_options', $thesis_options); thesis_generate_css(); }