post; $supports = post_supports_amp( $post ); if ( ! $supports ) { if ( $is_amp_endpoint ) { wp_safe_redirect( get_permalink( $post->ID ) ); exit; } return; } if ( $is_amp_endpoint ) { amp_prepare_render(); } else { amp_add_frontend_actions(); } } } if ( ! function_exists('AMPforWP\\AMPVendor\\amp_load_classes') ) { function amp_load_classes() { require_once( AMP__VENDOR__DIR__ . '/includes/class-amp-post-template.php' ); // this loads everything else } } if ( ! function_exists('AMPforWP\\AMPVendor\\amp_add_frontend_actions') ) { function amp_add_frontend_actions() { require_once( AMP__VENDOR__DIR__ . '/includes/amp-frontend-actions.php' ); } } if ( ! function_exists('AMPforWP\\AMPVendor\\amp_add_post_template_actions') ) { function amp_add_post_template_actions() { require_once( AMP__VENDOR__DIR__ . '/includes/amp-post-template-actions.php' ); require_once( AMP__VENDOR__DIR__ . '/includes/amp-post-template-functions.php' ); } } if ( ! function_exists('AMPforWP\\AMPVendor\\amp_prepare_render') ) { function amp_prepare_render() { add_action( 'template_redirect', 'AMPforWP\\AMPVendor\\amp_render' ); } } if ( ! function_exists('AMPforWP\\AMPVendor\\amp_render') ) { function amp_render() { global $ampforwpTemplate; amp_load_classes(); $post_id = get_queried_object_id(); do_action( 'pre_amp_render_post', $post_id ); amp_add_post_template_actions(); $template = $ampforwpTemplate = new AMP_Post_Template( $post_id ); $template->load(); // Set Header: last modified information if( is_singular() && $post_id ) { header("Last-Modified: " . get_the_modified_time("D, d M Y H:i:s", $post_id) ); } exit; } } /** * Bootstraps the AMP customizer. * * If the AMP customizer is enabled, initially drop the core widgets and menus panels. If the current * preview page isn't flagged as an AMP template, the core panels will be re-added and the AMP panel * hidden. * * @internal This callback must be hooked before priority 10 on 'plugins_loaded' to properly unhook * the core panels. * * @since 0.4 */ if ( ! function_exists('AMPforWP\\AMPVendor\\_amp_bootstrap_customizer') ) { function _amp_bootstrap_customizer() { /** * Filter whether to enable the AMP template customizer functionality. * * @param bool $enable Whether to enable the AMP customizer. Default true. */ $amp_customizer_enabled = apply_filters( 'amp_customizer_is_enabled', true ); if ( true === $amp_customizer_enabled ) { amp_init_customizer(); } } add_action( 'plugins_loaded', 'AMPforWP\\AMPVendor\\_amp_bootstrap_customizer', 9 ); }