* @return mixed Returns the value encoded in JSON in appropriate PHP type. * `null` is returned if the file is not found, or its content can't be decoded. */ function wp_json_file_decode( $filename, $options = array() ) { $result = null; $filename = wp_normalize_path( realpath( $filename ) ); if ( ! $filename ) { trigger_error( sprintf( /* translators: %s: Path to the JSON file. */ __( "File %s doesn't exist!" ), $filename ) ); return $result; } $options = wp_parse_args( $options, array( 'associative' => false ) ); $decoded_file = json_decode( file_get_contents( $filename ), $options['associative'] ); if ( JSON_ERROR_NONE !== json_last_error() ) { trigger_error( sprintf( /* translators: 1: Path to the JSON file, 2: Error message. */ __( 'Error when decoding a JSON file at path %1$s: %2$s' ), $filename, json_last_error_msg() ) ); return $result; } return $decoded_file; } /** * Retrieves the WordPress home page URL. * * If the constant named 'WP_HOME' exists, then it will be used and returned
* @return mixed Returns the value encoded in JSON in appropriate PHP type. * `null` is returned if the file is not found, or its content can't be decoded. */ function wp_json_file_decode( $filename, $options = array() ) { $result = null; $filename = wp_normalize_path( realpath( $filename ) ); if ( ! $filename ) { trigger_error( sprintf( /* translators: %s: Path to the JSON file. */ __( "File %s doesn't exist!" ), $filename ) ); return $result; } $options = wp_parse_args( $options, array( 'associative' => false ) ); $decoded_file = json_decode( file_get_contents( $filename ), $options['associative'] ); if ( JSON_ERROR_NONE !== json_last_error() ) { trigger_error( sprintf( /* translators: 1: Path to the JSON file, 2: Error message. */ __( 'Error when decoding a JSON file at path %1$s: %2$s' ), $filename, json_last_error_msg() ) ); return $result; } return $decoded_file; } /** * Retrieves the WordPress home page URL. * * If the constant named 'WP_HOME' exists, then it will be used and returned
*/ protected static $theme_json_file_cache = array(); /** * Processes a file that adheres to the theme.json schema * and returns an array with its contents, or a void array if none found. * * @since 5.8.0 * @since 6.1.0 Added caching. * * @param string $file_path Path to file. Empty if no file. * @return array Contents that adhere to the theme.json schema. */ protected static function read_json_file( $file_path ) { if ( $file_path ) { if ( array_key_exists( $file_path, static::$theme_json_file_cache ) ) { return static::$theme_json_file_cache[ $file_path ]; } $decoded_file = wp_json_file_decode( $file_path, array( 'associative' => true ) ); if ( is_array( $decoded_file ) ) { static::$theme_json_file_cache[ $file_path ] = $decoded_file; return static::$theme_json_file_cache[ $file_path ]; } } return array(); } /** * Returns a data structure used in theme.json translation. * * @since 5.8.0 * @deprecated 5.9.0 * * @return array An array of theme.json fields that are translatable and the keys that are translatable. */ public static function get_fields_to_translate() { _deprecated_function( __METHOD__, '5.9.0' ); return array();
* @param array $deprecated Deprecated. Not used. * @param array $options { * Options arguments. * * @type bool $with_supports Whether to include theme supports in the data. Default true. * } * @return WP_Theme_JSON Entity that holds theme data. */ public static function get_theme_data( $deprecated = array(), $options = array() ) { if ( ! empty( $deprecated ) ) { _deprecated_argument( __METHOD__, '5.9.0' ); } $options = wp_parse_args( $options, array( 'with_supports' => true ) ); if ( null === static::$theme || ! static::has_same_registered_blocks( 'theme' ) ) { $wp_theme = wp_get_theme(); $theme_json_file = $wp_theme->get_file_path( 'theme.json' ); if ( is_readable( $theme_json_file ) ) { $theme_json_data = static::read_json_file( $theme_json_file ); $theme_json_data = static::translate( $theme_json_data, $wp_theme->get( 'TextDomain' ) ); } else { $theme_json_data = array(); } /** * Filters the data provided by the theme for global styles and settings. * * @since 6.1.0 * * @param WP_Theme_JSON_Data $theme_json Class to access and update the underlying data. */ $theme_json = apply_filters( 'wp_theme_json_data_theme', new WP_Theme_JSON_Data( $theme_json_data, 'theme' ) ); $theme_json_data = $theme_json->get_data(); static::$theme = new WP_Theme_JSON( $theme_json_data ); if ( $wp_theme->parent() ) { // Get parent theme.json. $parent_theme_json_file = $wp_theme->parent()->get_file_path( 'theme.json' ); if ( $theme_json_file !== $parent_theme_json_file && is_readable( $parent_theme_json_file ) ) {
* @return WP_Theme_JSON */ public static function get_merged_data( $origin = 'custom' ) { if ( is_array( $origin ) ) { _deprecated_argument( __FUNCTION__, '5.9.0' ); } $result = new WP_Theme_JSON(); $result->merge( static::get_core_data() ); if ( 'default' === $origin ) { $result->set_spacing_sizes(); return $result; } $result->merge( static::get_block_data() ); if ( 'blocks' === $origin ) { return $result; } $result->merge( static::get_theme_data() ); if ( 'theme' === $origin ) { $result->set_spacing_sizes(); return $result; } $result->merge( static::get_user_data() ); $result->set_spacing_sizes(); return $result; } /** * Returns the ID of the custom post type * that stores user data. * * @since 5.9.0 * * @return integer|null */ public static function get_user_global_styles_post_id() {
* that can use dynamic data (modify the stylesheet depending on some option, * settings depending on user permissions, etc.). * See some of the existing hooks to modify theme.json behavior: * @see https://make.wordpress.org/core/2022/10/10/filters-for-theme-json-data/ * * A different alternative considered was to invalidate the cache upon certain * events such as options add/update/delete, user meta, etc. * It was judged not enough, hence this approach. * @see https://github.com/WordPress/gutenberg/pull/45372 */ $cache_group = 'theme_json'; $cache_key = 'wp_get_global_stylesheet'; if ( $can_use_cached ) { $cached = wp_cache_get( $cache_key, $cache_group ); if ( $cached ) { return $cached; } } $tree = WP_Theme_JSON_Resolver::get_merged_data(); $supports_theme_json = wp_theme_has_theme_json(); if ( empty( $types ) && ! $supports_theme_json ) { $types = array( 'variables', 'presets', 'base-layout-styles' ); } elseif ( empty( $types ) ) { $types = array( 'variables', 'styles', 'presets' ); } /* * If variables are part of the stylesheet, then add them. * This is so themes without a theme.json still work as before 5.9: * they can override the default presets. * See https://core.trac.wordpress.org/ticket/54782 */ $styles_variables = ''; if ( in_array( 'variables', $types, true ) ) { /* * Only use the default, theme, and custom origins. Why? * Because styles for `blocks` origin are added at a later phase * (i.e. in the render cycle). Here, only the ones in use are rendered.
* The footer should only be used to print global styles for classic themes with separate core assets enabled. * * See https://core.trac.wordpress.org/ticket/53494. */ if ( ( $is_block_theme && doing_action( 'wp_footer' ) ) || ( $is_classic_theme && doing_action( 'wp_footer' ) && ! $separate_assets ) || ( $is_classic_theme && doing_action( 'wp_enqueue_scripts' ) && $separate_assets ) ) { return; } /* * If loading the CSS for each block separately, then load the theme.json CSS conditionally. * This removes the CSS from the global-styles stylesheet and adds it to the inline CSS for each block. * This filter must be registered before calling wp_get_global_stylesheet(); */ add_filter( 'wp_theme_json_get_style_nodes', 'wp_filter_out_block_nodes' ); $stylesheet = wp_get_global_stylesheet(); if ( empty( $stylesheet ) ) { return; } wp_register_style( 'global-styles', false ); wp_add_inline_style( 'global-styles', $stylesheet ); wp_enqueue_style( 'global-styles' ); // Add each block as an inline css. wp_add_global_styles_for_blocks(); } /** * Enqueues the global styles custom css defined via theme.json. * * @since 6.2.0 */ function wp_enqueue_global_styles_custom_css() { if ( ! wp_is_block_theme() ) {
$this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); $num_args = count( $args ); do { $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] ); $priority = $this->current_priority[ $nesting_level ]; foreach ( $this->callbacks[ $priority ] as $the_ ) { if ( ! $this->doing_action ) { $args[0] = $value; } // Avoid the array_slice() if possible. if ( 0 == $the_['accepted_args'] ) { $value = call_user_func( $the_['function'] ); } elseif ( $the_['accepted_args'] >= $num_args ) { $value = call_user_func_array( $the_['function'], $args ); } else { $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) ); } } } while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; } /** * Calls the callback functions that have been added to an action hook. * * @since 4.7.0 * * @param array $args Parameters to pass to the callback functions.
} while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; } /** * Calls the callback functions that have been added to an action hook. * * @since 4.7.0 * * @param array $args Parameters to pass to the callback functions. */ public function do_action( $args ) { $this->doing_action = true; $this->apply_filters( '', $args ); // If there are recursive calls to the current action, we haven't finished it until we get to the last one. if ( ! $this->nesting_level ) { $this->doing_action = false; } } /** * Processes the functions hooked into the 'all' hook. * * @since 4.7.0 * * @param array $args Arguments to pass to the hook callbacks. Passed by reference. */ public function do_all_hook( &$args ) { $nesting_level = $this->nesting_level++; $this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); do { $priority = current( $this->iterations[ $nesting_level ] );
if ( ! isset( $wp_filter[ $hook_name ] ) ) { if ( isset( $wp_filter['all'] ) ) { array_pop( $wp_current_filter ); } return; } if ( ! isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $hook_name; } if ( empty( $arg ) ) { $arg[] = ''; } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) { // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`. $arg[0] = $arg[0][0]; } $wp_filter[ $hook_name ]->do_action( $arg ); array_pop( $wp_current_filter ); } /** * Calls the callback functions that have been added to an action hook, specifying arguments in an array. * * @since 2.1.0 * * @see do_action() This function is identical, but the arguments passed to the * functions hooked to `$hook_name` are supplied using an array. * * @global WP_Hook[] $wp_filter Stores all of the filters and actions. * @global int[] $wp_actions Stores the number of times each action was triggered. * @global string[] $wp_current_filter Stores the list of current filters with the current one last. * * @param string $hook_name The name of the action to be executed. * @param array $args The arguments supplied to the functions hooked to `$hook_name`. */ function do_action_ref_array( $hook_name, $args ) {
* @since 2.8.0 */ do_action( 'wp_print_footer_scripts' ); } /** * Wrapper for do_action( 'wp_enqueue_scripts' ). * * Allows plugins to queue scripts for the front end using wp_enqueue_script(). * Runs first in wp_head() where all is_home(), is_page(), etc. functions are available. * * @since 2.8.0 */ function wp_enqueue_scripts() { /** * Fires when scripts and styles are enqueued. * * @since 2.8.0 */ do_action( 'wp_enqueue_scripts' ); } /** * Prints the styles queue in the HTML head on admin pages. * * @since 2.8.0 * * @global bool $concatenate_scripts * * @return array */ function print_admin_styles() { global $concatenate_scripts; $wp_styles = wp_styles(); script_concat_settings(); $wp_styles->do_concat = $concatenate_scripts; $wp_styles->do_items( false );
$this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); $num_args = count( $args ); do { $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] ); $priority = $this->current_priority[ $nesting_level ]; foreach ( $this->callbacks[ $priority ] as $the_ ) { if ( ! $this->doing_action ) { $args[0] = $value; } // Avoid the array_slice() if possible. if ( 0 == $the_['accepted_args'] ) { $value = call_user_func( $the_['function'] ); } elseif ( $the_['accepted_args'] >= $num_args ) { $value = call_user_func_array( $the_['function'], $args ); } else { $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) ); } } } while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; } /** * Calls the callback functions that have been added to an action hook. * * @since 4.7.0 * * @param array $args Parameters to pass to the callback functions.
} while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; } /** * Calls the callback functions that have been added to an action hook. * * @since 4.7.0 * * @param array $args Parameters to pass to the callback functions. */ public function do_action( $args ) { $this->doing_action = true; $this->apply_filters( '', $args ); // If there are recursive calls to the current action, we haven't finished it until we get to the last one. if ( ! $this->nesting_level ) { $this->doing_action = false; } } /** * Processes the functions hooked into the 'all' hook. * * @since 4.7.0 * * @param array $args Arguments to pass to the hook callbacks. Passed by reference. */ public function do_all_hook( &$args ) { $nesting_level = $this->nesting_level++; $this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); do { $priority = current( $this->iterations[ $nesting_level ] );
if ( ! isset( $wp_filter[ $hook_name ] ) ) { if ( isset( $wp_filter['all'] ) ) { array_pop( $wp_current_filter ); } return; } if ( ! isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $hook_name; } if ( empty( $arg ) ) { $arg[] = ''; } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) { // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`. $arg[0] = $arg[0][0]; } $wp_filter[ $hook_name ]->do_action( $arg ); array_pop( $wp_current_filter ); } /** * Calls the callback functions that have been added to an action hook, specifying arguments in an array. * * @since 2.1.0 * * @see do_action() This function is identical, but the arguments passed to the * functions hooked to `$hook_name` are supplied using an array. * * @global WP_Hook[] $wp_filter Stores all of the filters and actions. * @global int[] $wp_actions Stores the number of times each action was triggered. * @global string[] $wp_current_filter Stores the list of current filters with the current one last. * * @param string $hook_name The name of the action to be executed. * @param array $args The arguments supplied to the functions hooked to `$hook_name`. */ function do_action_ref_array( $hook_name, $args ) {
return ' …'; }); /** * Template Hierarchy should search for .blade.php files */ collect([ 'index', '404', 'archive', 'author', 'category', 'tag', 'taxonomy', 'date', 'home', 'frontpage', 'page', 'paged', 'search', 'single', 'singular', 'attachment', 'embed' ])->map(function ($type) { add_filter("{$type}_template_hierarchy", __NAMESPACE__.'\\filter_templates'); }); /** * Render page using Blade */ add_filter('template_include', function ($template) { collect(['get_header', 'wp_head'])->each(function ($tag) { ob_start(); do_action($tag); $output = ob_get_clean(); remove_all_actions($tag); add_action($tag, function () use ($output) { echo $output; }); }); $data = collect(get_body_class())->reduce(function ($data, $class) use ($template) { return apply_filters("sage/template/{$class}/data", $data, $template); }, []); if ($template) { echo template($template, $data); return get_stylesheet_directory().'/index.php'; } return $template; }, PHP_INT_MAX); /** * Render comments.blade.php */ add_filter('comments_template', function ($comments_template) {
* * @param mixed $items * @param callable $callback * @return static */ public function diffKeysUsing($items, callable $callback) { return new static(array_diff_ukey($this->items, $this->getArrayableItems($items), $callback)); } /** * Execute a callback over each item. * * @param callable $callback * @return $this */ public function each(callable $callback) { foreach ($this->items as $key => $item) { if ($callback($item, $key) === false) { break; } } return $this; } /** * Execute a callback over each nested chunk of items. * * @param callable $callback * @return static */ public function eachSpread(callable $callback) { return $this->each(function ($chunk, $key) use ($callback) { $chunk[] = $key; return $callback(...$chunk); });
collect([ 'index', '404', 'archive', 'author', 'category', 'tag', 'taxonomy', 'date', 'home', 'frontpage', 'page', 'paged', 'search', 'single', 'singular', 'attachment', 'embed' ])->map(function ($type) { add_filter("{$type}_template_hierarchy", __NAMESPACE__.'\\filter_templates'); }); /** * Render page using Blade */ add_filter('template_include', function ($template) { collect(['get_header', 'wp_head'])->each(function ($tag) { ob_start(); do_action($tag); $output = ob_get_clean(); remove_all_actions($tag); add_action($tag, function () use ($output) { echo $output; }); }); $data = collect(get_body_class())->reduce(function ($data, $class) use ($template) { return apply_filters("sage/template/{$class}/data", $data, $template); }, []); if ($template) { echo template($template, $data); return get_stylesheet_directory().'/index.php'; } return $template; }, PHP_INT_MAX); /** * Render comments.blade.php */ add_filter('comments_template', function ($comments_template) { $comments_template = str_replace( [get_stylesheet_directory(), get_template_directory()], '', $comments_template );
$this->iterations[ $nesting_level ] = array_keys( $this->callbacks ); $num_args = count( $args ); do { $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] ); $priority = $this->current_priority[ $nesting_level ]; foreach ( $this->callbacks[ $priority ] as $the_ ) { if ( ! $this->doing_action ) { $args[0] = $value; } // Avoid the array_slice() if possible. if ( 0 == $the_['accepted_args'] ) { $value = call_user_func( $the_['function'] ); } elseif ( $the_['accepted_args'] >= $num_args ) { $value = call_user_func_array( $the_['function'], $args ); } else { $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) ); } } } while ( false !== next( $this->iterations[ $nesting_level ] ) ); unset( $this->iterations[ $nesting_level ] ); unset( $this->current_priority[ $nesting_level ] ); $this->nesting_level--; return $value; } /** * Calls the callback functions that have been added to an action hook. * * @since 4.7.0 * * @param array $args Parameters to pass to the callback functions.
$all_args = func_get_args(); // phpcs:ignore PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection _wp_call_all_hook( $all_args ); } if ( ! isset( $wp_filter[ $hook_name ] ) ) { if ( isset( $wp_filter['all'] ) ) { array_pop( $wp_current_filter ); } return $value; } if ( ! isset( $wp_filter['all'] ) ) { $wp_current_filter[] = $hook_name; } // Pass the value to WP_Hook. array_unshift( $args, $value ); $filtered = $wp_filter[ $hook_name ]->apply_filters( $value, $args ); array_pop( $wp_current_filter ); return $filtered; } /** * Calls the callback functions that have been added to a filter hook, specifying arguments in an array. * * @since 3.0.0 * * @see apply_filters() This function is identical, but the arguments passed to the * functions hooked to `$hook_name` are supplied using an array. * * @global WP_Hook[] $wp_filter Stores all of the filters and actions. * @global int[] $wp_filters Stores the number of times each filter was triggered. * @global string[] $wp_current_filter Stores the list of current filters with the current one last. * * @param string $hook_name The name of the filter hook. * @param array $args The arguments supplied to the functions hooked to `$hook_name`.
if ( 'is_attachment' === $tag ) { remove_filter( 'the_content', 'prepend_attachment' ); } break; } } if ( ! $template ) { $template = get_index_template(); } /** * Filters the path of the current template before including it. * * @since 3.0.0 * * @param string $template The path of the template to include. */ $template = apply_filters( 'template_include', $template ); if ( $template ) { include $template; } elseif ( current_user_can( 'switch_themes' ) ) { $theme = wp_get_theme(); if ( $theme->errors() ) { wp_die( $theme->errors() ); } } return; }
<?php /** * Loads the WordPress environment and template. * * @package WordPress */ if ( ! isset( $wp_did_header ) ) { $wp_did_header = true; // Load the WordPress library. require_once __DIR__ . '/wp-load.php'; // Set up the WordPress query. wp(); // Load the theme template. require_once ABSPATH . WPINC . '/template-loader.php'; }
<?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define( 'WP_USE_THEMES', true ); /** Loads the WordPress Environment and Template */ require __DIR__ . '/wp-blog-header.php';
Key | Value |
query_vars | Array ( [p] => 2 [page_id] => 2 [cache_results] => 1 [update_post_term_cache] => 1 [lazy_load_term_meta] => 1 [update_post_meta_cache] => 1 [posts_per_page] => 10 [comments_per_page] => 50 [order] => DESC ) |
tax_query | WP_Tax_Query Object ( [queries] => Array ( ) [relation] => AND [table_aliases:protected] => Array ( ) [queried_terms] => Array ( ) [primary_table] => [primary_id_column] => ) |
meta_query | WP_Meta_Query Object ( [queries] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array ( ) [clauses:protected] => Array ( ) [has_or_relation:protected] => ) |
queried_object | WP_Post Object ( [ID] => 2 [post_author] => 1 [post_date] => 2019-09-08 22:05:36 [post_date_gmt] => 2019-09-08 22:05:36 [post_content] => <!-- wp:acf/hero { "id": "block_5d8e8c256bd3f", "name": "acf\/hero", "data": { "heading": "Making Dreams Come True", "_heading": "field_hero-block_heading", "copy": "Staples Tuition Grants of Westport, CT, has helped thousands of Staples High School graduates achieve their dreams by providing need-based grants for undergraduate college and vocational school tuition.", "_copy": "field_hero-block_copy", "background_image_mobile": 113, "_background_image_mobile": "field_hero-block_background_image_mobile", "background_image_desktop": 113, "_background_image_desktop": "field_hero-block_background_image_desktop" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d7a6e66379a3", "name": "acf\/two-columns", "data": { "left_column_column_type": "text", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_copy": "<h2>Imagine<\/h2>\r\nOver one hundred grants of up to $6,000 per year are awarded annually to Staples High School graduates. Graduating seniors and Staples alumni are eligible to apply for a grant in any year they are enrolled at accredited undergraduate institutions.\r\n\r\n<a class=\"button mr-1\" style=\"width: 10rem;\" href=\"https:\/\/webportalapp.com\/sp\/login\/staplestuitiongrants2018_19\" target=\"_blank\" rel=\"noopener\">Apply<\/a><a class=\"button bg-secondary\" style=\"width: 10rem;\" href=\"https:\/\/vn-staging.com\/client\/staplestuitiongrants\/donations-coming-soon\/\">Donate<\/a>", "_left_column_copy": "field_copy-two-columns_left_column_copy", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "image", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_image": 46, "_right_column_image": "field_copy-two-columns_right_column_image", "right_column_large_image": "0", "_right_column_large_image": "field_copy-two-columns_right_column_large_image", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d83cce9cf011", "name": "acf\/copy", "data": { "copy": "<h2 style=\"text-align: center;\">Who We Are<\/h2>\r\n<p style=\"text-align: center;\">Staples Tuition Grants was founded in 1943 by a group of Westporters who believed that any Staples High School graduate who worked hard enough to get into college should be able to attend, regardless of ability to pay. STG is an independent 501(c)(3) not affiliated with Staples High School, but completely reliant on the generosity of individuals, foundations, corporations and others. Our mission is to support the dreams of hundreds of local community students and their families by helping them close the gap between what they can afford and the ever increasing costs of tuition, room and board at institutions of higher learning.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d83e7e622bb9", "name": "acf\/two-columns", "data": { "left_column_column_type": "text", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_copy": "<h2>The Community<\/h2>\r\nThanks to the generous donations of Westport residents and businesses, Staples Tuition Grants (a registered 501(c)(3) nonprofit) continues to award college and vocational school tuition assistance to Staples High School seniors and graduates with demonstrated financial need.", "_left_column_copy": "field_copy-two-columns_left_column_copy", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "image", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_image": 65, "_right_column_image": "field_copy-two-columns_right_column_image", "right_column_large_image": "0", "_right_column_large_image": "field_copy-two-columns_right_column_large_image", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d9162f2d886c", "name": "acf\/copy", "data": { "copy": "<p class=\"text-xl lg:text-3xl font-bold\" style=\"text-align: center;\">We help the dreams of higher education come true through the support of residents, past-recipients, local businesses, private foundations and civic organizations.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/buttons { "id": "block_5d8d3bc45bd97", "name": "acf\/buttons", "data": { "buttons_0_button": { "title": "Apply", "url": "https:\/\/webportalapp.com\/sp\/login\/staplestuitiongrants2018_19", "target": "_blank" }, "_buttons_0_button": "field_buttons-block_buttons_button", "buttons_1_button": { "title": "Donate", "url": "https:\/\/vn-staging.com\/client\/staplestuitiongrants\/donate\/", "target": "" }, "_buttons_1_button": "field_buttons-block_buttons_button", "buttons": 2, "_buttons": "field_buttons-block_buttons" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d91635cd886d", "name": "acf\/copy", "data": { "copy": "<h2>CONGRATULATIONS . . . YOU GOT INTO COLLEGE!<\/h2>\r\n<h5>NOW WHAT?<\/h5>\r\nGetting into college is hard, but paying for it can be even harder--that’s where STG comes in. Not only can students receive up to six thousand dollars toward their first year’s tuition, but they can apply and qualify for additional STG funding for each year they are enrolled in an accredited undergraduate college, university, or vocational school.", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d91637bd886e", "name": "acf\/two-columns", "data": { "left_column_column_type": "image", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_image": 189, "_left_column_image": "field_copy-two-columns_left_column_image", "left_column_large_image": "0", "_left_column_large_image": "field_copy-two-columns_left_column_large_image", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "text", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_copy": "<h2>GRANTS are NOT Loans. STG AWARDS do NOT have to be repaid.<\/h2>\r\nSTG grants are need-based and the application process is confidential. We use the Free Application for Federal Student Aid (FAFSA) metric as well as a variety of other measurements, including the family's expected contribution and the number of dependent family members to calculate your need-based qualification.\r\n\r\nLike any grant program, applicants should familiarize themselves with STG's application deadlines; please note the STG process requires Staples seniors to be interviewed by one of our board members.", "_right_column_copy": "field_copy-two-columns_right_column_copy", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d9163e2d886f", "name": "acf\/copy", "data": { "copy": "<h2 style=\"text-align: center;\">KEY STG DEADLINES TO WATCH<\/h2>\r\n<p style=\"text-align: center;\">Student Application: Applications go ‘live’ December 15th, 2019\r\nApplication Deadline: March 8, 2020\r\nFinancial Documents Due: TBD\r\nSHS Senior Interviews: April, 2020\r\nSTG Award Notifications: Mid-May, 2020\r\nSTG Award Ceremony: Mid-June, 2020<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d916404d8870", "name": "acf\/copy", "data": { "copy": "<p class=\"text-xs\" style=\"text-align: center;\">Tax and Legal Information:\r\nStaples Tuition Grants (STG) is incorporated as a domestic non-stock corporation in the State of Connecticut. It is a tax-exempt corporation in accordance with Section 501(c)(3) of the Internal Revenue Code (“Code”) and is classified as a public charity under section 509(a)(1) and 170(b)(1)(A)(vi) of the Code. Contributions to STG are deductible under section 170 of the Code. STG is also qualified under Code sections 2056, 2106 or 2522 to receive tax deductible bequests, devises, transfers or gifts. STG’s federal Identification number is 51-0182993. \"Staples Tuition Grants” is a trade name under which the Staples High School Tuition Grants Committee, Inc. conducts business in the State of Connecticut. STG’s address is P.O. Box 5159, Westport, CT 06881.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> [post_title] => Home [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => home [to_ping] => [pinged] => [post_modified] => 2020-01-02 18:08:16 [post_modified_gmt] => 2020-01-02 18:08:16 [post_content_filtered] => [post_parent] => 0 [guid] => http://staplestuitiongrants.local/?page_id=2 [menu_order] => 0 [post_type] => page [post_mime_type] => [comment_count] => 0 [filter] => raw ) |
queried_object_id | 2 |
request | SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.ID = 2 AND wp_posts.post_type = 'page' ORDER BY wp_posts.post_date DESC |
post_count | 1 |
current_post | -1 |
before_loop | 1 |
current_comment | -1 |
found_posts | 1 |
is_page | 1 |
is_singular | 1 |
Key | Value |
ID | 2 |
post_author | 1 |
post_date | 2019-09-08 22:05:36 |
post_date_gmt | 2019-09-08 22:05:36 |
post_content | <!-- wp:acf/hero { "id": "block_5d8e8c256bd3f", "name": "acf\/hero", "data": { "heading": "Making Dreams Come True", "_heading": "field_hero-block_heading", "copy": "Staples Tuition Grants of Westport, CT, has helped thousands of Staples High School graduates achieve their dreams by providing need-based grants for undergraduate college and vocational school tuition.", "_copy": "field_hero-block_copy", "background_image_mobile": 113, "_background_image_mobile": "field_hero-block_background_image_mobile", "background_image_desktop": 113, "_background_image_desktop": "field_hero-block_background_image_desktop" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d7a6e66379a3", "name": "acf\/two-columns", "data": { "left_column_column_type": "text", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_copy": "<h2>Imagine<\/h2>\r\nOver one hundred grants of up to $6,000 per year are awarded annually to Staples High School graduates. Graduating seniors and Staples alumni are eligible to apply for a grant in any year they are enrolled at accredited undergraduate institutions.\r\n\r\n<a class=\"button mr-1\" style=\"width: 10rem;\" href=\"https:\/\/webportalapp.com\/sp\/login\/staplestuitiongrants2018_19\" target=\"_blank\" rel=\"noopener\">Apply<\/a><a class=\"button bg-secondary\" style=\"width: 10rem;\" href=\"https:\/\/vn-staging.com\/client\/staplestuitiongrants\/donations-coming-soon\/\">Donate<\/a>", "_left_column_copy": "field_copy-two-columns_left_column_copy", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "image", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_image": 46, "_right_column_image": "field_copy-two-columns_right_column_image", "right_column_large_image": "0", "_right_column_large_image": "field_copy-two-columns_right_column_large_image", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d83cce9cf011", "name": "acf\/copy", "data": { "copy": "<h2 style=\"text-align: center;\">Who We Are<\/h2>\r\n<p style=\"text-align: center;\">Staples Tuition Grants was founded in 1943 by a group of Westporters who believed that any Staples High School graduate who worked hard enough to get into college should be able to attend, regardless of ability to pay. STG is an independent 501(c)(3) not affiliated with Staples High School, but completely reliant on the generosity of individuals, foundations, corporations and others. Our mission is to support the dreams of hundreds of local community students and their families by helping them close the gap between what they can afford and the ever increasing costs of tuition, room and board at institutions of higher learning.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d83e7e622bb9", "name": "acf\/two-columns", "data": { "left_column_column_type": "text", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_copy": "<h2>The Community<\/h2>\r\nThanks to the generous donations of Westport residents and businesses, Staples Tuition Grants (a registered 501(c)(3) nonprofit) continues to award college and vocational school tuition assistance to Staples High School seniors and graduates with demonstrated financial need.", "_left_column_copy": "field_copy-two-columns_left_column_copy", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "image", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_image": 65, "_right_column_image": "field_copy-two-columns_right_column_image", "right_column_large_image": "0", "_right_column_large_image": "field_copy-two-columns_right_column_large_image", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d9162f2d886c", "name": "acf\/copy", "data": { "copy": "<p class=\"text-xl lg:text-3xl font-bold\" style=\"text-align: center;\">We help the dreams of higher education come true through the support of residents, past-recipients, local businesses, private foundations and civic organizations.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/buttons { "id": "block_5d8d3bc45bd97", "name": "acf\/buttons", "data": { "buttons_0_button": { "title": "Apply", "url": "https:\/\/webportalapp.com\/sp\/login\/staplestuitiongrants2018_19", "target": "_blank" }, "_buttons_0_button": "field_buttons-block_buttons_button", "buttons_1_button": { "title": "Donate", "url": "https:\/\/vn-staging.com\/client\/staplestuitiongrants\/donate\/", "target": "" }, "_buttons_1_button": "field_buttons-block_buttons_button", "buttons": 2, "_buttons": "field_buttons-block_buttons" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d91635cd886d", "name": "acf\/copy", "data": { "copy": "<h2>CONGRATULATIONS . . . YOU GOT INTO COLLEGE!<\/h2>\r\n<h5>NOW WHAT?<\/h5>\r\nGetting into college is hard, but paying for it can be even harder--that’s where STG comes in. Not only can students receive up to six thousand dollars toward their first year’s tuition, but they can apply and qualify for additional STG funding for each year they are enrolled in an accredited undergraduate college, university, or vocational school.", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/two-columns { "id": "block_5d91637bd886e", "name": "acf\/two-columns", "data": { "left_column_column_type": "image", "_left_column_column_type": "field_copy-two-columns_left_column_column_type", "left_column_image": 189, "_left_column_image": "field_copy-two-columns_left_column_image", "left_column_large_image": "0", "_left_column_large_image": "field_copy-two-columns_left_column_large_image", "left_column": "", "_left_column": "field_copy-two-columns_left_column", "right_column_column_type": "text", "_right_column_column_type": "field_copy-two-columns_right_column_column_type", "right_column_copy": "<h2>GRANTS are NOT Loans. STG AWARDS do NOT have to be repaid.<\/h2>\r\nSTG grants are need-based and the application process is confidential. We use the Free Application for Federal Student Aid (FAFSA) metric as well as a variety of other measurements, including the family's expected contribution and the number of dependent family members to calculate your need-based qualification.\r\n\r\nLike any grant program, applicants should familiarize themselves with STG's application deadlines; please note the STG process requires Staples seniors to be interviewed by one of our board members.", "_right_column_copy": "field_copy-two-columns_right_column_copy", "right_column": "", "_right_column": "field_copy-two-columns_right_column" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d9163e2d886f", "name": "acf\/copy", "data": { "copy": "<h2 style=\"text-align: center;\">KEY STG DEADLINES TO WATCH<\/h2>\r\n<p style=\"text-align: center;\">Student Application: Applications go ‘live’ December 15th, 2019\r\nApplication Deadline: March 8, 2020\r\nFinancial Documents Due: TBD\r\nSHS Senior Interviews: April, 2020\r\nSTG Award Notifications: Mid-May, 2020\r\nSTG Award Ceremony: Mid-June, 2020<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> <!-- wp:acf/copy { "id": "block_5d916404d8870", "name": "acf\/copy", "data": { "copy": "<p class=\"text-xs\" style=\"text-align: center;\">Tax and Legal Information:\r\nStaples Tuition Grants (STG) is incorporated as a domestic non-stock corporation in the State of Connecticut. It is a tax-exempt corporation in accordance with Section 501(c)(3) of the Internal Revenue Code (“Code”) and is classified as a public charity under section 509(a)(1) and 170(b)(1)(A)(vi) of the Code. Contributions to STG are deductible under section 170 of the Code. STG is also qualified under Code sections 2056, 2106 or 2522 to receive tax deductible bequests, devises, transfers or gifts. STG’s federal Identification number is 51-0182993. \"Staples Tuition Grants” is a trade name under which the Staples High School Tuition Grants Committee, Inc. conducts business in the State of Connecticut. STG’s address is P.O. Box 5159, Westport, CT 06881.<\/p>", "_copy": "field_copy-block_copy", "background": "transparent", "_background": "field_copy-block_background" }, "align": "", "mode": "edit" } /--> |
post_title | Home |
post_excerpt | |
post_status | publish |
comment_status | closed |
ping_status | open |
post_password | |
post_name | home |
to_ping | |
pinged | |
post_modified | 2020-01-02 18:08:16 |
post_modified_gmt | 2020-01-02 18:08:16 |
post_content_filtered | |
post_parent | 0 |
guid | http://staplestuitiongrants.local/?page_id=2 |
menu_order | 0 |
post_type | page |
post_mime_type | |
comment_count | 0 |
filter | raw |
Key | Value |
SERVER_SOFTWARE | Apache |
REQUEST_URI | /client/staplestuitiongrants/ |
PATH | /usr/local/bin:/usr/bin:/bin |
DOCUMENT_ROOT | /home/u573-p5mcwqzlgutc/www/vn-staging.com/public_html |
HTTPS | on |
UNIQUE_ID | ZRBjYEz5hOG4gKexGNSL5QAAAAA |
SCRIPT_URL | /client/staplestuitiongrants/ |
SCRIPT_URI | https://vn-staging.com/client/staplestuitiongrants/ |
HTTP_AUTHORIZATION | |
PHPHANDLER | /usr/local/php74/bin/php |
HTTP_X_PORT | 57468 |
HTTP_X_REAL_IP | 35.215.107.148 |
HTTP_X_FORWARDED_PROTO | https |
HTTP_HOST | vn-staging.com |
HTTP_X_ACCEPT_ENCODING | deflate, gzip, br |
HTTP_CONNECTION | close |
HTTP_USER_AGENT | WordPress/6.3.1; https://vn-staging.com/client/staplestuitiongrants |
HTTP_ACCEPT | */* |
HTTP_CACHE_CONTROL | no-cache |
SERVER_NAME | vn-staging.com |
SERVER_ADDR | 35.215.107.148 |
SERVER_PORT | 443 |
REMOTE_ADDR | 35.215.107.148 |
SERVER_ADMIN | webmaster |
SCRIPT_FILENAME | /home/u573-p5mcwqzlgutc/www/vn-staging.com/public_html/client/staplestuitiongrants/index.php |
REMOTE_PORT | 12148 |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.0 |
REQUEST_METHOD | GET |
QUERY_STRING | |
SCRIPT_NAME | /client/staplestuitiongrants/index.php |
PHP_DEFAULT_SOCKET_TIMEOUT | 40 |
PHP_MAX_EXECUTION_TIME | 120 |
PHP_MAX_INPUT_TIME | 120 |
PHP_MEMORY_LIMIT | 768M |
PHP_POST_MAX_SIZE | 256M |
PHP_UPLOAD_MAX_FILESIZE | 256M |
PHP_SELF | /client/staplestuitiongrants/index.php |
REQUEST_TIME_FLOAT | 1695572832.3101 |
REQUEST_TIME | 1695572832 |