ID, '_responsive_layout', true ) ? get_post_meta( $post->ID, '_responsive_layout', true ) : 'default' ); $layout_meta = ( array_key_exists( $layout_meta_value, $valid_layouts ) ? $layout_meta_value : 'default' ); } /* Static pages */ if ( is_page() ) { $page_template = get_post_meta( $post->ID, '_wp_page_template', true ); /* If custom page template is defined, use it first */ if ( 'default' != $page_template ) { if ( in_array( $page_template, array( 'blog.php', 'blog-excerpt.php' ) ) ) { $layout = $responsive_options['blog_posts_index_layout_default']; } else { $layout = $responsive_options['static_page_layout_default']; } } /* Else, if post custom meta is set, use it */ elseif ( 'default' != $layout_meta ) { $layout = $layout_meta; } /* Else, use the default */ else { $layout = $responsive_options['static_page_layout_default']; } } /* Single blog posts */ else { if ( is_single() ) { /* If post custom meta is set, use it */ if ( 'default' != $layout_meta ) { $layout = $layout_meta; } /* Else, use the default */ else { $layout = $responsive_options['single_post_layout_default']; } } /* Posts index */ elseif ( is_home() || is_archive() || is_search() ) { $layout = $responsive_options['blog_posts_index_layout_default']; } /* Fallback */ else { $layout = 'default'; } } return apply_filters( 'responsive_get_layout', $layout ); } /** * Get valid layouts */ function responsive_get_valid_layouts() { $layouts = array( 'default' => __( 'Default', 'responsive' ), 'content-sidebar-page' => __( 'Content/Sidebar', 'responsive' ), 'sidebar-content-page' => __( 'Sidebar/Content', 'responsive' ), 'content-sidebar-half-page' => __( 'Content/Sidebar Half Page', 'responsive' ), 'sidebar-content-half-page' => __( 'Sidebar/Content Half Page', 'responsive' ), 'full-width-page' => __( 'Full Width Page (no sidebar)', 'responsive' ) ); return apply_filters( 'responsive_valid_layouts', $layouts ); } /** * Add Layout Meta Box * * @link http://codex.wordpress.org/Function_Reference/_2 __() * @link http://codex.wordpress.org/Function_Reference/add_meta_box add_meta_box() */ function responsive_add_layout_meta_box( $post ) { global $post, $wp_meta_boxes; $context = apply_filters( 'responsive_layout_meta_box_context', 'side' ); // 'normal', 'side', 'advanced' $priority = apply_filters( 'responsive_layout_meta_box_priority', 'default' ); // 'high', 'core', 'low', 'default' add_meta_box( 'responsive_layout', __( 'Layout', 'responsive' ), 'responsive_layout_meta_box', 'post', $context, $priority ); } // Hook meta boxes into 'add_meta_boxes' add_action( 'add_meta_boxes', 'responsive_add_layout_meta_box' ); /** * Define Layout Meta Box * * Define the markup for the meta box * for the "layout" post custom meta * data. The metabox will consist of * radio selection options for "default" * and each defined, valid layout * option for single blog posts or * static pages, depending on the * context. * * @uses responsive_get_option_parameters() Defined in \functions\options.php * @uses checked() * @uses get_post_custom() */ function responsive_layout_meta_box() { global $post; $custom = ( get_post_custom( $post->ID ) ? get_post_custom( $post->ID ) : false ); $layout = ( isset( $custom['_responsive_layout'][0] ) ? $custom['_responsive_layout'][0] : 'default' ); $valid_layouts = responsive_get_valid_layouts(); ?>

ID, '_responsive_layout', $layout ); } // Hook the save layout post custom meta data into // publish_{post-type}, draft_{post-type}, and future_{post-type} add_action( 'publish_post', 'responsive_save_layout_post_metadata' ); add_action( 'publish_page', 'responsive_save_layout_post_metadata' ); add_action( 'draft_post', 'responsive_save_layout_post_metadata' ); add_action( 'draft_page', 'responsive_save_layout_post_metadata' ); add_action( 'future_post', 'responsive_save_layout_post_metadata' ); add_action( 'future_page', 'responsive_save_layout_post_metadata' );