Version;
return $graphene_settings;
}
add_filter( 'graphene_settings', 'graphene_scripts_version' );
/**
* Print the stylesheets
*/
function graphene_enqueue_scripts(){
global $graphene_settings;
$version = $graphene_settings['scripts_ver'];
/* Enqueue scripts */
wp_enqueue_script( 'bootstrap', GRAPHENE_ROOTURI . '/bootstrap/js/bootstrap.min.js', array( 'jquery' ), $version );
wp_enqueue_script( 'bootstrap-hover-dropdown', GRAPHENE_ROOTURI . '/js/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js', array( 'jquery', 'bootstrap' ), $version );
wp_enqueue_script( 'bootstrap-submenu', GRAPHENE_ROOTURI . '/js/bootstrap-submenu/bootstrap-submenu.min.js', array( 'jquery', 'bootstrap' ), $version );
wp_enqueue_script( 'infinite-scroll', GRAPHENE_ROOTURI . '/js/jquery.infinitescroll.min.js', array( 'jquery' ), $version );
if ( ( get_option( 'thread_comments' ) == 1 ) ) wp_enqueue_script( 'comment-reply' );
wp_enqueue_script( 'graphene', GRAPHENE_ROOTURI . '/js/graphene.js', array( 'bootstrap', 'infinite-scroll' ), $version );
/* Enqueue styles */
wp_enqueue_style( 'bootstrap', GRAPHENE_ROOTURI . '/bootstrap/css/bootstrap.min.css' );
wp_enqueue_style( 'font-awesome', GRAPHENE_ROOTURI . '/fonts/font-awesome/css/font-awesome.min.css', array() );
wp_enqueue_style( 'graphene', get_stylesheet_uri(), array( 'bootstrap', 'font-awesome' ), $version, 'screen' );
wp_enqueue_style( 'graphene-responsive', GRAPHENE_ROOTURI . '/responsive.css', array( 'bootstrap', 'font-awesome', 'graphene' ), $version );
if ( is_rtl() ) {
wp_enqueue_style( 'bootstrap-rtl', GRAPHENE_ROOTURI . '/bootstrap-rtl/bootstrap-rtl.min.css', array( 'bootstrap' ), $version );
wp_enqueue_style( 'graphene-rtl', GRAPHENE_ROOTURI . '/style-rtl.css', array( 'graphene' ), $version );
wp_enqueue_style( 'graphene-responsive-rtl',GRAPHENE_ROOTURI . '/responsive-rtl.css', array( 'bootstrap-rtl', 'graphene' ), $version, 'screen' );
}
if ( is_singular() && $graphene_settings['print_css'] )
wp_enqueue_style( 'graphene-print', GRAPHENE_ROOTURI . '/style-print.css', array( 'graphene' ), $version, 'print' );
wp_enqueue_style( 'graphene-blocks', GRAPHENE_ROOTURI . '/blocks.css', array( 'graphene-responsive' ), $version );
}
add_action( 'wp_enqueue_scripts', 'graphene_enqueue_scripts' );
/**
* Enqueue block editor scripts
*/
function graphene_enqueue_block_editor_assets(){
global $graphene_settings;
$version = $graphene_settings['scripts_ver'];
wp_enqueue_style( 'graphene-blocks', GRAPHENE_ROOTURI . '/blocks.css', array(), $version );
wp_enqueue_style( 'graphene-editor-blocks', GRAPHENE_ROOTURI . '/admin/editor-blocks.css', array( 'graphene-blocks' ), $version );
wp_enqueue_script( 'graphene-editor-blocks', GRAPHENE_ROOTURI . '/admin/editor-blocks.js', array( 'jquery' ), $version );
wp_localize_script( 'graphene-editor-blocks', 'grapheneEditorJs', array(
'contentWidth' => graphene_get_content_width() + 45,
'widthOneCol' => graphene_grid_width( 45, 12 ),
'widthTwoCol' => graphene_grid_width( 45, $graphene_settings['column_width']['two_col']['content'] ),
'widthThreeCol' => graphene_grid_width( 45, $graphene_settings['column_width']['three_col']['content'] ),
) );
}
add_action( 'enqueue_block_editor_assets', 'graphene_enqueue_block_editor_assets' );
/**
* Defer scripts loading if no caching plugin is used
*/
function graphene_defer_enqueued_scripts( $tag, $handle, $src ){
if ( defined( 'WP_CACHE' ) ) {
if ( WP_CACHE ) return $tag;
}
$scripts = array(
// 'jquery-migrate',
'bootstrap',
'bootstrap-hover-dropdown',
'bootstrap-submenu',
'infinite-scroll',
'comment-reply',
'graphene',
'graphene-editor-blocks',
'graphene-bbpress',
'jquery-autocomplete',
'masonry'
);
$scripts = apply_filters( 'graphene_defer_enqueued_scripts', $scripts );
if ( ! in_array( $handle, $scripts ) ) return $tag;
return str_replace( '
'400,400i,700,700i',
) );
if ( ! $local_fonts ) return $fonts;
$fonts['family'] = str_replace( 'regular', '400', $fonts['family'] );
$fonts['family'] = str_replace( 'italic', 'i', $fonts['family'] );
$fonts['family'] = str_replace( ',i', ',400i', $fonts['family'] );
/* Print scripts for locally-hosted fonts */
$css = '';
$font_families = explode( '|', $fonts['family'] );
foreach ( $font_families as $i => $font ) {
$font = explode( ':', $font );
$family = $font[0];
$variants = $font[1];
if ( isset( $local_fonts[$family] ) && $local_fonts[$family] == $variants ) {
unset( $font_families[$i] );
foreach ( explode( ',', $variants ) as $variant ) {
$style = ( stripos( $variant, 'i' ) === 3 ) ? 'italic' : 'normal';
$weight = str_replace( 'i', '', $variant );
$name = $family;
if ( $weight == 700 ) $name .= ' Bold';
if ( $style == 'italic' ) $name .= ' Italic';
if ( $weight == 400 && $style == 'normal' ) $name .= ' Regular';
$name_hyphened = str_replace( ' ', '-', $name );
$filename = GRAPHENE_ROOTURI . '/fonts/' . $family . '/' . $family . '-';
if ( $weight == 700 ) $filename .= 'Bold';
if ( $style == 'italic' ) $filename .= 'Italic';
if ( $weight == 400 && $style == 'normal' ) $filename .= 'Regular';
$filename .= '.woff2';
$css .= "@font-face {
font-family: '$family';
font-style: $style;
font-weight: $weight;
src: local('$name'), local('$name_hyphened'), url($filename) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: swap;
}";
}
}
}
/* Print the stylesheet */
if ( $css ) echo '' . "\n";
/* Load locally-unavailable fonts from Google */
$fonts['family'] = implode( ',', $font_families );
return $fonts;
}
add_filter( 'graphene_google_fonts', 'graphene_google_fonts_local', 20 );
/**
* Ensure correct ordering of stylesheets when using a child theme
* @since Graphene 2.0.3
*/
function graphene_child_stylesheets_order(){
global $wp_styles;
if ( ! $wp_styles->registered ) return;
$child_stylesheet = get_stylesheet_uri();
if ( $child_stylesheet == GRAPHENE_ROOTURI . '/style.css' ) return;
$parent_theme = wp_get_theme( basename( GRAPHENE_ROOTDIR ) );
$parent_stylesheet = basename( GRAPHENE_ROOTURI ) . '/style.css';
foreach ( $wp_styles->registered as $handle => $script ) {
if ( stripos( $script->src, $parent_stylesheet ) !== false ) {
$wp_styles->registered[$handle]->deps = array_merge( $script->deps, array( 'bootstrap', 'font-awesome' ) );
$wp_styles->registered[$handle]->ver = $parent_theme->Version;
$parent_handle = $handle;
}
if ( $script->src === $child_stylesheet ) $child_handles[] = $handle;
}
foreach ( $child_handles as $handle ){
if ( count( $child_handles ) > 1 && $handle === 'graphene' ) {
unset( $wp_styles->registered['graphene'] );
continue;
}
if ( isset( $parent_handle ) ) {
$wp_styles->registered[$handle]->deps[] = $parent_handle;
$wp_styles->registered[$handle]->deps = array_unique( $wp_styles->registered[$handle]->deps );
}
}
}
add_action( 'wp_enqueue_scripts', 'graphene_child_stylesheets_order', 100 );