oont-contents/themes/astra/inc/core/markup/class-astra-markup.php
2025-02-08 15:10:23 +01:00

337 lines
9.7 KiB
PHP

<?php
/**
* Astra Generate Markup Class.
*
* @package Astra
* @link https://wpastra.com/
* @since Astra 3.3.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Class Astra_Attr
*/
class Astra_Markup {
/**
* Initialuze the Class.
*
* @since 3.3.0
*/
public function __construct() {
if ( ! Astra_Builder_Helper::apply_flex_based_css() ) {
// Add filters here.
add_filter( 'astra_markup_footer-widget-div_open', array( $this, 'footer_widget_div_open' ) );
add_filter( 'astra_markup_footer-widget-div_close', array( $this, 'footer_widget_div_close' ) );
add_filter( 'astra_markup_header-widget-div_open', array( $this, 'header_widget_div_open' ) );
add_filter( 'astra_markup_header-widget-div_close', array( $this, 'footer_widget_div_close' ) );
add_filter( 'astra_markup_comment-count-wrapper_open', array( $this, 'comment_count_wrapper_open' ) );
add_filter( 'astra_markup_comment-count-wrapper_close', array( $this, 'comment_count_wrapper_close' ) );
add_filter( 'astra_markup_ast-comment-data-wrap_open', array( $this, 'ast_comment_data_wrap_open' ) );
add_filter( 'astra_markup_ast-comment-data-wrap_close', array( $this, 'ast_comment_data_wrap_close' ) );
add_filter( 'astra_markup_ast-comment-meta-wrap_open', array( $this, 'ast_comment_meta_wrap_open' ) );
add_filter( 'astra_markup_ast-comment-meta-wrap_close', array( $this, 'ast_comment_meta_wrap_close' ) );
add_filter( 'astra_attr_ast-comment-time_output', array( $this, 'ast_comment_time_attr' ) );
add_filter( 'astra_attr_ast-comment-cite-wrap_output', array( $this, 'ast_comment_cite_wrap_attr' ) );
}
add_filter( 'astra_attr_comment-form-grid-class_output', array( $this, 'comment_form_grid_class' ) );
add_filter( 'astra_attr_header-widget-area-inner', array( $this, 'header_widget_area_inner' ) );
add_filter( 'astra_attr_footer-widget-area-inner', array( $this, 'footer_widget_area_inner' ) );
add_filter( 'astra_attr_ast-grid-lg-12_output', array( $this, 'ast_grid_lg_12' ) );
add_filter( 'astra_attr_ast-grid-common-col_output', array( $this, 'ast_grid_common_css' ) );
add_filter( 'astra_attr_ast-grid-blog-col_output', array( $this, 'ast_grid_blog_col' ) );
add_filter( 'astra_attr_ast-blog-col_output', array( $this, 'ast_blog_common_css' ) );
add_filter( 'astra_attr_ast-grid-col-6_output', array( $this, 'ast_grid_col_6' ) );
add_filter( 'astra_attr_ast-layout-4-grid_output', array( $this, 'ast_layout_4_grid' ) );
add_filter( 'astra_attr_ast-layout-1-grid_output', array( $this, 'ast_layout_1_grid' ) );
add_filter( 'astra_attr_ast-layout-2-grid_output', array( $this, 'ast_layout_2_grid' ) );
add_filter( 'astra_attr_ast-layout-3-grid_output', array( $this, 'ast_layout_3_grid' ) );
add_filter( 'astra_attr_ast-layout-5-grid_output', array( $this, 'ast_layout_5_grid' ) );
add_filter( 'astra_attr_ast-layout-6-grid_output', array( $this, 'ast_layout_6_grid' ) );
}
/**
* Comment count wrapper opening div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function comment_count_wrapper_open( $args ) {
$args['open'] = '<div %s>';
$args['attrs'] = array( 'class' => 'comments-count-wrapper' );
return $args;
}
/**
* Comment count wrapper closing div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function comment_count_wrapper_close( $args ) {
$args['close'] = '</div>';
return $args;
}
/**
* Comment data wrapper opening div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function ast_comment_data_wrap_open( $args ) {
$args['open'] = '<div %s>';
$args['attrs'] = array( 'class' => 'ast-comment-data-wrap' );
return $args;
}
/**
* Comment data wrapper closing div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function ast_comment_data_wrap_close( $args ) {
$args['close'] = '</div>';
return $args;
}
/**
* Comment meta wrapper opening div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function ast_comment_meta_wrap_open( $args ) {
$args['open'] = '<div %s>';
$args['attrs'] = array( 'class' => 'ast-comment-meta-wrap' );
return $args;
}
/**
* Comment meta wrapper closing div.
*
* @param array $args markup arguments.
* @since 3.3.0
* @return array.
*/
public function ast_comment_meta_wrap_close( $args ) {
$args['close'] = '</div>';
return $args;
}
/**
* Comment time div attributes.
*
* @since 3.3.0
* @return string.
*/
public function ast_comment_time_attr() {
return 'class = "ast-comment-time ast-col-lg-12" ';
}
/**
* Comment cite wrapper div attributes.
*
* @since 3.3.0
* @return string.
*/
public function ast_comment_cite_wrap_attr() {
return 'class = "ast-comment-cite-wrap ast-col-lg-12" ';
}
/**
* We have removed grid css and make common css for grid style.
*
* @since 3.3.0
* @return string.
*/
public function ast_grid_common_css() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-md-12';
}
/**
* Blog content Grid CSS.
*
* @since 3.3.0
* @return string.
*/
public function ast_grid_blog_col() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-float' : 'ast-col-md-12';
}
/**
* We have removed grid css and make common css for grid style.
*
* @since 3.3.0
* @return string.
*/
public function ast_blog_common_css() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-full-width' : 'ast-col-sm-12';
}
/**
* Removed grid layout classes and make common class for same style.
*
* @since 3.3.0
* @return string.
*/
public function ast_grid_col_6() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-width-md-6' : 'ast-col-md-6';
}
/**
* Comment form grid classes.
*
* @since 3.3.0
* @return string.
*/
public function comment_form_grid_class() {
return ( Astra_Builder_Helper::apply_flex_based_css() ) ? 'ast-grid-common-col ast-width-lg-33 ast-width-md-4 ast-float' : 'ast-col-xs-12 ast-col-sm-12 ast-col-md-4 ast-col-lg-4';
}
/**
* Removed grid layout classes and make common class for same style
*
* @since 3.3.0
* @return string.
*/
public function ast_grid_lg_12() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-lg-12';
}
/**
* Layout-4 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_4_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-sm-25 ast-width-md-3 ast-float ast-full-width' : 'ast-col-lg-3 ast-col-md-3 ast-col-sm-12 ast-col-xs-12';
}
/**
* Layout-2 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_2_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-6 ast-full-width' : 'ast-col-lg-6 ast-col-md-6 ast-col-sm-12 ast-col-xs-12';
}
/**
* Layout-1 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_1_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col' : 'ast-col-lg-12 ast-col-md-12 ast-col-sm-12 ast-col-xs-12';
}
/**
* Layout-3 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_3_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-4 ast-float ast-full-width' : 'ast-col-lg-4 ast-col-md-4 ast-col-sm-12 ast-col-xs-12';
}
/**
* Layout-5 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_5_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-16 ast-width-md-20 ast-float ast-full-width' : 'ast-col-lg-2 ast-col-md-2 ast-col-sm-12 ast-col-xs-12';
}
/**
* Layout-6 grid css backward comaptibility.
*
* @return string.
*/
public function ast_layout_6_grid() {
return Astra_Builder_Helper::apply_flex_based_css() ? 'ast-grid-common-col ast-width-md-6 ast-width-lg-50 ast-float ast-full-width' : 'ast-col-lg-6 ast-col-md-6 ast-col-sm-12 ast-col-xs-12';
}
/**
* Footer widget opening div.
*
* @since 3.3.0
* @param array $args div attributes.
* @return array.
*/
public function footer_widget_div_open( $args ) {
$args['open'] = '<div %s>';
$args['attrs'] = array( 'class' => 'footer-widget-area-inner site-info-inner' );
return $args;
}
/**
* Footer widget closing div.
*
* @since 3.3.0
* @param array $args div attributes.
* @return array.
*/
public function footer_widget_div_close( $args ) {
$args['close'] = '</div>';
return $args;
}
/**
* Footer widget inner class.
*
* @param array $args attributes.
* @since 3.3.0
* @return string.
*/
public function footer_widget_area_inner( $args ) {
if ( Astra_Builder_Helper::apply_flex_based_css() ) {
$args['class'] = $args['class'] . ' footer-widget-area-inner';
}
return $args;
}
/**
* Header widget inner class.
*
* @param array $args Attributes.
* @since 3.3.0
* @return string.
*/
public function header_widget_area_inner( $args ) {
if ( Astra_Builder_Helper::apply_flex_based_css() ) {
$args['class'] = $args['class'] . ' header-widget-area-inner';
}
return $args;
}
/**
* Footer widget opening div.
*
* @since 3.3.0
* @param array $args div attributes.
* @return array.
*/
public function header_widget_div_open( $args ) {
$args['open'] = '<div %s>';
$args['attrs'] = array( 'class' => 'header-widget-area-inner site-info-inner' );
return $args;
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
new Astra_Markup();