From: Anthony Talarico Date: Wed, 31 Aug 2016 18:37:48 +0000 (-0400) Subject: added custom template creation to functions php, and removed test javascript X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=7bcb40b4f0680d68eef7e75d07503de7316199ba;p=web%2FGruntInit%2FglmThemeV6.git added custom template creation to functions php, and removed test javascript --- diff --git a/root/functions.php b/root/functions.php index e7dd182..dc3239c 100644 --- a/root/functions.php +++ b/root/functions.php @@ -140,4 +140,79 @@ function is_post_type($type){ add_action('thematic_searchloop', 'mytheme_search_loop'); // End of the Contextual/Highlight Search functions + +// This series of functions is used for forcing a template if one or any is picked. +// START FORCE TEMPLATE FUNCTIONS +add_filter( 'template_include', 'glm_force_template', 99 ); +function glm_force_template( $template ) { + global $post; + /* + * Uncomment this IF statement surrounding the locate_template line + * if you want to use the given template (index.php) EVERY time any page + * template is selected & included. + */ + //if (get_page_template_slug( $post->ID ) == "test-template") { + $template = locate_template( "index.php" ); + //} + return $template; +} +function get_custom_page_templates() { + $templates = array(); + // maybe by options? --> $templates = get_option( 'custom_page_templates' ); + // maybe by conf file? --> $templates = include 'custom_page_templates.php'; + return apply_filters( 'custom_page_templates', $templates ); +} +add_action( 'edit_form_after_editor', 'custom_page_templates_init' ); +add_action( 'load-post.php', 'custom_page_templates_init_post' ); +add_action( 'load-post-new.php', 'custom_page_templates_init_post' ); + +function custom_page_templates_init() { + remove_action( current_filter(), __FUNCTION__ ); + if ( is_admin() && get_current_screen()->post_type === 'page' ) { + $templates = get_custom_page_templates(); // the function above + if ( ! empty( $templates ) ) { + set_custom_page_templates( $templates ); + } + } +} +function custom_page_templates_init_post() { + remove_action( current_filter(), __FUNCTION__ ); + $method = filter_input( INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_STRING ); + if ( empty( $method ) || strtoupper( $method ) !== 'POST' ) return; + if ( get_current_screen()->post_type === 'page' ) { + custom_page_templates_init(); + } +} +function set_custom_page_templates( $templates = array() ) { + if ( ! is_array( $templates ) || empty( $templates ) ) return; + $core = array_flip( (array) get_page_templates() ); // templates defined by file + $data = array_filter( array_merge( $core, $templates ) ); + ksort( $data ); + $stylesheet = get_stylesheet(); + $hash = md5( get_theme_root( $stylesheet ) . '/' . $stylesheet ); + $persistently = apply_filters( 'wp_cache_themes_persistently', false, 'WP_Theme' ); + $exp = is_int( $persistently ) ? $persistently : 1800; + wp_cache_set( 'page_templates-' . $hash, $data, 'themes', $exp ); +} +add_filter( 'custom_page_templates', function( $now_templates ) { + // Any slug->name pairs down here will be selectable in the admin side of + // a page. You do not need to create a new template file. You can refer to + // this template by its slug in our index.php using get_page_template_slug + // Below are some commented examples of custom quasi-templates. + $templates = array( + // 'some-custom-page-template' => 'Some Custom Page Template', + // 'any-template-slug' => 'Sample Template' , + ); + + return array_merge( $now_templates, $templates ); +} ); +// END FORCE TEMPLATE FUNCTIONS + + +// THIS IS HOW IT CAN BE USED IN INDEX.PHP +ID ) == "some-custom-page-template") { + echo "
[I am totally not a block ._.]
"; +} else { + echo "

The current template used is:".get_page_template_slug( $post->ID )."

"; +} ?> diff --git a/root/js/custom/pageSetup.js b/root/js/custom/pageSetup.js index 320e25a..df15de0 100644 --- a/root/js/custom/pageSetup.js +++ b/root/js/custom/pageSetup.js @@ -3,16 +3,6 @@ jQuery(document).ready(function ($) { 'use strict'; $(document).foundation(); - - const PI = 3.141593; - class Test { - constructor(x,y){ - this.x = y+x; - this.y = x; - } - } - let joe = "cool"; - console.log(joe); $('ul.children').each(function () { $(this).before('');