summaryrefslogtreecommitdiff
path: root/inc/class-astra-after-setup-theme.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/class-astra-after-setup-theme.php')
-rw-r--r--inc/class-astra-after-setup-theme.php528
1 files changed, 264 insertions, 264 deletions
diff --git a/inc/class-astra-after-setup-theme.php b/inc/class-astra-after-setup-theme.php
index 7d9fc94..8af30d8 100644
--- a/inc/class-astra-after-setup-theme.php
+++ b/inc/class-astra-after-setup-theme.php
@@ -1,264 +1,264 @@
-<?php
-/**
- * Astra functions and definitions.
- * Text Domain: astra
- * When using a child theme (see https://codex.wordpress.org/Theme_Development
- * and https://codex.wordpress.org/Child_Themes), you can override certain
- * functions (those wrapped in a function_exists() call) by defining them first
- * in your child theme's functions.php file. The child theme's functions.php
- * file is included before the parent theme's file, so the child theme
- * functions would be used.
- *
- * For more information on hooks, actions, and filters,
- * see https://codex.wordpress.org/Plugin_API
- *
- * Astra is a very powerful theme and virtually anything can be customized
- * via a child theme.
- *
- * @package Astra
- * @author Astra
- * @copyright Copyright (c) 2020, Astra
- * @link https://wpastra.com/
- * @since Astra 1.0.0
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Astra_After_Setup_Theme initial setup
- *
- * @since 1.0.0
- */
-if ( ! class_exists( 'Astra_After_Setup_Theme' ) ) {
-
- /**
- * Astra_After_Setup_Theme initial setup
- */
- class Astra_After_Setup_Theme {
-
- /**
- * Instance
- *
- * @var $instance
- */
- private static $instance;
-
- /**
- * Initiator
- *
- * @since 1.0.0
- * @return object
- */
- public static function get_instance() {
- if ( ! isset( self::$instance ) ) {
- self::$instance = new self();
- }
- return self::$instance;
- }
-
- /**
- * Constructor
- */
- public function __construct() {
- add_action( 'after_setup_theme', array( $this, 'setup_theme' ), 2 );
- add_action( 'wp', array( $this, 'setup_content_width' ) );
- }
-
- /**
- * Setup theme
- *
- * @since 1.0.0
- */
- public function setup_theme() {
-
- do_action( 'astra_class_loaded' );
-
- /**
- * Make theme available for translation.
- * Translations can be filed in the /languages/ directory.
- * If you're building a theme based on Next, use a find and replace
- * to change 'astra' to the name of your theme in all the template files.
- */
- load_theme_textdomain( 'astra', ASTRA_THEME_DIR . '/languages' );
-
- /**
- * Theme Support
- */
-
- // Gutenberg wide images.
- add_theme_support( 'align-wide' );
-
- // Add default posts and comments RSS feed links to head.
- add_theme_support( 'automatic-feed-links' );
-
- // Let WordPress manage the document title.
- add_theme_support( 'title-tag' );
-
- // Enable support for Post Thumbnails on posts and pages.
- add_theme_support( 'post-thumbnails' );
-
- // Switch default core markup for search form, comment form, and comments.
- // to output valid HTML5.
- // Added a new value in HTML5 array 'navigation-widgets' as this was introduced in WP5.5 for better accessibility.
- add_theme_support(
- 'html5',
- array(
- 'navigation-widgets',
- 'search-form',
- 'gallery',
- 'caption',
- 'style',
- 'script',
- )
- );
-
- // Post formats.
- add_theme_support(
- 'post-formats',
- array(
- 'gallery',
- 'image',
- 'link',
- 'quote',
- 'video',
- 'audio',
- 'status',
- 'aside',
- )
- );
-
- // Add theme support for Custom Logo.
- add_theme_support(
- 'custom-logo',
- array(
- 'width' => 180,
- 'height' => 60,
- 'flex-width' => true,
- 'flex-height' => true,
- )
- );
-
- // Customize Selective Refresh Widgets.
- add_theme_support( 'customize-selective-refresh-widgets' );
-
- /**
- * This theme styles the visual editor to resemble the theme style,
- * specifically font, colors, icons, and column width.
- */
- /* Directory and Extension */
- $dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified';
- $file_prefix = ( SCRIPT_DEBUG ) ? '' : '.min';
- if ( apply_filters( 'astra_theme_editor_style', true ) ) {
- add_editor_style( 'assets/css/' . $dir_name . '/editor-style' . $file_prefix . '.css' );
- }
-
- if ( apply_filters( 'astra_fullwidth_oembed', true ) ) {
- // Filters the oEmbed process to run the responsive_oembed_wrapper() function.
- add_filter( 'embed_oembed_html', array( $this, 'responsive_oembed_wrapper' ), 10, 3 );
- }
-
- // WooCommerce.
- add_theme_support( 'woocommerce' );
-
- // Rank Math Breadcrumb.
- add_theme_support( 'rank-math-breadcrumbs' );
-
- // Native AMP Support.
- if ( true === apply_filters( 'astra_amp_support', true ) ) {
- add_theme_support(
- 'amp',
- apply_filters(
- 'astra_amp_theme_features',
- array(
- 'paired' => true,
- )
- )
- );
- }
-
- }
-
- /**
- * Set the $content_width global variable used by WordPress to set image dimennsions.
- *
- * @since 1.5.5
- * @return void
- */
- public function setup_content_width() {
- global $content_width;
-
- /**
- * Content Width
- */
- if ( ! isset( $content_width ) ) {
-
- if ( is_home() || is_post_type_archive( 'post' ) ) {
- $blog_width = astra_get_option( 'blog-width' );
-
- if ( 'custom' === $blog_width ) {
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'blog-max-width', 1200 ) );
- } else {
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
- }
- } elseif ( is_single() ) {
-
- if ( 'post' === get_post_type() ) {
- $single_post_max = astra_get_option( 'blog-single-width' );
-
- if ( 'custom' === $single_post_max ) {
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'blog-single-max-width', 1200 ) );
- } else {
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
- }
- }
-
- // For custom post types set the global content width.
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
- } else {
- $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
- }
- }
-
- }
-
- /**
- * Adds a responsive embed wrapper around oEmbed content
- *
- * @param string $html The oEmbed markup.
- * @param string $url The URL being embedded.
- * @param array $attr An array of attributes.
- *
- * @return string Updated embed markup.
- */
- public function responsive_oembed_wrapper( $html, $url, $attr ) {
-
- $add_astra_oembed_wrapper = apply_filters( 'astra_responsive_oembed_wrapper_enable', true );
-
- $allowed_providers = apply_filters(
- 'astra_allowed_fullwidth_oembed_providers',
- array(
- 'vimeo.com',
- 'youtube.com',
- 'youtu.be',
- 'wistia.com',
- 'wistia.net',
- )
- );
-
- if ( astra_strposa( $url, $allowed_providers ) ) {
- if ( $add_astra_oembed_wrapper ) {
- $html = ( '' !== $html ) ? '<div class="ast-oembed-container">' . $html . '</div>' : '';
- }
- }
-
- return $html;
- }
- }
-}
-
-/**
- * Kicking this off by calling 'get_instance()' method
- */
-Astra_After_Setup_Theme::get_instance();
+<?php
+/**
+ * Astra functions and definitions.
+ * Text Domain: astra
+ * When using a child theme (see https://codex.wordpress.org/Theme_Development
+ * and https://codex.wordpress.org/Child_Themes), you can override certain
+ * functions (those wrapped in a function_exists() call) by defining them first
+ * in your child theme's functions.php file. The child theme's functions.php
+ * file is included before the parent theme's file, so the child theme
+ * functions would be used.
+ *
+ * For more information on hooks, actions, and filters,
+ * see https://codex.wordpress.org/Plugin_API
+ *
+ * Astra is a very powerful theme and virtually anything can be customized
+ * via a child theme.
+ *
+ * @package Astra
+ * @author Astra
+ * @copyright Copyright (c) 2020, Astra
+ * @link https://wpastra.com/
+ * @since Astra 1.0.0
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+ exit; // Exit if accessed directly.
+}
+
+/**
+ * Astra_After_Setup_Theme initial setup
+ *
+ * @since 1.0.0
+ */
+if ( ! class_exists( 'Astra_After_Setup_Theme' ) ) {
+
+ /**
+ * Astra_After_Setup_Theme initial setup
+ */
+ class Astra_After_Setup_Theme {
+
+ /**
+ * Instance
+ *
+ * @var $instance
+ */
+ private static $instance;
+
+ /**
+ * Initiator
+ *
+ * @since 1.0.0
+ * @return object
+ */
+ public static function get_instance() {
+ if ( ! isset( self::$instance ) ) {
+ self::$instance = new self();
+ }
+ return self::$instance;
+ }
+
+ /**
+ * Constructor
+ */
+ public function __construct() {
+ add_action( 'after_setup_theme', array( $this, 'setup_theme' ), 2 );
+ add_action( 'wp', array( $this, 'setup_content_width' ) );
+ }
+
+ /**
+ * Setup theme
+ *
+ * @since 1.0.0
+ */
+ public function setup_theme() {
+
+ do_action( 'astra_class_loaded' );
+
+ /**
+ * Make theme available for translation.
+ * Translations can be filed in the /languages/ directory.
+ * If you're building a theme based on Next, use a find and replace
+ * to change 'astra' to the name of your theme in all the template files.
+ */
+ load_theme_textdomain( 'astra', ASTRA_THEME_DIR . '/languages' );
+
+ /**
+ * Theme Support
+ */
+
+ // Gutenberg wide images.
+ add_theme_support( 'align-wide' );
+
+ // Add default posts and comments RSS feed links to head.
+ add_theme_support( 'automatic-feed-links' );
+
+ // Let WordPress manage the document title.
+ add_theme_support( 'title-tag' );
+
+ // Enable support for Post Thumbnails on posts and pages.
+ add_theme_support( 'post-thumbnails' );
+
+ // Switch default core markup for search form, comment form, and comments.
+ // to output valid HTML5.
+ // Added a new value in HTML5 array 'navigation-widgets' as this was introduced in WP5.5 for better accessibility.
+ add_theme_support(
+ 'html5',
+ array(
+ 'navigation-widgets',
+ 'search-form',
+ 'gallery',
+ 'caption',
+ 'style',
+ 'script',
+ )
+ );
+
+ // Post formats.
+ add_theme_support(
+ 'post-formats',
+ array(
+ 'gallery',
+ 'image',
+ 'link',
+ 'quote',
+ 'video',
+ 'audio',
+ 'status',
+ 'aside',
+ )
+ );
+
+ // Add theme support for Custom Logo.
+ add_theme_support(
+ 'custom-logo',
+ array(
+ 'width' => 180,
+ 'height' => 60,
+ 'flex-width' => true,
+ 'flex-height' => true,
+ )
+ );
+
+ // Customize Selective Refresh Widgets.
+ add_theme_support( 'customize-selective-refresh-widgets' );
+
+ /**
+ * This theme styles the visual editor to resemble the theme style,
+ * specifically font, colors, icons, and column width.
+ */
+ /* Directory and Extension */
+ $dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified';
+ $file_prefix = ( SCRIPT_DEBUG ) ? '' : '.min';
+ if ( apply_filters( 'astra_theme_editor_style', true ) ) {
+ add_editor_style( 'assets/css/' . $dir_name . '/editor-style' . $file_prefix . '.css' );
+ }
+
+ if ( apply_filters( 'astra_fullwidth_oembed', true ) ) {
+ // Filters the oEmbed process to run the responsive_oembed_wrapper() function.
+ add_filter( 'embed_oembed_html', array( $this, 'responsive_oembed_wrapper' ), 10, 3 );
+ }
+
+ // WooCommerce.
+ add_theme_support( 'woocommerce' );
+
+ // Rank Math Breadcrumb.
+ add_theme_support( 'rank-math-breadcrumbs' );
+
+ // Native AMP Support.
+ if ( true === apply_filters( 'astra_amp_support', true ) ) {
+ add_theme_support(
+ 'amp',
+ apply_filters(
+ 'astra_amp_theme_features',
+ array(
+ 'paired' => true,
+ )
+ )
+ );
+ }
+
+ }
+
+ /**
+ * Set the $content_width global variable used by WordPress to set image dimennsions.
+ *
+ * @since 1.5.5
+ * @return void
+ */
+ public function setup_content_width() {
+ global $content_width;
+
+ /**
+ * Content Width
+ */
+ if ( ! isset( $content_width ) ) {
+
+ if ( is_home() || is_post_type_archive( 'post' ) ) {
+ $blog_width = astra_get_option( 'blog-width' );
+
+ if ( 'custom' === $blog_width ) {
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'blog-max-width', 1200 ) );
+ } else {
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
+ }
+ } elseif ( is_single() ) {
+
+ if ( 'post' === get_post_type() ) {
+ $single_post_max = astra_get_option( 'blog-single-width' );
+
+ if ( 'custom' === $single_post_max ) {
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'blog-single-max-width', 1200 ) );
+ } else {
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
+ }
+ }
+
+ // For custom post types set the global content width.
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
+ } else {
+ $content_width = apply_filters( 'astra_content_width', astra_get_option( 'site-content-width', 1200 ) );
+ }
+ }
+
+ }
+
+ /**
+ * Adds a responsive embed wrapper around oEmbed content
+ *
+ * @param string $html The oEmbed markup.
+ * @param string $url The URL being embedded.
+ * @param array $attr An array of attributes.
+ *
+ * @return string Updated embed markup.
+ */
+ public function responsive_oembed_wrapper( $html, $url, $attr ) {
+
+ $add_astra_oembed_wrapper = apply_filters( 'astra_responsive_oembed_wrapper_enable', true );
+
+ $allowed_providers = apply_filters(
+ 'astra_allowed_fullwidth_oembed_providers',
+ array(
+ 'vimeo.com',
+ 'youtube.com',
+ 'youtu.be',
+ 'wistia.com',
+ 'wistia.net',
+ )
+ );
+
+ if ( astra_strposa( $url, $allowed_providers ) ) {
+ if ( $add_astra_oembed_wrapper ) {
+ $html = ( '' !== $html ) ? '<div class="ast-oembed-container">' . $html . '</div>' : '';
+ }
+ }
+
+ return $html;
+ }
+ }
+}
+
+/**
+ * Kicking this off by calling 'get_instance()' method
+ */
+Astra_After_Setup_Theme::get_instance();