Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d925911261 | |||
| c06b2e25ba | |||
| 4424799bb0 | |||
| 40001ac757 | |||
| 1fc6cd3009 | |||
| 84fdfe85ac | |||
| a44fe2958e | |||
| fdbc8c30c7 |
@@ -0,0 +1,12 @@
|
|||||||
|
:root {
|
||||||
|
--site-title-color: #f7f7fa;
|
||||||
|
--primary-color: #f7f7fa;
|
||||||
|
--secondary-color: #f7f7fa;
|
||||||
|
--light-color: #1e1f29;
|
||||||
|
--grey-color: #f7f7fa;
|
||||||
|
--dark-color: #f7f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #1e1f29;
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/* =========================
|
||||||
|
Typography System (Static)
|
||||||
|
========================= */
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--primary-font: 'Oswald', sans-serif;
|
||||||
|
--secondary-font: 'Roboto', sans-serif;
|
||||||
|
|
||||||
|
--site-identity-font-size: 40px;
|
||||||
|
--font-weight: 400;
|
||||||
|
--line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Base */
|
||||||
|
body {
|
||||||
|
font-family: var(--secondary-font);
|
||||||
|
font-weight: var(--font-weight);
|
||||||
|
line-height: var(--line-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Headlines */
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
.entry-title {
|
||||||
|
font-family: var(--primary-font);
|
||||||
|
font-weight: var(--font-weight);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Site Title */
|
||||||
|
.site-title,
|
||||||
|
.site-title a {
|
||||||
|
font-family: var(--primary-font);
|
||||||
|
font-size: var(--site-identity-font-size);
|
||||||
|
font-weight: var(--font-weight);
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
+68
-80
@@ -18,7 +18,6 @@ if ( ! defined( 'DAISY_BLOG_VERSION' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
require get_template_directory() . '/inc/zeitfresser-helpers.php';
|
require get_template_directory() . '/inc/zeitfresser-helpers.php';
|
||||||
require get_template_directory() . '/inc/legacy-aliases.php';
|
|
||||||
require get_template_directory() . '/inc/performance-tools.php';
|
require get_template_directory() . '/inc/performance-tools.php';
|
||||||
require get_template_directory() . '/inc/zeitfresser-toc.php';
|
require get_template_directory() . '/inc/zeitfresser-toc.php';
|
||||||
|
|
||||||
@@ -45,16 +44,6 @@ function zeitfresser_setup() {
|
|||||||
'script',
|
'script',
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
add_theme_support(
|
|
||||||
'custom-background',
|
|
||||||
apply_filters(
|
|
||||||
'zeitfresser_custom_background_args',
|
|
||||||
array(
|
|
||||||
'default-image' => '',
|
|
||||||
'default-color' => zeitfresser_get_default_background_color(),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
add_theme_support( 'customize-selective-refresh-widgets' );
|
add_theme_support( 'customize-selective-refresh-widgets' );
|
||||||
add_theme_support(
|
add_theme_support(
|
||||||
'custom-logo',
|
'custom-logo',
|
||||||
@@ -151,7 +140,21 @@ function zeitfresser_scripts() {
|
|||||||
array(),
|
array(),
|
||||||
zeitfresser_asset_version( '/style.css' )
|
zeitfresser_asset_version( '/style.css' )
|
||||||
);
|
);
|
||||||
wp_style_add_data( 'zeitfresser', 'rtl', 'replace' );
|
|
||||||
|
/**
|
||||||
|
* Load RTL stylesheet from /css folder
|
||||||
|
*/
|
||||||
|
function zeitfresser_rtl_styles() {
|
||||||
|
if ( is_rtl() ) {
|
||||||
|
wp_enqueue_style(
|
||||||
|
'zeitfresser-rtl',
|
||||||
|
get_template_directory_uri() . '/css/style-rtl.css',
|
||||||
|
array('zeitfresser'),
|
||||||
|
filemtime(get_template_directory() . '/css/style-rtl.css')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add_action('wp_enqueue_scripts', 'zeitfresser_rtl_styles', 11);
|
||||||
|
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'zeitfresser-navigation',
|
'zeitfresser-navigation',
|
||||||
@@ -183,7 +186,45 @@ function zeitfresser_scripts() {
|
|||||||
wp_enqueue_script( 'comment-reply' );
|
wp_enqueue_script( 'comment-reply' );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_scripts' );
|
|
||||||
|
function zeitfresser_enqueue_static_colors() {
|
||||||
|
wp_enqueue_style(
|
||||||
|
'zeitfresser-colors',
|
||||||
|
get_template_directory_uri() . '/css/colors.css',
|
||||||
|
array('zeitfresser'),
|
||||||
|
file_exists(get_template_directory() . '/css/colors.css')
|
||||||
|
? filemtime(get_template_directory() . '/css/colors.css')
|
||||||
|
: ZEITFRESSER_VERSION
|
||||||
|
);
|
||||||
|
}
|
||||||
|
add_action( 'wp_enqueue_scripts', 'zeitfresser_enqueue_static_colors', 20 );
|
||||||
|
|
||||||
|
add_action( 'wp_enqueue_scripts', 'zeitfresser_scripts', 10 );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load Google Fonts (required for static font setup)
|
||||||
|
*/
|
||||||
|
function zeitfresser_enqueue_google_fonts() {
|
||||||
|
wp_enqueue_style(
|
||||||
|
'zeitfresser-google-fonts',
|
||||||
|
'https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap',
|
||||||
|
array(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
add_action('wp_enqueue_scripts', 'zeitfresser_enqueue_google_fonts');
|
||||||
|
|
||||||
|
function zeitfresser_enqueue_static_fonts() {
|
||||||
|
wp_enqueue_style(
|
||||||
|
'zeitfresser-fonts',
|
||||||
|
get_template_directory_uri() . '/css/fonts.css',
|
||||||
|
array(),
|
||||||
|
file_exists(get_template_directory() . '/css/fonts.css')
|
||||||
|
? filemtime(get_template_directory() . '/css/fonts.css')
|
||||||
|
: ZEITFRESSER_VERSION
|
||||||
|
);
|
||||||
|
}
|
||||||
|
add_action( 'wp_enqueue_scripts', 'zeitfresser_enqueue_static_fonts', 15 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Theme package marker kept for compatibility with the original premium controls.
|
* Theme package marker kept for compatibility with the original premium controls.
|
||||||
@@ -194,7 +235,6 @@ function zeitfresser_free_pro() {
|
|||||||
return 'pro';
|
return 'pro';
|
||||||
}
|
}
|
||||||
|
|
||||||
require get_template_directory() . '/inc/custom-header.php';
|
|
||||||
require get_template_directory() . '/inc/template-tags.php';
|
require get_template_directory() . '/inc/template-tags.php';
|
||||||
require get_template_directory() . '/inc/template-functions.php';
|
require get_template_directory() . '/inc/template-functions.php';
|
||||||
require get_template_directory() . '/inc/customizer.php';
|
require get_template_directory() . '/inc/customizer.php';
|
||||||
@@ -204,22 +244,8 @@ if ( defined( 'JETPACK__VERSION' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
require get_template_directory() . '/inc/blocks/blocks.php';
|
require get_template_directory() . '/inc/blocks/blocks.php';
|
||||||
require get_template_directory() . '/inc/graphthemes-widgets/graphthemes-widgets.php';
|
|
||||||
require get_template_directory() . '/inc/pagination.php';
|
require get_template_directory() . '/inc/pagination.php';
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove duplicate local Google font generation to avoid unnecessary footer CSS.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function zeitfresser_disable_duplicate_local_fonts() {
|
|
||||||
remove_action( 'wp_loaded', 'zeitfresser_google_font_local' );
|
|
||||||
}
|
|
||||||
add_action( 'after_setup_theme', 'zeitfresser_disable_duplicate_local_fonts', 20 );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add safe front-end performance optimizations.
|
* Add safe front-end performance optimizations.
|
||||||
*
|
*
|
||||||
@@ -254,6 +280,20 @@ function zeitfresser_cleanup_wp_head() {
|
|||||||
}
|
}
|
||||||
add_action( 'init', 'zeitfresser_cleanup_wp_head' );
|
add_action( 'init', 'zeitfresser_cleanup_wp_head' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ensure Google Fonts domains are allowed and preconnected
|
||||||
|
*/
|
||||||
|
add_filter('wp_resource_hints', function($urls, $relation_type) {
|
||||||
|
if ($relation_type === 'preconnect') {
|
||||||
|
$urls[] = 'https://fonts.googleapis.com';
|
||||||
|
$urls[] = array(
|
||||||
|
'href' => 'https://fonts.gstatic.com',
|
||||||
|
'crossorigin' => 'anonymous',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $urls;
|
||||||
|
}, 10, 2);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove front-end dashicons for visitors.
|
* Remove front-end dashicons for visitors.
|
||||||
*
|
*
|
||||||
@@ -266,58 +306,6 @@ function zeitfresser_maybe_dequeue_dashicons() {
|
|||||||
}
|
}
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_maybe_dequeue_dashicons', 100 );
|
add_action( 'wp_enqueue_scripts', 'zeitfresser_maybe_dequeue_dashicons', 100 );
|
||||||
|
|
||||||
/**
|
|
||||||
* Add resource hints for externally loaded fonts only when needed.
|
|
||||||
*
|
|
||||||
* @param array $urls URLs to print for resource hints.
|
|
||||||
* @param string $relation_type Hint relation type.
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function zeitfresser_resource_hints( $urls, $relation_type ) {
|
|
||||||
$uses_external_fonts = false;
|
|
||||||
|
|
||||||
if ( function_exists( 'zeitfresser_fonts_url' ) ) {
|
|
||||||
$uses_external_fonts = ! empty( zeitfresser_fonts_url( zeitfresser_used_google_fonts() ) ) && empty( zeitfresser_get_local_webfonts_css() );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $uses_external_fonts && 'preconnect' === $relation_type ) {
|
|
||||||
$urls[] = 'https://fonts.googleapis.com';
|
|
||||||
$urls[] = array(
|
|
||||||
'href' => 'https://fonts.gstatic.com',
|
|
||||||
'crossorigin' => 'anonymous',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $urls;
|
|
||||||
}
|
|
||||||
add_filter( 'wp_resource_hints', 'zeitfresser_resource_hints', 10, 2 );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Preload locally hosted webfont files once they are available.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function zeitfresser_preload_local_webfonts() {
|
|
||||||
if ( is_admin() || ! function_exists( 'zeitfresser_get_local_webfonts_css' ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$urls = zeitfresser_get_local_webfont_urls( zeitfresser_get_local_webfonts_css() );
|
|
||||||
|
|
||||||
if ( empty( $urls ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$urls = array_slice( $urls, 0, 4 );
|
|
||||||
|
|
||||||
foreach ( $urls as $url ) {
|
|
||||||
$type = ( '.woff2' === substr( $url, -6 ) ) ? 'font/woff2' : 'font/woff';
|
|
||||||
printf( "<link rel='preload' href='%s' as='font' type='%s' crossorigin>
|
|
||||||
", esc_url( $url ), esc_attr( $type ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
add_action( 'wp_head', 'zeitfresser_preload_local_webfonts', 2 );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Improve image decoding defaults without changing visual output.
|
* Improve image decoding defaults without changing visual output.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ require dirname( __FILE__ ) . '/includes/sanitize.php';
|
|||||||
require dirname( __FILE__ ) . '/includes/register-controls.php';
|
require dirname( __FILE__ ) . '/includes/register-controls.php';
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/site-identity/site-identity.php';
|
require dirname( __FILE__ ) . '/site-identity/site-identity.php';
|
||||||
require dirname( __FILE__ ) . '/colors/colors.php';
|
|
||||||
require dirname( __FILE__ ) . '/font-family/font-family.php';
|
|
||||||
require dirname( __FILE__ ) . '/font-customization/font-customization.php';
|
|
||||||
require dirname( __FILE__ ) . '/general/general.php';
|
require dirname( __FILE__ ) . '/general/general.php';
|
||||||
require dirname( __FILE__ ) . '/post-detail/post-detail.php';
|
require dirname( __FILE__ ) . '/post-detail/post-detail.php';
|
||||||
require dirname( __FILE__ ) . '/footer-copyright/footer-copyright.php';
|
require dirname( __FILE__ ) . '/footer-copyright/footer-copyright.php';
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_sticky_menu_background_color' );
|
|
||||||
function zeitfresser_sticky_menu_background_color() {
|
|
||||||
|
|
||||||
$bg_color = get_theme_mod( 'background_color', get_theme_support( 'custom-background', 'default-color' ) );
|
|
||||||
|
|
||||||
$dynamic_css = "body,.site-header{background:#$bg_color;}";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_dark_color' );
|
|
||||||
|
|
||||||
function zeitfresser_dark_color( $wp_customize ) {
|
|
||||||
$wp_customize->add_setting( 'dark_color', array(
|
|
||||||
'default' => zeitfresser_get_default_dark_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'dark_color', array(
|
|
||||||
'label' => esc_html__( 'Misc Colors', 'zeitfresser' ),
|
|
||||||
'section' => 'colors',
|
|
||||||
'settings' => 'dark_color',
|
|
||||||
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_dark_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_dark_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-dark-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-dark/customizer-color-dark.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('dark_color',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--dark-color', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_grey_color' );
|
|
||||||
|
|
||||||
function zeitfresser_grey_color( $wp_customize ) {
|
|
||||||
$wp_customize->add_setting( 'grey_color', array(
|
|
||||||
'default' => zeitfresser_get_default_grey_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'grey_color', array(
|
|
||||||
'label' => esc_html__( 'Soft Text Color', 'zeitfresser' ),
|
|
||||||
'section' => 'colors',
|
|
||||||
'settings' => 'grey_color',
|
|
||||||
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_grey_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_grey_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-grey-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-grey/customizer-color-grey.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('grey_color',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--grey-color', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_light_color' );
|
|
||||||
|
|
||||||
function zeitfresser_light_color( $wp_customize ) {
|
|
||||||
$wp_customize->add_setting( 'light_color', array(
|
|
||||||
'default' => zeitfresser_get_default_light_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'light_color', array(
|
|
||||||
'label' => esc_html__( 'Header Color', 'zeitfresser' ),
|
|
||||||
'section' => 'colors',
|
|
||||||
'settings' => 'light_color',
|
|
||||||
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_light_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_light_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-light-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-light/customizer-color-light.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('light_color',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--light-color', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_primary_color' );
|
|
||||||
function zeitfresser_primary_color( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'primary_color', array(
|
|
||||||
'default' => zeitfresser_get_default_primary_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'primary_color', array(
|
|
||||||
'label' => esc_html__( 'Menu / Title / Button Color', 'zeitfresser' ),
|
|
||||||
'section' => 'colors',
|
|
||||||
'settings' => 'primary_color',
|
|
||||||
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_primary_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_primary_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-primary-color-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-primary/customizer-color-primary.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('primary_color',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--primary-color', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_secondary_color' );
|
|
||||||
|
|
||||||
function zeitfresser_secondary_color( $wp_customize ) {
|
|
||||||
$wp_customize->add_setting( 'secondary_color', array(
|
|
||||||
'default' => zeitfresser_get_default_secondary_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'secondary_color', array(
|
|
||||||
'label' => esc_html__( 'Highlight Color', 'zeitfresser' ),
|
|
||||||
'section' => 'colors',
|
|
||||||
'settings' => 'secondary_color',
|
|
||||||
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_secondary_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_secondary_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-secondary-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-secondary/customizer-color-secondary.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('secondary_color',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--secondary-color', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_site_title_color' );
|
|
||||||
function zeitfresser_site_title_color( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'site_title_color_option', array(
|
|
||||||
'default' => zeitfresser_get_default_site_title_color(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'sanitize_hex_color',
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'site_title_color_option', array(
|
|
||||||
'label' => esc_html__( 'Site Identity Color', 'zeitfresser' ),
|
|
||||||
'section' => 'title_tagline',
|
|
||||||
'settings' => 'site_title_color_option',
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_site_title_color_enqueue_scripts' );
|
|
||||||
function zeitfresser_site_title_color_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-site-title-color-customizer', get_template_directory_uri() . '/inc/blocks/colors/color-site-title/customizer-color-site-title.js', array(), '', true );
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize( 'site_title_color_option', function( value ) {
|
|
||||||
value.bind( function( to ) {
|
|
||||||
$( '.site-title a' ).css( 'color', to );
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'after_setup_theme', function () {
|
|
||||||
add_theme_support( 'custom-header', array( 'header-text' => false ) );
|
|
||||||
} );
|
|
||||||
|
|
||||||
add_action('customize_register', 'zeitfresser_color_section');
|
|
||||||
function zeitfresser_color_section($wp_customize)
|
|
||||||
{
|
|
||||||
$wp_customize->get_section('colors')->title = esc_html__( "Color Options", 'zeitfresser' );
|
|
||||||
$wp_customize->get_section('colors')->priority = 21;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add Default Colors for Customizer Settings */
|
|
||||||
require dirname( __FILE__ ) . '/default-colors.php';
|
|
||||||
|
|
||||||
if( db_fs()->is__premium_only() ) {
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-site-title/color-site-title.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-primary/color-primary.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-secondary/color-secondary.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-light/color-light.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-grey/color-grey.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-dark/color-dark.php';
|
|
||||||
}
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/color-background/color-background.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/dynamic-colors.php';
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
/* Default Site Title Color */
|
|
||||||
function zeitfresser_get_default_site_title_color() {
|
|
||||||
return "#f7f7fa";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Primary Color */
|
|
||||||
function zeitfresser_get_default_primary_color() {
|
|
||||||
return "#f7f7fa";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Secondary Color */
|
|
||||||
function zeitfresser_get_default_secondary_color() {
|
|
||||||
return "#f7f7fa";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Light Color */
|
|
||||||
function zeitfresser_get_default_light_color() {
|
|
||||||
return "#1e1f29";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Grey Color */
|
|
||||||
function zeitfresser_get_default_grey_color() {
|
|
||||||
return "#f7f7fa";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Dark Color */
|
|
||||||
function zeitfresser_get_default_dark_color() {
|
|
||||||
return "#f7f7fa";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Default Background Color */
|
|
||||||
function zeitfresser_get_default_background_color() {
|
|
||||||
return "1e1f29";
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_site_title_color_dynamic_css' );
|
|
||||||
function zeitfresser_site_title_color_dynamic_css() {
|
|
||||||
|
|
||||||
$site_title_color = esc_attr( get_theme_mod( 'site_title_color_option', zeitfresser_get_default_site_title_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --site-title-color: $site_title_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_secondary_color_dynamic_css' );
|
|
||||||
function zeitfresser_secondary_color_dynamic_css() {
|
|
||||||
|
|
||||||
$secondary_color = esc_attr( get_theme_mod( 'secondary_color', zeitfresser_get_default_secondary_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --secondary-color: $secondary_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_primary_color_dynamic_css' );
|
|
||||||
function zeitfresser_primary_color_dynamic_css() {
|
|
||||||
|
|
||||||
$primary_color = esc_attr( get_theme_mod( 'primary_color', zeitfresser_get_default_primary_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --primary-color: $primary_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_light_color_dynamic_css' );
|
|
||||||
function zeitfresser_light_color_dynamic_css() {
|
|
||||||
|
|
||||||
$light_color = esc_attr( get_theme_mod( 'light_color', zeitfresser_get_default_light_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --light-color: $light_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_grey_color_dynamic_css' );
|
|
||||||
function zeitfresser_grey_color_dynamic_css() {
|
|
||||||
|
|
||||||
$grey_color = esc_attr( get_theme_mod( 'grey_color', zeitfresser_get_default_grey_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --grey-color: $grey_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_dark_color_dynamic_css' );
|
|
||||||
function zeitfresser_dark_color_dynamic_css() {
|
|
||||||
|
|
||||||
$dark_color = esc_attr( get_theme_mod( 'dark_color', zeitfresser_get_default_dark_color() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --dark-color: $dark_color; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
/* Default Font Size */
|
|
||||||
function zeitfresser_get_default_font_size() {
|
|
||||||
return 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
function zeitfresser_get_default_logo_size() {
|
|
||||||
return 60;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function zeitfresser_get_default_site_identity_font_size() {
|
|
||||||
return 40;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function zeitfresser_get_default_font_weight() {
|
|
||||||
return "400";
|
|
||||||
}
|
|
||||||
|
|
||||||
function zeitfresser_get_default_line_height() {
|
|
||||||
return "1.6";
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_register_font_customization_section' );
|
|
||||||
function zeitfresser_register_font_customization_section( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_section( 'daisy_blog_font_customization_section', array(
|
|
||||||
'title' => esc_html__( 'Font Options', 'zeitfresser' ),
|
|
||||||
'priority' => 20
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Add Default Font Customization for Customizer Settings */
|
|
||||||
require dirname( __FILE__ ) . '/default-font-customization.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/logo-size/logo-size.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/site-identity-font-size/site-identity-font-size.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/font-size/font-size.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/font-weight/font-weight.php';
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/line-height/line-height.php';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('font_size',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
$( 'body,html' ).css( 'font-size', to+'px' );
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_font_size' );
|
|
||||||
function zeitfresser_font_size( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'font_size', array(
|
|
||||||
'default' => zeitfresser_get_default_font_size(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'absint'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'font_size', array(
|
|
||||||
'type' => 'number',
|
|
||||||
'settings' => 'font_size',
|
|
||||||
'label' => esc_html__( 'Body Font Size', 'zeitfresser' ),
|
|
||||||
'section' => 'daisy_blog_font_customization_section',
|
|
||||||
'input_attrs' => array(
|
|
||||||
'min' => 1,
|
|
||||||
'max' => 30
|
|
||||||
)
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_font_size_enqueue_scripts' );
|
|
||||||
function zeitfresser_font_size_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-font-size-customizer', get_template_directory_uri() . '/inc/blocks/font-customization/font-size/customizer-font-size.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_font_size_dynamic_css' );
|
|
||||||
function zeitfresser_font_size_dynamic_css() {
|
|
||||||
|
|
||||||
$font_size = esc_attr( get_theme_mod( 'font_size', zeitfresser_get_default_font_size() ) );
|
|
||||||
$font_size .= 'px';
|
|
||||||
|
|
||||||
$dynamic_css = "html,body{font-size:{$font_size};}";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('font_weight',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--font-weight', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_font_weight' );
|
|
||||||
function zeitfresser_font_weight( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'font_weight', array(
|
|
||||||
'default' => zeitfresser_get_default_font_weight(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'absint'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'font_weight', array(
|
|
||||||
'type' => 'number',
|
|
||||||
'settings' => 'font_weight',
|
|
||||||
'label' => esc_html__( 'Body Font Weight', 'zeitfresser' ),
|
|
||||||
'section' => 'daisy_blog_font_customization_section',
|
|
||||||
'input_attrs' => array(
|
|
||||||
'min' => 100,
|
|
||||||
'max' => 900,
|
|
||||||
'step' => 100
|
|
||||||
)
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_font_weight_enqueue_scripts' );
|
|
||||||
function zeitfresser_font_weight_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-font-weight-customizer', get_template_directory_uri() . '/inc/blocks/font-customization/font-weight/customizer-font-weight.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_font_weight_dynamic_css' );
|
|
||||||
function zeitfresser_font_weight_dynamic_css() {
|
|
||||||
|
|
||||||
$font_weight = esc_attr( get_theme_mod( 'font_weight', zeitfresser_get_default_font_weight() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --font-weight: $font_weight; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('line_height',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--line-height', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_line_height' );
|
|
||||||
function zeitfresser_line_height( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'line_height', array(
|
|
||||||
'default' => zeitfresser_get_default_line_height(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'zeitfresser_sanitize_float'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'line_height', array(
|
|
||||||
'type' => 'number',
|
|
||||||
'settings' => 'line_height',
|
|
||||||
'label' => esc_html__( 'Line Height', 'zeitfresser' ),
|
|
||||||
'section' => 'daisy_blog_font_customization_section',
|
|
||||||
'input_attrs' => array(
|
|
||||||
'min' => 1,
|
|
||||||
'max' => 5,
|
|
||||||
'step' => 0.1
|
|
||||||
)
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_line_height_enqueue_scripts' );
|
|
||||||
function zeitfresser_line_height_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-line-height-customizer', get_template_directory_uri() . '/inc/blocks/font-customization/line-height/customizer-line-height.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_line_height_dynamic_css' );
|
|
||||||
function zeitfresser_line_height_dynamic_css() {
|
|
||||||
|
|
||||||
$line_height = esc_attr( get_theme_mod( 'line_height', zeitfresser_get_default_line_height() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --line-height: $line_height; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('logo_size',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--logo-size', to+'px');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_logo_size' );
|
|
||||||
function zeitfresser_logo_size( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'logo_size', array(
|
|
||||||
'default' => zeitfresser_get_default_logo_size(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'absint'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'logo_size', array(
|
|
||||||
'type' => 'number',
|
|
||||||
'settings' => 'logo_size',
|
|
||||||
'priority' => 8,
|
|
||||||
'label' => esc_html__( 'Logo Size', 'zeitfresser' ),
|
|
||||||
'section' => 'title_tagline',
|
|
||||||
'input_attrs' => array(
|
|
||||||
'min' => 10,
|
|
||||||
'max' => 100
|
|
||||||
)
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_logo_size_enqueue_scripts' );
|
|
||||||
function zeitfresser_logo_size_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-logo-size-customizer', get_template_directory_uri() . '/inc/blocks/font-customization/logo-size/customizer-logo-size.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_logo_size_dynamic_css' );
|
|
||||||
function zeitfresser_logo_size_dynamic_css() {
|
|
||||||
|
|
||||||
$logo_size = esc_attr( get_theme_mod( 'logo_size', zeitfresser_get_default_logo_size() ) );
|
|
||||||
$logo_size .= 'px';
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --logo-size: $logo_size; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('site_identity_font_size',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
document.body.style.setProperty('--site-identity-font-size', to+'px');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_site_identity_font_size' );
|
|
||||||
function zeitfresser_site_identity_font_size( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'site_identity_font_size', array(
|
|
||||||
'default' => zeitfresser_get_default_site_identity_font_size(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'absint'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'site_identity_font_size', array(
|
|
||||||
'type' => 'number',
|
|
||||||
'settings' => 'site_identity_font_size',
|
|
||||||
'label' => esc_html__( 'Site Identity Size', 'zeitfresser' ),
|
|
||||||
'section' => 'title_tagline',
|
|
||||||
'input_attrs' => array(
|
|
||||||
'min' => 10,
|
|
||||||
'max' => 40
|
|
||||||
)
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_site_identity_font_size_enqueue_scripts' );
|
|
||||||
function zeitfresser_site_identity_font_size_enqueue_scripts() {
|
|
||||||
wp_enqueue_script( 'graphthemes-site-identity-font-size-customizer', get_template_directory_uri() . '/inc/blocks/font-customization/site-identity-font-size/customizer-site-identity-font-size.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_site_identity_font_size_dynamic_css' );
|
|
||||||
function zeitfresser_site_identity_font_size_dynamic_css() {
|
|
||||||
|
|
||||||
$site_identity_font_size = esc_attr( get_theme_mod( 'site_identity_font_size', zeitfresser_get_default_site_identity_font_size() ) );
|
|
||||||
$site_identity_font_size .= 'px';
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --site-identity-font-size: $site_identity_font_size; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/* Default Font Family */
|
|
||||||
function zeitfresser_get_default_site_identity_font_family() {
|
|
||||||
return esc_html__( "Oswald", 'zeitfresser' );
|
|
||||||
}
|
|
||||||
|
|
||||||
function zeitfresser_get_default_main_font_family() {
|
|
||||||
return esc_html__( "Oswald", 'zeitfresser' );
|
|
||||||
}
|
|
||||||
|
|
||||||
function zeitfresser_get_default_secondary_font_family() {
|
|
||||||
return esc_html__( "Roboto", 'zeitfresser' );
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/* Add Google Fonts */
|
|
||||||
require dirname( __FILE__ ) . '/google-fonts.php';
|
|
||||||
|
|
||||||
/* Add Default Font Family for Customizer Settings */
|
|
||||||
require dirname( __FILE__ ) . '/default-font-family.php';
|
|
||||||
|
|
||||||
include_once wp_normalize_path( dirname( __FILE__ ) . '/inc/helper-functions.php' );
|
|
||||||
include_once wp_normalize_path( dirname( __FILE__ ) . '/inc/class-webfonts-local.php' );
|
|
||||||
include_once wp_normalize_path( dirname( __FILE__ ) . '/inc/class-fonts-google-local.php' );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
require dirname( __FILE__ ) . '/site-identity/site-identity-font-family.php';
|
|
||||||
require dirname( __FILE__ ) . '/main/main-font-family.php';
|
|
||||||
require dirname( __FILE__ ) . '/secondary/secondary-font-family.php';
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_google_fonts_scripts', 5 );
|
|
||||||
function zeitfresser_google_fonts_scripts() {
|
|
||||||
$local_css = zeitfresser_get_local_webfonts_css();
|
|
||||||
|
|
||||||
wp_register_style( 'zeitfresser-webfonts', false, array(), ZEITFRESSER_VERSION );
|
|
||||||
wp_enqueue_style( 'zeitfresser-webfonts' );
|
|
||||||
|
|
||||||
if ( ! empty( $local_css ) ) {
|
|
||||||
wp_add_inline_style( 'zeitfresser-webfonts', $local_css );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$args = zeitfresser_used_google_fonts();
|
|
||||||
$fonts_url = zeitfresser_fonts_url( $args );
|
|
||||||
|
|
||||||
if ( empty( $fonts_url ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
wp_enqueue_style( 'google-fonts', $fonts_url, array(), null );
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,457 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Handles downloading a font from the google-fonts API locally.
|
|
||||||
* Solves privacy concerns with Google's CDN
|
|
||||||
* and their sometimes less-than-transparent policies.
|
|
||||||
*
|
|
||||||
* @package zeitfresser
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Do not allow directly accessing this file.
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) {
|
|
||||||
exit( 'Direct script access denied.' );
|
|
||||||
}
|
|
||||||
|
|
||||||
final class Daisy_Blog_Google_Local {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of the font-family
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $family;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The system path where font-files are stored.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $folder_path;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The URL where files for this font can be found.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $folder_url;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array of instances for this object.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @access private
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
private static $instances = array();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an instance of this object for a specific font-family.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @access public
|
|
||||||
* @param string $family The font-family name.
|
|
||||||
* @return Daisy_Blog_Google_Local
|
|
||||||
*/
|
|
||||||
public static function init( $family ) {
|
|
||||||
$key = sanitize_key( $family );
|
|
||||||
if ( ! isset( self::$instances[ $key ] ) ) {
|
|
||||||
self::$instances[ $key ] = new self( $family );
|
|
||||||
}
|
|
||||||
return self::$instances[ $key ];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @param string $family The font-family name.
|
|
||||||
*/
|
|
||||||
private function __construct( $family ) {
|
|
||||||
$this->family = $family;
|
|
||||||
$key = sanitize_key( $this->family );
|
|
||||||
$this->folder_path = $this->get_root_path() . "/$key";
|
|
||||||
$this->folder_url = $this->get_root_url() . "/$key";
|
|
||||||
$this->files = $this->get_font_family();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the @font-face CSS.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param array $variants The variants we want to get.
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function get_css( $variants = array() ) {
|
|
||||||
if ( ! $this->files ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$key = md5( wp_json_encode( $this->files ) );
|
|
||||||
$cached = get_transient( $key );
|
|
||||||
if ( $cached ) {
|
|
||||||
return $cached;
|
|
||||||
}
|
|
||||||
$css = '';
|
|
||||||
|
|
||||||
// If $variants is empty then use all variants available.
|
|
||||||
if ( empty( $variants ) ) {
|
|
||||||
$variants = array_keys( $this->files );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Download files.
|
|
||||||
$this->download_font_family( $variants );
|
|
||||||
|
|
||||||
// Create the @font-face CSS.
|
|
||||||
foreach ( $variants as $variant ) {
|
|
||||||
$css .= $this->get_variant_fontface_css( $variant );
|
|
||||||
}
|
|
||||||
set_transient( $key, $css, WEEK_IN_SECONDS );
|
|
||||||
return $css;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Download font-family files.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param array $variants An array of variants to download. Leave empty to download all.
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function download_font_family( $variants = array() ) {
|
|
||||||
if ( empty( $variants ) ) {
|
|
||||||
$variants = array_keys( $this->files );
|
|
||||||
}
|
|
||||||
foreach ( $this->files as $variant => $file ) {
|
|
||||||
if ( in_array( $variant, $variants ) ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
|
|
||||||
$this->download_font_file( $file );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Downloads a font-file and saves it locally.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @param string $url The URL of the file we want to get.
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
private function download_font_file( $url ) {
|
|
||||||
$path = $this->folder_path . '/' . $this->get_filename_from_url( $url );
|
|
||||||
|
|
||||||
// If the folder doesn't exist, create it.
|
|
||||||
if ( ! file_exists( $this->folder_path ) ) {
|
|
||||||
wp_mkdir_p( $this->folder_path );
|
|
||||||
}
|
|
||||||
// If the file exists no reason to do anything.
|
|
||||||
if ( file_exists( $path ) ) {
|
|
||||||
return true;
|
|
||||||
}else{
|
|
||||||
$contents = $this->get_remote_url_contents( $url );
|
|
||||||
// Write file.
|
|
||||||
$filesystem = $this->get_filesystem();
|
|
||||||
return $filesystem->put_contents( $path, $contents, FS_CHMOD_FILE );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the remote URL contents.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @param string $url The URL we want to get.
|
|
||||||
* @return string The contents of the remote URL.
|
|
||||||
*/
|
|
||||||
public function get_remote_url_contents( $url ) {
|
|
||||||
$response = wp_remote_get( $url );
|
|
||||||
if ( is_wp_error( $response ) ) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
$html = wp_remote_retrieve_body( $response );
|
|
||||||
if ( is_wp_error( $html ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the filename by breaking-down the URL parts.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @param string $url The URL.
|
|
||||||
* @return string The filename.
|
|
||||||
*/
|
|
||||||
private function get_filename_from_url( $url ) {
|
|
||||||
$url_parts = explode( '/', $url );
|
|
||||||
$parts_count = count( $url_parts );
|
|
||||||
if ( 1 < $parts_count ) {
|
|
||||||
return $url_parts[ count( $url_parts ) - 1 ];
|
|
||||||
}
|
|
||||||
return $url;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the @font-face CSS for a specific variant.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param string $variant The variant.
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function get_variant_fontface_css( $variant ) {
|
|
||||||
$font_face = "@font-face{font-family:'{$this->family}';";
|
|
||||||
|
|
||||||
// Get the font-style.
|
|
||||||
$font_style = ( false !== strpos( $variant, 'italic' ) ) ? 'italic' : 'normal';
|
|
||||||
$font_face .= "font-style:{$font_style};";
|
|
||||||
|
|
||||||
// Get the font-weight.
|
|
||||||
$font_weight = '400';
|
|
||||||
$font_weight = str_replace( 'italic', '', $variant );
|
|
||||||
$font_weight = ( ! $font_weight || 'regular' === $font_weight ) ? '400' : $font_weight;
|
|
||||||
$font_face .= "font-weight:{$font_weight};";
|
|
||||||
|
|
||||||
// Get the font-names.
|
|
||||||
$font_name_0 = $this->get_local_font_name( $variant, false );
|
|
||||||
$font_name_1 = $this->get_local_font_name( $variant, true );
|
|
||||||
$font_face .= "src:local('{$font_name_0}'),";
|
|
||||||
if ( $font_name_0 !== $font_name_1 ) {
|
|
||||||
$font_face .= "local('{$font_name_1}'),";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the font-url.
|
|
||||||
$font_url = $this->get_variant_local_url( $variant );
|
|
||||||
$paths = $this->get_font_files_paths();
|
|
||||||
if ( ! file_exists( $paths[ $variant ] ) ) {
|
|
||||||
$font_url = $this->files[ $variant ];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the font-format.
|
|
||||||
$font_format = ( strpos( $font_url, '.woff2' ) ) ? 'woff2' : 'truetype';
|
|
||||||
$font_format = ( strpos( $font_url, '.woff' ) && ! strpos( $font_url, '.woff2' ) ) ? 'woff' : $font_format;
|
|
||||||
$font_face .= "url({$font_url}) format('{$font_format}');}";
|
|
||||||
|
|
||||||
return $font_face;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the name of the font-family.
|
|
||||||
* This is used by @font-face in case the user already has the font downloaded locally.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param string $variant The variant.
|
|
||||||
* @param bool $compact Whether we want the compact formatting or not.
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function get_local_font_name( $variant, $compact = false ) {
|
|
||||||
$variant_names = array(
|
|
||||||
'100' => 'Thin',
|
|
||||||
'100i' => 'Thin Italic',
|
|
||||||
'100italic' => 'Thin Italic',
|
|
||||||
'200' => 'Extra-Light',
|
|
||||||
'200i' => 'Extra-Light Italic',
|
|
||||||
'200italic' => 'Extra-Light Italic',
|
|
||||||
'300' => 'Light',
|
|
||||||
'300i' => 'Light Italic',
|
|
||||||
'300italic' => 'Light Italic',
|
|
||||||
'400' => 'Regular',
|
|
||||||
'regular' => 'Regular',
|
|
||||||
'400i' => 'Regular Italic',
|
|
||||||
'italic' => 'Italic',
|
|
||||||
'400italic' => 'Regular Italic',
|
|
||||||
'500' => 'Medium',
|
|
||||||
'500i' => 'Medium Italic',
|
|
||||||
'500italic' => 'Medium Italic',
|
|
||||||
'600' => 'Semi-Bold',
|
|
||||||
'600i' => 'Semi-Bold Italic',
|
|
||||||
'600italic' => 'Semi-Bold Italic',
|
|
||||||
'700' => 'Bold',
|
|
||||||
'700i' => 'Bold Italic',
|
|
||||||
'700italic' => 'Bold Italic',
|
|
||||||
'800' => 'Extra-Bold',
|
|
||||||
'800i' => 'Extra-Bold Italic',
|
|
||||||
'800italic' => 'Extra-Bold Italic',
|
|
||||||
'900' => 'Black',
|
|
||||||
'900i' => 'Black Italic',
|
|
||||||
'900italic' => 'Black Italic',
|
|
||||||
);
|
|
||||||
|
|
||||||
$variant = (string) $variant;
|
|
||||||
if ( $compact ) {
|
|
||||||
if ( isset( $variant_names[ $variant ] ) ) {
|
|
||||||
return str_replace( array( ' ', '-' ), '', $this->family ) . '-' . str_replace( array( ' ', '-' ), '', $variant_names[ $variant ] );
|
|
||||||
}
|
|
||||||
return str_replace( array( ' ', '-' ), '', $this->family );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( isset( $variant_names[ $variant ] ) ) {
|
|
||||||
return $this->family . ' ' . $variant_names[ $variant ];
|
|
||||||
}
|
|
||||||
return $this->family;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the local URL for a variant.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param string $variant The variant.
|
|
||||||
* @return string The URL.
|
|
||||||
*/
|
|
||||||
public function get_variant_local_url( $variant ) {
|
|
||||||
$local_urls = $this->get_font_files_urls_local();
|
|
||||||
|
|
||||||
if ( empty( $local_urls ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the specific variant if we can find it.
|
|
||||||
if ( isset( $local_urls[ $variant ] ) ) {
|
|
||||||
return $local_urls[ $variant ];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return regular if the one we want could not be found.
|
|
||||||
if ( isset( $local_urls['regular'] ) ) {
|
|
||||||
return $local_urls['regular'];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the first available if all else failed.
|
|
||||||
$vals = array_values( $local_urls );
|
|
||||||
return $vals[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get an array of local file URLs.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function get_font_files_urls_local() {
|
|
||||||
$urls = array();
|
|
||||||
$files = $this->get_font_files();
|
|
||||||
foreach ( $files as $key => $file ) {
|
|
||||||
$urls[ $key ] = $this->folder_url . '/' . $file;
|
|
||||||
}
|
|
||||||
return $urls;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get an array of local file paths.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function get_font_files_paths() {
|
|
||||||
$paths = array();
|
|
||||||
$files = $this->get_font_files();
|
|
||||||
foreach ( $files as $key => $file ) {
|
|
||||||
$paths[ $key ] = $this->folder_path . '/' . $file;
|
|
||||||
}
|
|
||||||
return $paths;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get an array of font-files.
|
|
||||||
* Only contains the filenames.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function get_font_files() {
|
|
||||||
$files = array();
|
|
||||||
foreach ( $this->files as $key => $url ) {
|
|
||||||
$files[ $key ] = $this->get_filename_from_url( $url );
|
|
||||||
}
|
|
||||||
return $files;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the root fonts folder path.
|
|
||||||
* Other paths are built based on this.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function get_root_path() {
|
|
||||||
|
|
||||||
// Get the upload directory for this site.
|
|
||||||
$upload_dir = wp_upload_dir();
|
|
||||||
$path = untrailingslashit( wp_normalize_path( $upload_dir['basedir'] ) ) . '/webfonts';
|
|
||||||
|
|
||||||
// If the folder doesn't exist, create it.
|
|
||||||
if ( ! file_exists( $path ) ) {
|
|
||||||
wp_mkdir_p( $path );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the path.
|
|
||||||
return apply_filters( 'daisy_blog_googlefonts_root_path', $path );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the root folder url.
|
|
||||||
* Other urls are built based on this.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function get_root_url() {
|
|
||||||
|
|
||||||
// Get the upload directory for this site.
|
|
||||||
$upload_dir = wp_upload_dir();
|
|
||||||
|
|
||||||
// The URL.
|
|
||||||
$url = trailingslashit( $upload_dir['baseurl'] );
|
|
||||||
|
|
||||||
// Take care of domain mapping.
|
|
||||||
// When using domain mapping we have to make sure that the URL to the file
|
|
||||||
// does not include the original domain but instead the mapped domain.
|
|
||||||
if ( defined( 'DOMAIN_MAPPING' ) && DOMAIN_MAPPING ) {
|
|
||||||
if ( function_exists( 'domain_mapping_siteurl' ) && function_exists( 'get_original_url' ) ) {
|
|
||||||
$mapped_domain = domain_mapping_siteurl( false );
|
|
||||||
$original_domain = get_original_url( 'siteurl' );
|
|
||||||
$url = str_replace( $original_domain, $mapped_domain, $url );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$url = str_replace( array( 'https://', 'http://' ), '//', $url );
|
|
||||||
return apply_filters( 'daisy_blog_googlefonts_root_url', untrailingslashit( esc_url_raw( $url ) ) . '/webfonts' );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a font-family from the array of google-fonts.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function get_font_family() {
|
|
||||||
// Get the fonts array.
|
|
||||||
$fonts = $this->get_fonts();
|
|
||||||
if ( isset( $fonts[ $this->family ] ) ) {
|
|
||||||
return $fonts[ $this->family ];
|
|
||||||
}
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the font defined in the google-fonts API.
|
|
||||||
*
|
|
||||||
* @access private
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
private function get_fonts() {
|
|
||||||
zeitfresser_get_google_fonts();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the WP_Filesystem object.
|
|
||||||
*
|
|
||||||
* @access protected
|
|
||||||
* @return object
|
|
||||||
*/
|
|
||||||
protected function get_filesystem(){
|
|
||||||
// The WordPress filesystem.
|
|
||||||
global $wp_filesystem;
|
|
||||||
|
|
||||||
if ( empty( $wp_filesystem ) ) {
|
|
||||||
require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' );
|
|
||||||
WP_Filesystem();
|
|
||||||
}
|
|
||||||
return $wp_filesystem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Handles adding to the footer the @font-face CSS for locally-hosted google-fonts.
|
|
||||||
* Solves privacy concerns with Google's CDN and their sometimes less-than-transparent policies.
|
|
||||||
*
|
|
||||||
* @package zeitfresser
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Manages the way Google Fonts are enqueued.
|
|
||||||
*/
|
|
||||||
final class Daisy_Blog_Webfonts_Local{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @access protected
|
|
||||||
*/
|
|
||||||
protected $googlefonts;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
*/
|
|
||||||
public function __construct( $googlefonts ) {
|
|
||||||
$this->googlefonts = $googlefonts;
|
|
||||||
|
|
||||||
add_action( 'wp_footer', array( $this, 'add_styles' ) );
|
|
||||||
add_action( 'admin_footer', array( $this, 'add_styles' ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Webfont Loader for Google Fonts.
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
*/
|
|
||||||
public function add_styles() {
|
|
||||||
|
|
||||||
$hosted_fonts = $this->googlefonts;
|
|
||||||
|
|
||||||
// Early exit if we don't need to add any fonts.
|
|
||||||
if ( empty( $hosted_fonts ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make sure we only do this once per font-family.
|
|
||||||
$hosted_fonts = array_unique( $hosted_fonts );
|
|
||||||
|
|
||||||
// Start CSS.
|
|
||||||
$css = '';
|
|
||||||
foreach( $hosted_fonts as $family ){
|
|
||||||
// Add the @font-face CSS for this font-family.
|
|
||||||
$css .= Daisy_Blog_Google_Local::init( $family )->get_css();
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we've got CSS, add to the footer.
|
|
||||||
if ( $css ) {
|
|
||||||
echo '<style id="daisy-blog-local-webfonts">' . $css . '</style>'; // WPCS: XSS ok.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,334 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function to check if it's a google font
|
|
||||||
*/
|
|
||||||
function zeitfresser_is_google_font( $font ){
|
|
||||||
$return = false;
|
|
||||||
$websafe_fonts = zeitfresser_get_websafe_font();
|
|
||||||
if( $font ){
|
|
||||||
if( array_key_exists( $font, $websafe_fonts ) ){
|
|
||||||
//Web Safe Font
|
|
||||||
$return = false;
|
|
||||||
}else{
|
|
||||||
//Google Font
|
|
||||||
$return = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( ! function_exists( 'zeitfresser_get_websafe_font' ) ) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function listing WebSafe Fonts and its attributes
|
|
||||||
*/
|
|
||||||
function zeitfresser_get_websafe_font(){
|
|
||||||
$standard_fonts = array(
|
|
||||||
'georgia-serif' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => 'Georgia, serif',
|
|
||||||
),
|
|
||||||
'palatino-serif' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Palatino Linotype", "Book Antiqua", Palatino, serif',
|
|
||||||
),
|
|
||||||
'times-serif' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Times New Roman", Times, serif',
|
|
||||||
),
|
|
||||||
'arial-helvetica' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => 'Arial, Helvetica, sans-serif',
|
|
||||||
),
|
|
||||||
'arial-gadget' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Arial Black", Gadget, sans-serif',
|
|
||||||
),
|
|
||||||
'comic-cursive' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Comic Sans MS", cursive, sans-serif',
|
|
||||||
),
|
|
||||||
'impact-charcoal' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => 'Impact, Charcoal, sans-serif',
|
|
||||||
),
|
|
||||||
'lucida' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Lucida Sans Unicode", "Lucida Grande", sans-serif',
|
|
||||||
),
|
|
||||||
'tahoma-geneva' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => 'Tahoma, Geneva, sans-serif',
|
|
||||||
),
|
|
||||||
'trebuchet-helvetica' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Trebuchet MS", Helvetica, sans-serif',
|
|
||||||
),
|
|
||||||
'verdana-geneva' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => 'Verdana, Geneva, sans-serif',
|
|
||||||
),
|
|
||||||
'courier' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Courier New", Courier, monospace',
|
|
||||||
),
|
|
||||||
'lucida-monaco' => array(
|
|
||||||
'variants' => array( 'regular', 'italic', '700', '700italic' ),
|
|
||||||
'fonts' => '"Lucida Console", Monaco, monospace',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
return apply_filters( 'daisy_blog_standard_fonts', $standard_fonts );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function zeitfresser_used_google_fonts() {
|
|
||||||
$main_font_family = zeitfresser_get_mod( 'main_font_family', zeitfresser_get_default_main_font_family() );
|
|
||||||
$secondary_font_family = zeitfresser_get_mod( 'secondary_font_family', zeitfresser_get_default_secondary_font_family() );
|
|
||||||
$site_identity_font_family = esc_attr( zeitfresser_get_mod( 'site_identity_font_family', zeitfresser_get_default_site_identity_font_family() ) );
|
|
||||||
|
|
||||||
$args['main_font_family'] = $main_font_family;
|
|
||||||
$args['secondary_font_family'] = $secondary_font_family;
|
|
||||||
$args['site_identity_font_family'] = $site_identity_font_family;
|
|
||||||
|
|
||||||
return $args;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_loaded', 'zeitfresser_google_font_local' );
|
|
||||||
if( ! function_exists( 'zeitfresser_google_font_local' ) ) {
|
|
||||||
/**
|
|
||||||
* Function that load Google Fonts used in our theme from customer locally.
|
|
||||||
* Solves privacy concerns with Google's CDN and their sometimes less-than-transparent policies.
|
|
||||||
*/
|
|
||||||
function zeitfresser_google_font_local() {
|
|
||||||
|
|
||||||
$args = array();
|
|
||||||
$fonts = zeitfresser_used_google_fonts();
|
|
||||||
|
|
||||||
foreach( $fonts as $font ) {
|
|
||||||
|
|
||||||
$is_google_font = zeitfresser_is_google_font( $font );
|
|
||||||
|
|
||||||
if( $is_google_font ) {
|
|
||||||
array_push( $args, $font );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
new Daisy_Blog_Webfonts_Local( $args );
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( ! function_exists( 'zeitfresser_font_weight_variants' ) ) {
|
|
||||||
/**
|
|
||||||
* Return the font variants used by the theme as an array.
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function zeitfresser_font_weight_variants() {
|
|
||||||
$weights = explode( ';', zeitfresser_font_weight_query() );
|
|
||||||
$weights = array_map( 'trim', $weights );
|
|
||||||
$weights = array_filter( $weights );
|
|
||||||
|
|
||||||
if ( ! in_array( '400', $weights, true ) ) {
|
|
||||||
$weights[] = '400';
|
|
||||||
}
|
|
||||||
|
|
||||||
$weights = array_values( array_unique( $weights ) );
|
|
||||||
sort( $weights );
|
|
||||||
|
|
||||||
return $weights;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( 'zeitfresser_get_local_webfonts_css' ) ) {
|
|
||||||
/**
|
|
||||||
* Build local @font-face CSS for currently selected Google fonts.
|
|
||||||
*
|
|
||||||
* Falls back to remote font file URLs per variant if a local file is not
|
|
||||||
* available yet, so typography does not break during warmup.
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function zeitfresser_get_local_webfonts_css() {
|
|
||||||
$fonts = array_values( array_unique( array_filter( zeitfresser_used_google_fonts() ) ) );
|
|
||||||
$variants = zeitfresser_font_weight_variants();
|
|
||||||
$css = '';
|
|
||||||
|
|
||||||
foreach ( $fonts as $font ) {
|
|
||||||
if ( ! zeitfresser_is_google_font( $font ) ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$css .= Daisy_Blog_Google_Local::init( $font )->get_css( $variants );
|
|
||||||
}
|
|
||||||
|
|
||||||
return $css;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( 'zeitfresser_get_local_webfont_urls' ) ) {
|
|
||||||
/**
|
|
||||||
* Extract local font asset URLs from a generated @font-face stylesheet.
|
|
||||||
*
|
|
||||||
* @param string $css Local webfont CSS.
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function zeitfresser_get_local_webfont_urls( $css ) {
|
|
||||||
if ( empty( $css ) ) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
preg_match_all( '#url\(([^)]+)\)#', $css, $matches );
|
|
||||||
|
|
||||||
if ( empty( $matches[1] ) ) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$urls = array();
|
|
||||||
|
|
||||||
foreach ( $matches[1] as $url ) {
|
|
||||||
$url = trim( $url, "\"'" );
|
|
||||||
|
|
||||||
if ( false !== strpos( $url, content_url() ) ) {
|
|
||||||
$urls[] = esc_url_raw( $url );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_values( array_unique( array_filter( $urls ) ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if( ! function_exists( 'zeitfresser_font_weight_query' ) ) {
|
|
||||||
/**
|
|
||||||
* Return the compact weight list used by the Zeitfresser theme.
|
|
||||||
*/
|
|
||||||
function zeitfresser_font_weight_query() {
|
|
||||||
$weights = array( '400', '500', '700' );
|
|
||||||
$body_weight = (string) zeitfresser_get_mod( 'font_weight', zeitfresser_get_default_font_weight() );
|
|
||||||
|
|
||||||
if ( preg_match( '/^\d{3}$/', $body_weight ) ) {
|
|
||||||
$weights[] = $body_weight;
|
|
||||||
}
|
|
||||||
|
|
||||||
$weights = array_values( array_unique( array_filter( $weights ) ) );
|
|
||||||
sort( $weights );
|
|
||||||
|
|
||||||
return implode( ';', $weights );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ! function_exists( 'zeitfresser_fonts_url' ) ) {
|
|
||||||
/**
|
|
||||||
* Returns a Google Fonts CSS2 URL for the selected theme fonts.
|
|
||||||
*/
|
|
||||||
function zeitfresser_fonts_url( $fonts = array() ) {
|
|
||||||
$font_families = array();
|
|
||||||
$weights = zeitfresser_font_weight_query();
|
|
||||||
|
|
||||||
foreach ( $fonts as $font ) {
|
|
||||||
if ( ! zeitfresser_is_google_font( $font ) ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$family_name = trim( (string) $font );
|
|
||||||
|
|
||||||
if ( '' === $family_name ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$font_families[] = 'family=' . str_replace( ' ', '+', $family_name ) . ':wght@' . $weights;
|
|
||||||
}
|
|
||||||
|
|
||||||
$font_families = array_values( array_unique( $font_families ) );
|
|
||||||
|
|
||||||
if ( empty( $font_families ) ) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
return esc_url( 'https://fonts.googleapis.com/css2?' . implode( '&', $font_families ) . '&display=swap' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( ! function_exists( 'zeitfresser_check_varient' ) ) {
|
|
||||||
/**
|
|
||||||
* Checks for matched varients in google fonts for typography fields
|
|
||||||
*/
|
|
||||||
function zeitfresser_check_varient( $font_family = 'serif', $font_variants = 'regular', $body = false ){
|
|
||||||
$variant = '';
|
|
||||||
$var = array();
|
|
||||||
$google_fonts = zeitfresser_get_google_fonts(); //Google Fonts
|
|
||||||
$websafe_fonts = zeitfresser_get_websafe_font(); //Standard Web Safe Fonts
|
|
||||||
|
|
||||||
if( array_key_exists( $font_family, $google_fonts ) ){
|
|
||||||
$variants = $google_fonts[ $font_family ][ 'variants' ];
|
|
||||||
if( in_array( $font_variants, $variants ) ){
|
|
||||||
if( $body ){ //LOAD ALL VARIANTS FOR BODY FONT
|
|
||||||
foreach( $variants as $v ){
|
|
||||||
$var[] = $v;
|
|
||||||
}
|
|
||||||
$variant = implode( ',', $var );
|
|
||||||
}else{
|
|
||||||
$variant = $font_variants;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$variant = 'regular';
|
|
||||||
}
|
|
||||||
}else{ //Standard Web Safe Fonts
|
|
||||||
if( array_key_exists( $font_family, $websafe_fonts ) ){
|
|
||||||
$variants = $websafe_fonts[ $font_family ][ 'variants' ];
|
|
||||||
if( in_array( $font_variants, $variants ) ){
|
|
||||||
if( $body ){ //LOAD ALL VARIANTS FOR BODY FONT
|
|
||||||
foreach( $variants as $v ){
|
|
||||||
$var[] = $v;
|
|
||||||
}
|
|
||||||
$variant = implode( ',', $var );
|
|
||||||
}else{
|
|
||||||
$variant = $font_variants;
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$variant = 'regular';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $variant;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( ! function_exists( 'zeitfresser_get_google_fonts' ) ) {
|
|
||||||
/**
|
|
||||||
* Get Google Fonts
|
|
||||||
*/
|
|
||||||
function zeitfresser_get_google_fonts(){
|
|
||||||
$webfonts_json = @file_get_contents( get_template_directory_uri() . '/inc/blocks/font-family/inc/google-webfonts.json', true );
|
|
||||||
$fonts = json_decode( $webfonts_json, true );
|
|
||||||
|
|
||||||
$google_fonts = array();
|
|
||||||
|
|
||||||
if ( is_array( $fonts ) ) {
|
|
||||||
foreach ( $fonts['items'] as $font ) {
|
|
||||||
$google_fonts[ $font['family'] ] = array(
|
|
||||||
'variants' => $font['variants'],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $google_fonts;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('main_font_family',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
$("head").append("<link href='https://fonts.googleapis.com/css?family=" + to + ":200,300,400,500,600,700,800,900|' rel='stylesheet' type='text/css'>");
|
|
||||||
document.body.style.setProperty('--primary-font', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_main_font_family' );
|
|
||||||
function zeitfresser_main_font_family( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'main_font_family', array(
|
|
||||||
'default' => zeitfresser_get_default_main_font_family(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'zeitfresser_sanitize_google_fonts'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'main_font_family', array(
|
|
||||||
'settings' => 'main_font_family',
|
|
||||||
'label' => esc_html__( 'Primary Font', 'zeitfresser' ),
|
|
||||||
'section' => 'daisy_blog_font_customization_section',
|
|
||||||
'type' => 'select',
|
|
||||||
'choices' => zeitfresser_google_fonts( zeitfresser_free_pro() ),
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_main_font_family_enqueue_scripts' );
|
|
||||||
function zeitfresser_main_font_family_enqueue_scripts() {
|
|
||||||
|
|
||||||
$main_font_family = esc_attr( get_theme_mod( 'main_font_family', zeitfresser_get_default_main_font_family() ) );
|
|
||||||
|
|
||||||
wp_enqueue_script( 'graphthemes-main-font-family-customizer', get_template_directory_uri() . '/inc/blocks/font-family/main/customizer-main-font-family.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_main_font_family_dynamic_css' );
|
|
||||||
function zeitfresser_main_font_family_dynamic_css() {
|
|
||||||
|
|
||||||
$main_font_family = esc_attr( get_theme_mod( 'main_font_family', zeitfresser_get_default_main_font_family() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --primary-font: $main_font_family; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('secondary_font_family',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
$("head").append("<link href='https://fonts.googleapis.com/css?family=" + to + ":200,300,400,500,600,700,800,900|' rel='stylesheet' type='text/css'>");
|
|
||||||
document.body.style.setProperty('--secondary-font', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_secondary_font_family' );
|
|
||||||
function zeitfresser_secondary_font_family( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'secondary_font_family', array(
|
|
||||||
'default' => zeitfresser_get_default_secondary_font_family(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'zeitfresser_sanitize_google_fonts'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'secondary_font_family', array(
|
|
||||||
'settings' => 'secondary_font_family',
|
|
||||||
'label' => esc_html__( 'Secondary Font', 'zeitfresser' ),
|
|
||||||
'section' => 'daisy_blog_font_customization_section',
|
|
||||||
'type' => 'select',
|
|
||||||
'choices' => zeitfresser_google_fonts( zeitfresser_free_pro() ),
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_secondary_font_family_enqueue_scripts' );
|
|
||||||
function zeitfresser_secondary_font_family_enqueue_scripts() {
|
|
||||||
|
|
||||||
$secondary_font_family = esc_attr( get_theme_mod( 'secondary_font_family', zeitfresser_get_default_secondary_font_family() ) );
|
|
||||||
|
|
||||||
|
|
||||||
wp_enqueue_script( 'graphthemes-secondary-font-family-customizer', get_template_directory_uri() . '/inc/blocks/font-family/secondary/customizer-secondary-font-family.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_secondary_font_family_dynamic_css' );
|
|
||||||
function zeitfresser_secondary_font_family_dynamic_css() {
|
|
||||||
|
|
||||||
$secondary_font_family = esc_attr( get_theme_mod( 'secondary_font_family', zeitfresser_get_default_secondary_font_family() ) );
|
|
||||||
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --secondary-font: $secondary_font_family; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
jQuery( function( $ ) {
|
|
||||||
|
|
||||||
wp.customize('site_identity_font_family',function ( value ) {
|
|
||||||
value.bind(function ( to ) {
|
|
||||||
$("head").append("<link rel='stylesheet' href='https://fonts.googleapis.com/css?family="+to+":200,300,400,500,600,700,800,900|' rel='stylesheet' type='text/css'>");
|
|
||||||
document.body.style.setProperty('--site-identity-font-family', to);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
add_action( 'customize_register', 'zeitfresser_site_identity_font_family' );
|
|
||||||
function zeitfresser_site_identity_font_family( $wp_customize ) {
|
|
||||||
|
|
||||||
$wp_customize->add_setting( 'site_identity_font_family', array(
|
|
||||||
'default' => zeitfresser_get_default_site_identity_font_family(),
|
|
||||||
'transport' => 'postMessage',
|
|
||||||
'sanitize_callback' => 'zeitfresser_sanitize_google_fonts'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$wp_customize->add_control( 'site_identity_font_family', array(
|
|
||||||
'settings' => 'site_identity_font_family',
|
|
||||||
'label' => esc_html__( 'Site Title/Tagline Font', 'zeitfresser' ),
|
|
||||||
'section' => 'title_tagline',
|
|
||||||
'type' => 'select',
|
|
||||||
'choices' => zeitfresser_google_fonts( zeitfresser_free_pro() ),
|
|
||||||
) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'customize_preview_init', 'zeitfresser_site_identity_font_family_enqueue_scripts' );
|
|
||||||
function zeitfresser_site_identity_font_family_enqueue_scripts() {
|
|
||||||
|
|
||||||
$site_identity_font_family = esc_attr( get_theme_mod( 'site_identity_font_family', zeitfresser_get_default_site_identity_font_family() ) );
|
|
||||||
|
|
||||||
|
|
||||||
wp_enqueue_script( 'graphthemes-site-identity-font-family-customizer', get_template_directory_uri() . '/inc/blocks/font-family/site-identity/customizer-site-identity-font-family.js', array('jquery'), '', true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
add_action( 'wp_enqueue_scripts', 'zeitfresser_site_identity_font_family_dynamic_css' );
|
|
||||||
function zeitfresser_site_identity_font_family_dynamic_css() {
|
|
||||||
|
|
||||||
$site_identity_font_family = esc_attr( get_theme_mod( 'site_identity_font_family', zeitfresser_get_default_site_identity_font_family() ) );
|
|
||||||
|
|
||||||
$dynamic_css = ":root { --site-identity-font-family: $site_identity_font_family; }";
|
|
||||||
|
|
||||||
wp_add_inline_style( 'zeitfresser', $dynamic_css );
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Sample implementation of the Custom Header feature
|
|
||||||
*
|
|
||||||
* You can add an optional custom header image to header.php like so ...
|
|
||||||
*
|
|
||||||
<?php the_header_image_tag(); ?>
|
|
||||||
*
|
|
||||||
* @link https://developer.wordpress.org/themes/functionality/custom-headers/
|
|
||||||
*
|
|
||||||
* @package zeitfresser
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set up the WordPress core custom header feature.
|
|
||||||
*
|
|
||||||
* @uses zeitfresser_header_style()
|
|
||||||
*/
|
|
||||||
function zeitfresser_custom_header_setup() {
|
|
||||||
add_theme_support(
|
|
||||||
'custom-header',
|
|
||||||
apply_filters(
|
|
||||||
'daisy_blog_custom_header_args',
|
|
||||||
array(
|
|
||||||
'default-image' => '',
|
|
||||||
'default-text-color' => '444444',
|
|
||||||
'width' => 1000,
|
|
||||||
'height' => 250,
|
|
||||||
'flex-height' => true,
|
|
||||||
'wp-head-callback' => 'zeitfresser_header_style',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
add_action( 'after_setup_theme', 'zeitfresser_custom_header_setup' );
|
|
||||||
|
|
||||||
if ( ! function_exists( 'zeitfresser_header_style' ) ) :
|
|
||||||
/**
|
|
||||||
* Styles the header image and text displayed on the blog.
|
|
||||||
*
|
|
||||||
* @see zeitfresser_custom_header_setup().
|
|
||||||
*/
|
|
||||||
function zeitfresser_header_style() {
|
|
||||||
$header_text_color = get_header_textcolor();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If no custom options for text are set, let's bail.
|
|
||||||
* get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).
|
|
||||||
*/
|
|
||||||
if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we get this far, we have custom styles. Let's do this.
|
|
||||||
?>
|
|
||||||
<style type="text/css">
|
|
||||||
<?php
|
|
||||||
// Has the text been hidden?
|
|
||||||
if ( ! display_header_text() ) :
|
|
||||||
?>
|
|
||||||
.site-title,
|
|
||||||
.site-description {
|
|
||||||
position: absolute;
|
|
||||||
clip: rect(1px, 1px, 1px, 1px);
|
|
||||||
}
|
|
||||||
<?php
|
|
||||||
// If the user has set a custom color for the text use that.
|
|
||||||
else :
|
|
||||||
?>
|
|
||||||
.site-title a,
|
|
||||||
.site-description {
|
|
||||||
color: #<?php echo esc_attr( $header_text_color ); ?>;
|
|
||||||
}
|
|
||||||
<?php endif; ?>
|
|
||||||
</style>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
endif;
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
|
|
||||||
if( ! defined( 'DAISY_BLOG_WIDGET_PATH' ) ) {
|
|
||||||
define( 'DAISY_BLOG_WIDGET_PATH', dirname( __FILE__ ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author Profile Widget.
|
|
||||||
*/
|
|
||||||
require_once DAISY_BLOG_WIDGET_PATH . '/includes/class-graphthemes-widget-functions.php';
|
|
||||||
|
|
||||||
require_once DAISY_BLOG_WIDGET_PATH . '/includes/widgets/widget-author-profile.php';
|
|
||||||
|
|
||||||
require_once DAISY_BLOG_WIDGET_PATH . '/includes/widgets/widget-recent-posts.php';
|
|
||||||
|
|
||||||
require_once DAISY_BLOG_WIDGET_PATH . '/includes/widgets/widget-popular-posts.php';
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
class Graphthemes_Widget_Functions {
|
|
||||||
|
|
||||||
public function __construct() {
|
|
||||||
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
public function enqueue_admin_scripts() {
|
|
||||||
wp_enqueue_media();
|
|
||||||
wp_enqueue_script( 'graphthemes-widgets-admin-scripts', get_template_directory_uri() . '/inc/graphthemes-widgets/includes/js/graphthemes-widgets-admin.js', array( 'jquery' ), ZEITFRESSER_VERSION , true );
|
|
||||||
}
|
|
||||||
|
|
||||||
public function zeitfresser_widget_get_attachment_id( $url ) {
|
|
||||||
$attachment_id = 0;
|
|
||||||
$dir = wp_upload_dir();
|
|
||||||
if ( false !== strpos( $url, $dir['baseurl'] . '/' ) ) { // Is URL in uploads directory?
|
|
||||||
$file = basename( $url );
|
|
||||||
$query_args = array(
|
|
||||||
'post_type' => 'attachment',
|
|
||||||
'post_status' => 'inherit',
|
|
||||||
'fields' => 'ids',
|
|
||||||
'meta_query' => array(
|
|
||||||
array(
|
|
||||||
'value' => $file,
|
|
||||||
'compare' => 'LIKE',
|
|
||||||
'key' => '_wp_attachment_metadata',
|
|
||||||
),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$query = new WP_Query( $query_args );
|
|
||||||
if ( $query->have_posts() ) {
|
|
||||||
foreach ( $query->posts as $post_id ) {
|
|
||||||
$meta = wp_get_attachment_metadata( $post_id );
|
|
||||||
$original_file = basename( $meta['file'] );
|
|
||||||
$cropped_image_files = wp_list_pluck( $meta['sizes'], 'file' );
|
|
||||||
if ( $original_file === $file || in_array( $file, $cropped_image_files ) ) {
|
|
||||||
$attachment_id = $post_id;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $attachment_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
$obj = new Graphthemes_Widget_Functions;
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
jQuery(document).ready(function($){
|
|
||||||
|
|
||||||
$(document).on("click", ".upload_image_button", function(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
|
|
||||||
var $button = $(this);
|
|
||||||
|
|
||||||
|
|
||||||
// Create the media frame.
|
|
||||||
var file_frame = wp.media.frames.file_frame = wp.media({
|
|
||||||
title: 'Select or upload image',
|
|
||||||
library: { // remove these to show all
|
|
||||||
type: 'image' // specific mime
|
|
||||||
},
|
|
||||||
button: {
|
|
||||||
text: 'Select'
|
|
||||||
},
|
|
||||||
multiple: false // Set to true to allow multiple files to be selected
|
|
||||||
});
|
|
||||||
|
|
||||||
// When an image is selected, run a callback.
|
|
||||||
file_frame.on('select', function () {
|
|
||||||
// We set multiple to false so only get one image from the uploader
|
|
||||||
|
|
||||||
var attachment = file_frame.state().get('selection').first().toJSON();
|
|
||||||
$button.siblings('input').val(attachment.url).trigger('change');
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Finally, open the modal
|
|
||||||
file_frame.open();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
@@ -1,285 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Widget Author Profile
|
|
||||||
*/
|
|
||||||
|
|
||||||
// register Author Profile Widget
|
|
||||||
function zeitfresser_register_author_profile_widget() {
|
|
||||||
register_widget( 'Graphthemes_Author_Profile' );
|
|
||||||
}
|
|
||||||
add_action( 'widgets_init', 'zeitfresser_register_author_profile_widget' );
|
|
||||||
|
|
||||||
if( ! class_exists( 'Graphthemes_Author_Profile' ) ) :
|
|
||||||
/**
|
|
||||||
* Adds Graphthemes_Author_Profile widget.
|
|
||||||
*/
|
|
||||||
class Graphthemes_Author_Profile extends WP_Widget {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register widget with WordPress.
|
|
||||||
*/
|
|
||||||
function __construct() {
|
|
||||||
parent::__construct(
|
|
||||||
'daisy_blog_widget_author_profile', // Base ID
|
|
||||||
__( 'Graphthemes: Author Profile', 'zeitfresser' ), // Name
|
|
||||||
array( 'description' => __( 'An Author Profile Widget', 'zeitfresser' ), ) // Args
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function widget( $args, $instance ) {
|
|
||||||
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : '';
|
|
||||||
$name = ! empty( $instance['name'] ) ? $instance['name'] : '';
|
|
||||||
$email = ! empty( $instance['email'] ) ? $instance['email'] : '';
|
|
||||||
$content = ! empty( $instance['content'] ) ? $instance['content'] : '';
|
|
||||||
$image = ! empty( $instance['image'] ) ? $instance['image'] : '';
|
|
||||||
$author_image = ! empty( $instance['author-image'] ) ? $instance['author-image'] : '';
|
|
||||||
$label = ! empty( $instance['label'] ) ? $instance['label'] : '';
|
|
||||||
$link = ! empty( $instance['link'] ) ? $instance['link'] : '';
|
|
||||||
$target = ! empty( $instance['target'] ) ? $instance['target'] : '';
|
|
||||||
$attachment_id = $image;
|
|
||||||
$social_facebook = ! empty( $instance['social-facebook'] ) ? $instance['social-facebook'] : '';
|
|
||||||
$social_linkedin = ! empty( $instance['social-linkedin'] ) ? $instance['social-linkedin'] : '';
|
|
||||||
$social_twitter = ! empty( $instance['social-twitter'] ) ? $instance['social-twitter'] : '';
|
|
||||||
$social_instagram = ! empty( $instance['social-instagram'] ) ? $instance['social-instagram'] : '';
|
|
||||||
|
|
||||||
if ( !filter_var( $image, FILTER_VALIDATE_URL ) === false ) {
|
|
||||||
$attachment_id = $obj->zeitfresser_widget_get_attachment_id( $image );
|
|
||||||
}
|
|
||||||
|
|
||||||
$option = ! empty( $instance['author-image-option'] ) ? $instance['author-image-option'] : 'gravatar';
|
|
||||||
|
|
||||||
if( $attachment_id ){
|
|
||||||
$author_bio_img_size = apply_filters('author_bio_img_size','thumbnail');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
echo $args['before_widget'];
|
|
||||||
ob_start();
|
|
||||||
|
|
||||||
if( $title ) {
|
|
||||||
echo $args['before_title'] . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $args['after_title'];
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div class="graphthemes-widget-author-bio-holder">
|
|
||||||
<div class="image-holder">
|
|
||||||
<?php
|
|
||||||
if( $option == 'gravatar' ){
|
|
||||||
echo get_avatar( $email, 300 );
|
|
||||||
}
|
|
||||||
elseif( $option == 'photo' && $author_image ) { ?>
|
|
||||||
<img src="<?php echo esc_url( $author_image ); ?>">
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="text-holder">
|
|
||||||
<H5 class="title-holder"><?php echo esc_html( $name ); ?></H5>
|
|
||||||
<div class="author-bio-content">
|
|
||||||
<?php echo wpautop( wp_kses_post( $content ) ); ?>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php if( $link && $label ){ ?>
|
|
||||||
<a <?php if( isset( $instance['target'] ) && $instance['target']=='1' ){ echo "target=_blank"; } ?> href="<?php echo esc_url( $link ); ?>" class="btn-readmore"><?php echo esc_html( $label );?></a>
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<div class="author-bio-socicons social-share">
|
|
||||||
<ul class="list-group list-group-horizontal list-inline">
|
|
||||||
<?php if( isset( $instance['social-facebook'] ) && $instance['social-facebook'] ){ ?>
|
|
||||||
|
|
||||||
<li class="social-share-list list-group-item facebook-svg">
|
|
||||||
<a target="_blank" href="<?php echo esc_url( $instance['social-facebook'] );?>">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
|
|
||||||
<?php if( isset( $instance['social-linkedin'] ) && $instance['social-linkedin'] ){ ?>
|
|
||||||
|
|
||||||
|
|
||||||
<li class="social-share-list list-group-item linkedin-svg">
|
|
||||||
<a target="_blank" href="<?php echo esc_url( $instance['social-linkedin'] );?>">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"/></svg>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<?php if( isset( $instance['social-twitter'] ) && $instance['social-twitter'] ){ ?>
|
|
||||||
|
|
||||||
|
|
||||||
<li class="social-share-list list-group-item twitter-svg">
|
|
||||||
<a target="_blank" href="<?php echo esc_url( $instance['social-twitter'] );?>">
|
|
||||||
<svg version="1.1" viewBox="0 0 512 512" width="512px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M492,109.5c-17.4,7.7-36,12.9-55.6,15.3c20-12,35.4-31,42.6-53.6c-18.7,11.1-39.4,19.2-61.5,23.5 C399.8,75.8,374.6,64,346.8,64c-53.5,0-96.8,43.4-96.8,96.9c0,7.6,0.8,15,2.5,22.1C172,179,100.6,140.4,52.9,81.7 c-8.3,14.3-13.1,31-13.1,48.7c0,33.6,17.1,63.3,43.1,80.7C67,210.7,52,206.3,39,199c0,0.4,0,0.8,0,1.2c0,47,33.4,86.1,77.7,95 c-8.1,2.2-16.7,3.4-25.5,3.4c-6.2,0-12.3-0.6-18.2-1.8c12.3,38.5,48.1,66.5,90.5,67.3c-33.1,26-74.9,41.5-120.3,41.5 c-7.8,0-15.5-0.5-23.1-1.4C62.9,432,113.8,448,168.4,448C346.6,448,444,300.3,444,172.2c0-4.2-0.1-8.4-0.3-12.5 C462.6,146,479,128.9,492,109.5z"/></svg>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<?php if( isset( $instance['social-instagram'] ) && $instance['social-instagram'] ){ ?>
|
|
||||||
|
|
||||||
|
|
||||||
<li class="social-share-list list-group-item instagram-svg">
|
|
||||||
<a target="_blank" href="<?php echo esc_url( $instance['social-instagram'] );?>">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-instagram" viewBox="0 0 16 16"> <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"/> </svg>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
$html = ob_get_clean();
|
|
||||||
echo apply_filters( 'daisy_blog_widget_author_profile_widget_filter', $html, $args, $instance );
|
|
||||||
echo $args['after_widget'];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function form( $instance ) {
|
|
||||||
$obj = new Graphthemes_Widget_Functions();
|
|
||||||
|
|
||||||
$email = get_option('admin_email');
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : '';
|
|
||||||
$name = ! empty( $instance['name'] ) ? $instance['name'] : '';
|
|
||||||
$email = ! empty( $instance['email'] ) ? $instance['email'] : sanitize_email( $email );
|
|
||||||
$content = ! empty( $instance['content'] ) ? $instance['content'] : '';
|
|
||||||
$image = ! empty( $instance['image'] ) ? $instance['image'] : '';
|
|
||||||
$author_image = ! empty( $instance['author-image'] ) ? $instance['author-image'] : '';
|
|
||||||
$label = ! empty( $instance['label'] ) ? $instance['label'] : '';
|
|
||||||
$link = ! empty( $instance['link'] ) ? $instance['link'] : '';
|
|
||||||
$target = ! empty( $instance['target'] ) ? $instance['target'] : 0;
|
|
||||||
$socicon = ! empty( $instance['socicon'] ) ? $instance['socicon'] : '';
|
|
||||||
$option = ! empty( $instance['author-image-option'] ) ? $instance['author-image-option'] : 'gravatar';
|
|
||||||
$social_facebook = ! empty( $instance['social-facebook'] ) ? $instance['social-facebook'] : '';
|
|
||||||
$social_linkedin = ! empty( $instance['social-linkedin'] ) ? $instance['social-linkedin'] : '';
|
|
||||||
$social_twitter = ! empty( $instance['social-twitter'] ) ? $instance['social-twitter'] : '';
|
|
||||||
$social_instagram = ! empty( $instance['social-instagram'] ) ? $instance['social-instagram'] : '';
|
|
||||||
?>
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'name' ) ); ?>"><?php esc_html_e( 'Author Name', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'name' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'name' ) ); ?>" type="text" value="<?php echo esc_attr( $name ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label><?php esc_html_e('Display photo from:','zeitfresser'); ?></label>
|
|
||||||
|
|
||||||
<input class="author-image" type="radio" name="<?php echo esc_attr( $this->get_field_name( 'author-image-option' ) );?>" id="<?php echo esc_attr( $this->get_field_id( 'author-image-option' . '-gravatar' ) );?>" value="gravatar" <?php if( $option == 'gravatar' ) echo 'checked'; ?> />
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'author-image-option' . '-gravatar' ) );?>" class="radio-btn-wrap"><?php esc_html_e('Gravatar', 'zeitfresser');?></label>
|
|
||||||
|
|
||||||
<input class="author-image" type="radio" name="<?php echo esc_attr( $this->get_field_name( 'author-image-option' ) );?>" id="<?php echo esc_attr( $this->get_field_id( 'author-image-option' . '-photo' ) );?>" value="photo" <?php if( $option == 'photo' ) echo 'checked'; ?> />
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'author-image-option' . '-photo' ) );?>" class="radio-btn-wrap"><?php esc_html_e('Uploaded Photo','zeitfresser');?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input class="widefat author_image_url" id="<?php echo $this->get_field_id( 'author-image' ); ?>" name="<?php echo $this->get_field_name( 'author-image' ); ?>" type="text" value="<?php echo esc_url( $author_image ); ?>" />
|
|
||||||
<button class="upload_image_button button button-primary"><?php esc_html_e( "Select Image", 'zeitfresser' ); ?></button>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="author-email">
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'email' ) ); ?>"><?php esc_html_e( 'Author Email', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'email' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'email' ) ); ?>" type="text" value="<?php echo esc_attr( $email ); ?>" />
|
|
||||||
</p>
|
|
||||||
<div class="widget-side-note" class="example-text"><?php $grav_link = '<a href=' . esc_url( get_avatar_url( $email ) ) . ' target="_blank">' . esc_html__( "Gravatar", 'zeitfresser' ) . '</a>'; echo sprintf( __( 'You can show your %1$s image instead of manually uploading your photo. Just add your gravatar registered email address here.','zeitfresser'), $grav_link );?></div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'content' ) ); ?>"><?php esc_html_e( 'Description', 'zeitfresser' ); ?></label>
|
|
||||||
<textarea name="<?php echo esc_attr( $this->get_field_name( 'content' ) ); ?>" class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'content' ) ); ?>"><?php echo wp_kses_post( $content ); ?></textarea>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'label' ) ); ?>"><?php esc_html_e( 'Button Label', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'label' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'label' ) ); ?>" type="text" value="<?php echo esc_attr( $label ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'link' ) ); ?>"><?php esc_html_e( 'Button Link', 'zeitfresser' ); ?></label>
|
|
||||||
<input id="<?php echo esc_attr( $this->get_field_id( 'link' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'link' ) ); ?>" type="text" value="<?php echo esc_url( $link ); ?>" />
|
|
||||||
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>" <?php $j='0'; if( isset( $instance['target'] ) ){ $j='1'; } ?> value="1" <?php checked( $j, true ); ?> name="<?php echo esc_attr( $this->get_field_name( 'target' ) ); ?>" type="checkbox" />
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>"><?php esc_html_e( 'Open in New Tab', 'zeitfresser' ); ?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="widget-social-profile">
|
|
||||||
<label><h3><?php esc_html_e( "Social Profile", 'zeitfresser' ); ?></h3></label>
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'social-facebook' ) ); ?>"><?php esc_html_e( 'Facebook Profile', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'social-facebook' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'social-facebook' ) ); ?>" type="text" value="<?php echo esc_attr( $social_facebook ); ?>" />
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'social-linkedin' ) ); ?>"><?php esc_html_e( 'LinkedIn Profile', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'social-linkedin' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'social-linkedin' ) ); ?>" type="text" value="<?php echo esc_attr( $social_linkedin ); ?>" />
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'social-twitter' ) ); ?>"><?php esc_html_e( 'Twitter Profile', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'social-twitter' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'social-twitter' ) ); ?>" type="text" value="<?php echo esc_attr( $social_twitter ); ?>" />
|
|
||||||
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'social-instagram' ) ); ?>"><?php esc_html_e( 'Instagram Profile', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'social-instagram' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'social-instagram' ) ); ?>" type="text" value="<?php echo esc_attr( $social_instagram ); ?>" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sanitize widget form values as they are saved.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::update()
|
|
||||||
*
|
|
||||||
* @param array $new_instance Values just sent to be saved.
|
|
||||||
* @param array $old_instance Previously saved values from database.
|
|
||||||
*
|
|
||||||
* @return array Updated safe values to be saved.
|
|
||||||
*/
|
|
||||||
public function update( $new_instance, $old_instance ) {
|
|
||||||
|
|
||||||
$instance = array();
|
|
||||||
$email = get_option('admin_email');
|
|
||||||
|
|
||||||
$instance['title'] = ! empty( $new_instance['title'] ) ? sanitize_text_field( $new_instance['title'] ) : "";
|
|
||||||
$instance['name'] = ! empty( $new_instance['name'] ) ? sanitize_text_field( $new_instance['name'] ) : "" ;
|
|
||||||
$instance['email'] = ! empty( $new_instance['email'] ) ? sanitize_email( $new_instance['email'] ) : $email;
|
|
||||||
$instance['content'] = ! empty( $new_instance['content'] ) ? wp_kses_post( $new_instance['content'] ) : '';
|
|
||||||
$instance['image'] = ! empty( $new_instance['image'] ) ? esc_url( $new_instance['image'] ) : '';
|
|
||||||
$instance['author-image'] = ! empty( $new_instance['author-image'] ) ? esc_url( $new_instance['author-image'] ) : '';
|
|
||||||
$instance['label'] = ! empty( $new_instance['label'] ) ? wp_kses_post( $new_instance['label'] ) : '';
|
|
||||||
$instance['link'] = ! empty( $new_instance['link'] ) ? esc_url( $new_instance['link'] ) : '';
|
|
||||||
$instance['target'] = ! empty( $new_instance['target'] ) ? absint( $new_instance['target'] ) : 0;
|
|
||||||
$instance['socicon'] = ! empty( $new_instance['socicon'] ) ? wp_kses_post( $new_instance['socicon'] ) : '';
|
|
||||||
$instance['author-image-option'] = ! empty( $new_instance['author-image-option'] ) ? wp_kses_post( $new_instance['author-image-option'] ) : '';
|
|
||||||
$instance['social-facebook'] = ! empty( $new_instance['social-facebook'] ) ? esc_url( $new_instance['social-facebook'] ) : '';
|
|
||||||
$instance['social-linkedin'] = ! empty( $new_instance['social-linkedin'] ) ? esc_url( $new_instance['social-linkedin'] ) : '';
|
|
||||||
$instance['social-twitter'] = ! empty( $new_instance['social-twitter'] ) ? esc_url( $new_instance['social-twitter'] ) : '';
|
|
||||||
$instance['social-instagram'] = ! empty( $new_instance['social-instagram'] ) ? wp_kses_post( $new_instance['social-instagram'] ) : '';
|
|
||||||
|
|
||||||
|
|
||||||
return $instance;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
endif;
|
|
||||||
@@ -1,281 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Widget Popular Post
|
|
||||||
*
|
|
||||||
* @package Graphthemes_Widget
|
|
||||||
*/
|
|
||||||
|
|
||||||
// register Graphthemes_Widget_Popular_Post widget
|
|
||||||
function zeitfresser_register_popular_post_widget() {
|
|
||||||
register_widget( 'Graphthemes_Widget_Popular_Post' );
|
|
||||||
}
|
|
||||||
add_action( 'widgets_init', 'zeitfresser_register_popular_post_widget' );
|
|
||||||
|
|
||||||
if( ! class_exists( 'Graphthemes_Widget_Popular_Post' ) ) :
|
|
||||||
/**
|
|
||||||
* Adds Graphthemes_Widget_Popular_Post widget.
|
|
||||||
*/
|
|
||||||
class Graphthemes_Widget_Popular_Post extends WP_Widget {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register widget with WordPress.
|
|
||||||
*/
|
|
||||||
function __construct(){
|
|
||||||
if( ! is_customize_preview() ) add_action('wp', array( $this, 'zeitfresser_set_views' ) );
|
|
||||||
|
|
||||||
parent::__construct(
|
|
||||||
'daisy_blog_widget_popular_post', // Base ID
|
|
||||||
esc_html__( 'Graphthemes: Popular Post', 'zeitfresser' ), // Name
|
|
||||||
array( 'description' => esc_html__( 'A Popular Post Widget', 'zeitfresser' ), ) // Args
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function to add the post view count
|
|
||||||
*/
|
|
||||||
function zeitfresser_set_views( $post_id ) {
|
|
||||||
if ( in_the_loop() ) {
|
|
||||||
$post_id = get_the_ID();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
global $wp_query;
|
|
||||||
$post_id = $wp_query->get_queried_object_id();
|
|
||||||
}
|
|
||||||
if( is_singular( 'post' ) )
|
|
||||||
{
|
|
||||||
$count_key = '_daisy_blog_view_count';
|
|
||||||
$count = get_post_meta( $post_id, $count_key, true );
|
|
||||||
if( $count == '' ){
|
|
||||||
$count = 0;
|
|
||||||
delete_post_meta( $post_id, $count_key );
|
|
||||||
add_post_meta( $post_id, $count_key, '1' );
|
|
||||||
}else{
|
|
||||||
$count++;
|
|
||||||
update_post_meta( $post_id, $count_key, $count );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Function to get the post view count
|
|
||||||
*/
|
|
||||||
function zeitfresser_get_views( $post_id ){
|
|
||||||
$count_key = '_daisy_blog_view_count';
|
|
||||||
$count = get_post_meta( $post_id, $count_key, true );
|
|
||||||
if( $count == '' ){
|
|
||||||
return __( "0 View", 'zeitfresser' );
|
|
||||||
}elseif($count<=1){
|
|
||||||
return $count. __(' View', 'zeitfresser' );
|
|
||||||
}else{
|
|
||||||
return $count. __(' Views', 'zeitfresser' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Front-end display of widget.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::widget()
|
|
||||||
*
|
|
||||||
* @param array $args Widget arguments.
|
|
||||||
* @param array $instance Saved values from database.
|
|
||||||
*/
|
|
||||||
public function widget( $args, $instance ) {
|
|
||||||
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Popular Posts', 'zeitfresser' );
|
|
||||||
$num_post = ! empty( $instance['num_post'] ) ? $instance['num_post'] : 3 ;
|
|
||||||
$show_thumbnail = ! empty( $instance['show_thumbnail'] ) ? $instance['show_thumbnail'] : '';
|
|
||||||
$show_date = ! empty( $instance['show_postdate'] ) ? $instance['show_postdate'] : '';
|
|
||||||
$based_on = ! empty( $instance['based_on'] ) ? $instance['based_on'] : 'views';
|
|
||||||
$comment_num = ! empty( $instance['comment_num'] ) ? $instance['comment_num'] : '';
|
|
||||||
$view_count = ! empty( $instance['view_count'] ) ? $instance['view_count'] : '';
|
|
||||||
$style = ! empty( $instance['style'] ) ? $instance['style'] : 'style-one';
|
|
||||||
|
|
||||||
$cat = get_theme_mod( 'exclude_categories' );
|
|
||||||
if( $cat ) $cat = array_diff( array_unique( $cat ), array('') );
|
|
||||||
|
|
||||||
$arg = array(
|
|
||||||
'post_type' => 'post',
|
|
||||||
'post_status' => 'publish',
|
|
||||||
'posts_per_page' => $num_post,
|
|
||||||
'ignore_sticky_posts' => true,
|
|
||||||
'no_found_rows' => true,
|
|
||||||
'update_post_meta_cache' => false,
|
|
||||||
'update_post_term_cache' => false,
|
|
||||||
'category__not_in' => $cat
|
|
||||||
);
|
|
||||||
|
|
||||||
if( $based_on == 'views' ){
|
|
||||||
$arg['orderby'] = 'meta_value_num';
|
|
||||||
$arg['meta_key'] = '_daisy_blog_view_count';
|
|
||||||
}elseif( $based_on == 'comments' ){
|
|
||||||
$arg['orderby'] = 'comment_count';
|
|
||||||
}
|
|
||||||
|
|
||||||
$obj = new Graphthemes_Widget_Functions;
|
|
||||||
|
|
||||||
$daisy_blog_widget_popular_post_size = apply_filters('daisy_blog_widget_popular_post_size', 'thumbnail');
|
|
||||||
$arg['no_found_rows'] = true;
|
|
||||||
$arg['update_post_meta_cache'] = false;
|
|
||||||
$arg['update_post_term_cache'] = false;
|
|
||||||
$qry = new WP_Query( $arg );
|
|
||||||
|
|
||||||
if( $qry->have_posts() ){
|
|
||||||
|
|
||||||
echo $args['before_widget'];
|
|
||||||
ob_start();
|
|
||||||
|
|
||||||
if( $title ) echo $args['before_title'] . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $args['after_title'];
|
|
||||||
|
|
||||||
$target = 'target="_self"';
|
|
||||||
if( isset($instance['target']) && $instance['target']!='' )
|
|
||||||
{
|
|
||||||
$target = 'target="_blank"';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<ul>
|
|
||||||
<?php
|
|
||||||
while( $qry->have_posts() ){
|
|
||||||
$qry->the_post();
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<?php
|
|
||||||
if( $show_thumbnail ){ ?>
|
|
||||||
<a <?php echo $target;?> href="<?php the_permalink();?>" class="post-thumbnail">
|
|
||||||
<?php
|
|
||||||
if( has_post_thumbnail() && $show_thumbnail ){
|
|
||||||
the_post_thumbnail( $daisy_blog_widget_popular_post_size, array( 'itemprop' => 'image' ) );
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</a>
|
|
||||||
<?php }
|
|
||||||
?>
|
|
||||||
<div class="entry-header">
|
|
||||||
<h6 class="entry-title"><a <?php echo $target;?> href="<?php the_permalink(); ?>"><?php the_title();?></a></h6>
|
|
||||||
|
|
||||||
<?php if( $show_date ){ ?>
|
|
||||||
<div class="entry-meta info">
|
|
||||||
<?php
|
|
||||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
|
||||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
|
||||||
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$time_string = sprintf(
|
|
||||||
$time_string,
|
|
||||||
esc_attr( get_the_date( DATE_W3C ) ),
|
|
||||||
esc_html( get_the_date() ),
|
|
||||||
esc_attr( get_the_modified_date( DATE_W3C ) ),
|
|
||||||
esc_html( get_the_modified_date() )
|
|
||||||
);
|
|
||||||
?>
|
|
||||||
<?php echo $time_string; ?>
|
|
||||||
</div>
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
|
|
||||||
<?php if( $based_on == 'views' && $view_count ){ ?>
|
|
||||||
<span class="view-count"><?php echo esc_html( $this->zeitfresser_get_views( get_the_ID() ) );?></span>
|
|
||||||
<?php }
|
|
||||||
elseif( $based_on == 'comments' && $comment_num ){ ?>
|
|
||||||
<span class="comment-count"><i class="fa fa-comment" aria-hidden="true"></i><?php echo absint( get_comments_number() ); ?></span>
|
|
||||||
<?php } ?>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
wp_reset_postdata();
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
<?php
|
|
||||||
$html = ob_get_clean();
|
|
||||||
echo apply_filters( 'daisy_blog_widget_popular_post_widget_filter', $html, $args, $instance );
|
|
||||||
echo $args['after_widget'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Back-end widget form.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::form()
|
|
||||||
*
|
|
||||||
* @param array $instance Previously saved values from database.
|
|
||||||
*/
|
|
||||||
public function form( $instance ) {
|
|
||||||
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Popular Posts', 'zeitfresser' );
|
|
||||||
$num_post = ! empty( $instance['num_post'] ) ? $instance['num_post'] : 3 ;
|
|
||||||
$show_thumbnail = ! empty( $instance['show_thumbnail'] ) ? $instance['show_thumbnail'] : '';
|
|
||||||
$show_postdate = ! empty( $instance['show_postdate'] ) ? $instance['show_postdate'] : '';
|
|
||||||
$based_on = ! empty( $instance['based_on'] ) ? $instance['based_on'] : 'views';
|
|
||||||
$comment_num = ! empty( $instance['comment_num'] ) ? $instance['comment_num'] : '';
|
|
||||||
$view_count = ! empty( $instance['view_count'] ) ? $instance['view_count'] : '';
|
|
||||||
$style = ! empty( $instance['style'] ) ? $instance['style'] : 'style-one';
|
|
||||||
$target = ! empty( $instance['target'] ) ? $instance['target'] : '';
|
|
||||||
?>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'num_post' ) ); ?>"><?php esc_html_e( 'Number of Posts', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'num_post' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'num_post' ) ); ?>" type="number" step="1" min="1" value="<?php echo esc_attr( $num_post ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>"><?php esc_html_e( 'Popular based on:', 'zeitfresser' ); ?></label>
|
|
||||||
<select id="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'based_on' ) ); ?>" class="based-on">
|
|
||||||
<option value="views" <?php selected( $based_on, 'views' ); ?>><?php esc_html_e( 'Post Views', 'zeitfresser' ); ?></option>
|
|
||||||
<option value="comments" <?php selected( $based_on, 'comments' ); ?>><?php esc_html_e( 'Comment Count', 'zeitfresser' ); ?></option>
|
|
||||||
</select>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input id="<?php echo esc_attr( $this->get_field_id( 'show_thumbnail' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'show_thumbnail' ) ); ?>" type="checkbox" value="1" <?php checked( '1', $show_thumbnail ); ?>/>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'show_thumbnail' ) ); ?>"><?php esc_html_e( 'Show Post Thumbnail', 'zeitfresser' ); ?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input id="<?php echo esc_attr( $this->get_field_id( 'show_postdate' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'show_postdate' ) ); ?>" type="checkbox" value="1" <?php checked( '1', $show_postdate ); ?>/>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'show_postdate' ) ); ?>"><?php esc_html_e( 'Show Post Date', 'zeitfresser' ); ?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>">
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'target' ) ); ?>" type="checkbox" value="1" <?php echo checked($target,1);?> /><?php esc_html_e( 'Open in New Tab', 'zeitfresser' ); ?> </label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sanitize widget form values as they are saved.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::update()
|
|
||||||
*
|
|
||||||
* @param array $new_instance Values just sent to be saved.
|
|
||||||
* @param array $old_instance Previously saved values from database.
|
|
||||||
*
|
|
||||||
* @return array Updated safe values to be saved.
|
|
||||||
*/
|
|
||||||
public function update( $new_instance, $old_instance ) {
|
|
||||||
|
|
||||||
$instance = array();
|
|
||||||
$instance['title'] = ! empty( $new_instance['title'] ) ? sanitize_text_field( $new_instance['title'] ) : __( 'Recent Posts', 'zeitfresser' );
|
|
||||||
$instance['num_post'] = ! empty( $new_instance['num_post'] ) ? absint( $new_instance['num_post'] ) : 3 ;
|
|
||||||
$instance['show_thumbnail'] = ! empty( $new_instance['show_thumbnail'] ) ? absint( $new_instance['show_thumbnail'] ) : '';
|
|
||||||
$instance['show_postdate'] = ! empty( $new_instance['show_postdate'] ) ? absint( $new_instance['show_postdate'] ) : '';
|
|
||||||
$instance['based_on'] = ! empty( $new_instance['based_on'] ) ? esc_attr( $new_instance['based_on'] ) : 'views';
|
|
||||||
$instance['comment_num'] = ! empty( $new_instance['comment_num'] ) ? absint( $new_instance['comment_num'] ) : '';
|
|
||||||
$instance['view_count'] = ! empty( $new_instance['view_count'] ) ? absint( $new_instance['view_count'] ) : '';
|
|
||||||
$instance['style'] = ! empty( $new_instance['style'] ) ? esc_attr( $new_instance['style'] ) : 'style-one';
|
|
||||||
$instance['target'] = ! empty( $new_instance['target'] ) ? esc_attr( $new_instance['target'] ) : '';
|
|
||||||
|
|
||||||
return $instance;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} // class Graphthemes_Widget_Popular_Post
|
|
||||||
endif;
|
|
||||||
@@ -1,190 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// register Daisy_Blog_Recent_Post widget
|
|
||||||
function zeitfresser_register_recent_post_widget() {
|
|
||||||
register_widget( 'Daisy_Blog_Recent_Post' );
|
|
||||||
}
|
|
||||||
add_action( 'widgets_init', 'zeitfresser_register_recent_post_widget' );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds Daisy_Blog_Recent_Post widget.
|
|
||||||
*/
|
|
||||||
class Daisy_Blog_Recent_Post extends WP_Widget {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register widget with WordPress.
|
|
||||||
*/
|
|
||||||
function __construct() {
|
|
||||||
parent::__construct(
|
|
||||||
'daisy_blog_widget_recent_post', // Base ID
|
|
||||||
__( 'Graphthemes: Recent Post', 'zeitfresser' ), // Name
|
|
||||||
array( 'description' => __( 'A Recent Post Widget', 'zeitfresser' ), ) // Args
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Front-end display of widget.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::widget()
|
|
||||||
*
|
|
||||||
* @param array $args Widget arguments.
|
|
||||||
* @param array $instance Saved values from database.
|
|
||||||
*/
|
|
||||||
public function widget( $args, $instance ) {
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Recent Posts', 'zeitfresser' );
|
|
||||||
$num_post = ! empty( $instance['num_post'] ) ? $instance['num_post'] : 3 ;
|
|
||||||
$show_thumb = ! empty( $instance['show_thumbnail'] ) ? $instance['show_thumbnail'] : '';
|
|
||||||
$show_date = ! empty( $instance['show_postdate'] ) ? $instance['show_postdate'] : '';
|
|
||||||
$cats[] = '';
|
|
||||||
$cat = apply_filters( 'daisy_blog_pro_exclude_categories', $cats );
|
|
||||||
$style = ! empty( $instance['style'] ) ? $instance['style'] : 'style-one';
|
|
||||||
|
|
||||||
$target = 'target="_self"';
|
|
||||||
if( isset($instance['target']) && $instance['target']!='' ){
|
|
||||||
$target = 'target="_blank"';
|
|
||||||
}
|
|
||||||
|
|
||||||
$obj = new Graphthemes_Widget_Functions;
|
|
||||||
|
|
||||||
$daisy_blog_recent_post_size = apply_filters('daisy_blog_recent_post_size', 'thumbnail');
|
|
||||||
$qry = new WP_Query( array(
|
|
||||||
'post_type' => 'post',
|
|
||||||
'post_status' => 'publish',
|
|
||||||
'posts_per_page' => $num_post,
|
|
||||||
'ignore_sticky_posts' => true,
|
|
||||||
'no_found_rows' => true,
|
|
||||||
'update_post_meta_cache' => false,
|
|
||||||
'update_post_term_cache' => false,
|
|
||||||
'category__not_in' => $cat
|
|
||||||
) );
|
|
||||||
if( $qry->have_posts() ){
|
|
||||||
echo $args['before_widget'];
|
|
||||||
ob_start();
|
|
||||||
if( $title ) echo $args['before_title'] . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $args['after_title'];
|
|
||||||
?>
|
|
||||||
<ul>
|
|
||||||
<?php
|
|
||||||
while( $qry->have_posts() ){
|
|
||||||
$qry->the_post();
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<?php
|
|
||||||
if( $show_thumb ){ ?>
|
|
||||||
<a <?php echo $target; ?> href="<?php the_permalink();?>" class="post-thumbnail">
|
|
||||||
<?php
|
|
||||||
if( has_post_thumbnail() && $show_thumb ){
|
|
||||||
the_post_thumbnail( $daisy_blog_recent_post_size, array( 'itemprop' => 'image' ) );
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</a>
|
|
||||||
<?php }
|
|
||||||
?>
|
|
||||||
<div class="entry-header">
|
|
||||||
<h6 class="entry-title"><a <?php echo $target; ?> href="<?php the_permalink(); ?>"><?php the_title();?></a></h6>
|
|
||||||
|
|
||||||
<?php if( $show_date ){ ?>
|
|
||||||
<div class="entry-meta info">
|
|
||||||
<?php
|
|
||||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
|
||||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
|
||||||
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$time_string = sprintf(
|
|
||||||
$time_string,
|
|
||||||
esc_attr( get_the_date( DATE_W3C ) ),
|
|
||||||
esc_html( get_the_date() ),
|
|
||||||
esc_attr( get_the_modified_date( DATE_W3C ) ),
|
|
||||||
esc_html( get_the_modified_date() )
|
|
||||||
);
|
|
||||||
?>
|
|
||||||
<?php echo $time_string; ?>
|
|
||||||
</div>
|
|
||||||
<?php } ?>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
wp_reset_postdata();
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
<?php
|
|
||||||
$html = ob_get_clean();
|
|
||||||
echo apply_filters( 'daisy_blog_recent_post_widget_filter', $html, $args, $instance );
|
|
||||||
echo $args['after_widget'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Back-end widget form.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::form()
|
|
||||||
*
|
|
||||||
* @param array $instance Previously saved values from database.
|
|
||||||
*/
|
|
||||||
public function form( $instance ) {
|
|
||||||
|
|
||||||
$title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Recent Posts', 'zeitfresser' );
|
|
||||||
$num_post = ! empty( $instance['num_post'] ) ? $instance['num_post'] : 3 ;
|
|
||||||
$show_thumbnail = ! empty( $instance['show_thumbnail'] ) ? $instance['show_thumbnail'] : '';
|
|
||||||
$show_postdate = ! empty( $instance['show_postdate'] ) ? $instance['show_postdate'] : '';
|
|
||||||
$style = ! empty( $instance['style'] ) ? $instance['style'] : 'style-one';
|
|
||||||
$target = ! empty( $instance['target'] ) ? $instance['target'] : '';
|
|
||||||
?>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_html_e( 'Title', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'num_post' ) ); ?>"><?php esc_html_e( 'Number of Posts', 'zeitfresser' ); ?></label>
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'num_post' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'num_post' ) ); ?>" type="number" step="1" min="1" value="<?php echo esc_attr( $num_post ); ?>" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input id="<?php echo esc_attr( $this->get_field_id( 'show_thumbnail' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'show_thumbnail' ) ); ?>" type="checkbox" value="1" <?php checked( '1', $show_thumbnail ); ?>/>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'show_thumbnail' ) ); ?>"><?php esc_html_e( 'Show Post Thumbnail', 'zeitfresser' ); ?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input id="<?php echo esc_attr( $this->get_field_id( 'show_postdate' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'show_postdate' ) ); ?>" type="checkbox" value="1" <?php checked( '1', $show_postdate ); ?>/>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'show_postdate' ) ); ?>"><?php esc_html_e( 'Show Post Date', 'zeitfresser' ); ?></label>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<label for="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>">
|
|
||||||
<input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'target' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'target' ) ); ?>" type="checkbox" value="1" <?php echo checked($target,1);?> /><?php esc_html_e( 'Open in New Tab', 'zeitfresser' ); ?> </label>
|
|
||||||
</p>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sanitize widget form values as they are saved.
|
|
||||||
*
|
|
||||||
* @see WP_Widget::update()
|
|
||||||
*
|
|
||||||
* @param array $new_instance Values just sent to be saved.
|
|
||||||
* @param array $old_instance Previously saved values from database.
|
|
||||||
*
|
|
||||||
* @return array Updated safe values to be saved.
|
|
||||||
*/
|
|
||||||
public function update( $new_instance, $old_instance ) {
|
|
||||||
|
|
||||||
$instance = array();
|
|
||||||
|
|
||||||
$instance['title'] = ! empty( $new_instance['title'] ) ? sanitize_text_field( $new_instance['title'] ) : __( 'Recent Posts', 'zeitfresser' );
|
|
||||||
$instance['num_post'] = ! empty( $new_instance['num_post'] ) ? absint( $new_instance['num_post'] ) : 3 ;
|
|
||||||
$instance['show_thumbnail'] = ! empty( $new_instance['show_thumbnail'] ) ? absint( $new_instance['show_thumbnail'] ) : '';
|
|
||||||
$instance['show_postdate'] = ! empty( $new_instance['show_postdate'] ) ? absint( $new_instance['show_postdate'] ) : '';
|
|
||||||
$instance['style'] = ! empty( $new_instance['style'] ) ? esc_attr( $new_instance['style'] ) : 'style-one';
|
|
||||||
|
|
||||||
$instance['target'] = ! empty( $new_instance['target'] ) ? esc_attr( $new_instance['target'] ) : '';
|
|
||||||
|
|
||||||
return $instance;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Legacy compatibility aliases for old Daisy-prefixed callbacks.
|
|
||||||
*
|
|
||||||
* @package zeitfresser
|
|
||||||
*/
|
|
||||||
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) { exit; }
|
|
||||||
|
|
||||||
if ( ! function_exists( 'daisy_blog_body_classes' ) && function_exists( 'zeitfresser_body_classes' ) ) { function daisy_blog_body_classes(...$args) { return zeitfresser_body_classes(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_check_varient' ) && function_exists( 'zeitfresser_check_varient' ) ) { function daisy_blog_check_varient(...$args) { return zeitfresser_check_varient(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_color_section' ) && function_exists( 'zeitfresser_color_section' ) ) { function daisy_blog_color_section(...$args) { return zeitfresser_color_section(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_container_width' ) && function_exists( 'zeitfresser_container_width' ) ) { function daisy_blog_container_width(...$args) { return zeitfresser_container_width(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_container_width_dynamic_css' ) && function_exists( 'zeitfresser_container_width_dynamic_css' ) ) { function daisy_blog_container_width_dynamic_css(...$args) { return zeitfresser_container_width_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_container_width_enqueue_scripts' ) && function_exists( 'zeitfresser_container_width_enqueue_scripts' ) ) { function daisy_blog_container_width_enqueue_scripts(...$args) { return zeitfresser_container_width_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_content_width' ) && function_exists( 'zeitfresser_content_width' ) ) { function daisy_blog_content_width(...$args) { return zeitfresser_content_width(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_custom_header_setup' ) && function_exists( 'zeitfresser_custom_header_setup' ) ) { function daisy_blog_custom_header_setup(...$args) { return zeitfresser_custom_header_setup(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_customize_partial_blogdescription' ) && function_exists( 'zeitfresser_customize_partial_blogdescription' ) ) { function daisy_blog_customize_partial_blogdescription(...$args) { return zeitfresser_customize_partial_blogdescription(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_customize_partial_blogname' ) && function_exists( 'zeitfresser_customize_partial_blogname' ) ) { function daisy_blog_customize_partial_blogname(...$args) { return zeitfresser_customize_partial_blogname(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_customize_preview_js' ) && function_exists( 'zeitfresser_customize_preview_js' ) ) { function daisy_blog_customize_preview_js(...$args) { return zeitfresser_customize_preview_js(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_customize_register' ) && function_exists( 'zeitfresser_customize_register' ) ) { function daisy_blog_customize_register(...$args) { return zeitfresser_customize_register(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_customize_register_footer_copyright' ) && function_exists( 'zeitfresser_customize_register_footer_copyright' ) ) { function daisy_blog_customize_register_footer_copyright(...$args) { return zeitfresser_customize_register_footer_copyright(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_dark_color' ) && function_exists( 'zeitfresser_dark_color' ) ) { function daisy_blog_dark_color(...$args) { return zeitfresser_dark_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_dark_color_dynamic_css' ) && function_exists( 'zeitfresser_dark_color_dynamic_css' ) ) { function daisy_blog_dark_color_dynamic_css(...$args) { return zeitfresser_dark_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_dark_color_enqueue_scripts' ) && function_exists( 'zeitfresser_dark_color_enqueue_scripts' ) ) { function daisy_blog_dark_color_enqueue_scripts(...$args) { return zeitfresser_dark_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_entry_footer' ) && function_exists( 'zeitfresser_entry_footer' ) ) { function daisy_blog_entry_footer(...$args) { return zeitfresser_entry_footer(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_size' ) && function_exists( 'zeitfresser_font_size' ) ) { function daisy_blog_font_size(...$args) { return zeitfresser_font_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_size_dynamic_css' ) && function_exists( 'zeitfresser_font_size_dynamic_css' ) ) { function daisy_blog_font_size_dynamic_css(...$args) { return zeitfresser_font_size_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_size_enqueue_scripts' ) && function_exists( 'zeitfresser_font_size_enqueue_scripts' ) ) { function daisy_blog_font_size_enqueue_scripts(...$args) { return zeitfresser_font_size_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_weight' ) && function_exists( 'zeitfresser_font_weight' ) ) { function daisy_blog_font_weight(...$args) { return zeitfresser_font_weight(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_weight_dynamic_css' ) && function_exists( 'zeitfresser_font_weight_dynamic_css' ) ) { function daisy_blog_font_weight_dynamic_css(...$args) { return zeitfresser_font_weight_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_font_weight_enqueue_scripts' ) && function_exists( 'zeitfresser_font_weight_enqueue_scripts' ) ) { function daisy_blog_font_weight_enqueue_scripts(...$args) { return zeitfresser_font_weight_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_fonts_url' ) && function_exists( 'zeitfresser_fonts_url' ) ) { function daisy_blog_fonts_url(...$args) { return zeitfresser_fonts_url(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_free_pro' ) && function_exists( 'zeitfresser_free_pro' ) ) { function daisy_blog_free_pro(...$args) { return zeitfresser_free_pro(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_background_color' ) && function_exists( 'zeitfresser_get_default_background_color' ) ) { function daisy_blog_get_default_background_color(...$args) { return zeitfresser_get_default_background_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_breadcrumbs' ) && function_exists( 'zeitfresser_get_default_breadcrumbs' ) ) { function daisy_blog_get_default_breadcrumbs(...$args) { return zeitfresser_get_default_breadcrumbs(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_container_width' ) && function_exists( 'zeitfresser_get_default_container_width' ) ) { function daisy_blog_get_default_container_width(...$args) { return zeitfresser_get_default_container_width(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_dark_color' ) && function_exists( 'zeitfresser_get_default_dark_color' ) ) { function daisy_blog_get_default_dark_color(...$args) { return zeitfresser_get_default_dark_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_font_size' ) && function_exists( 'zeitfresser_get_default_font_size' ) ) { function daisy_blog_get_default_font_size(...$args) { return zeitfresser_get_default_font_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_font_weight' ) && function_exists( 'zeitfresser_get_default_font_weight' ) ) { function daisy_blog_get_default_font_weight(...$args) { return zeitfresser_get_default_font_weight(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_footer_copyright' ) && function_exists( 'zeitfresser_get_default_footer_copyright' ) ) { function daisy_blog_get_default_footer_copyright(...$args) { return zeitfresser_get_default_footer_copyright(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_grey_color' ) && function_exists( 'zeitfresser_get_default_grey_color' ) ) { function daisy_blog_get_default_grey_color(...$args) { return zeitfresser_get_default_grey_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_light_color' ) && function_exists( 'zeitfresser_get_default_light_color' ) ) { function daisy_blog_get_default_light_color(...$args) { return zeitfresser_get_default_light_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_line_height' ) && function_exists( 'zeitfresser_get_default_line_height' ) ) { function daisy_blog_get_default_line_height(...$args) { return zeitfresser_get_default_line_height(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_logo_size' ) && function_exists( 'zeitfresser_get_default_logo_size' ) ) { function daisy_blog_get_default_logo_size(...$args) { return zeitfresser_get_default_logo_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_main_font_family' ) && function_exists( 'zeitfresser_get_default_main_font_family' ) ) { function daisy_blog_get_default_main_font_family(...$args) { return zeitfresser_get_default_main_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_author' ) && function_exists( 'zeitfresser_get_default_post_detail_author' ) ) { function daisy_blog_get_default_post_detail_author(...$args) { return zeitfresser_get_default_post_detail_author(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_author_block' ) && function_exists( 'zeitfresser_get_default_post_detail_author_block' ) ) { function daisy_blog_get_default_post_detail_author_block(...$args) { return zeitfresser_get_default_post_detail_author_block(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_category' ) && function_exists( 'zeitfresser_get_default_post_detail_category' ) ) { function daisy_blog_get_default_post_detail_category(...$args) { return zeitfresser_get_default_post_detail_category(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_comment' ) && function_exists( 'zeitfresser_get_default_post_detail_comment' ) ) { function daisy_blog_get_default_post_detail_comment(...$args) { return zeitfresser_get_default_post_detail_comment(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_date' ) && function_exists( 'zeitfresser_get_default_post_detail_date' ) ) { function daisy_blog_get_default_post_detail_date(...$args) { return zeitfresser_get_default_post_detail_date(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_featured_image' ) && function_exists( 'zeitfresser_get_default_post_detail_featured_image' ) ) { function daisy_blog_get_default_post_detail_featured_image(...$args) { return zeitfresser_get_default_post_detail_featured_image(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_featured_image_size' ) && function_exists( 'zeitfresser_get_default_post_detail_featured_image_size' ) ) { function daisy_blog_get_default_post_detail_featured_image_size(...$args) { return zeitfresser_get_default_post_detail_featured_image_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_related_articles' ) && function_exists( 'zeitfresser_get_default_post_detail_related_articles' ) ) { function daisy_blog_get_default_post_detail_related_articles(...$args) { return zeitfresser_get_default_post_detail_related_articles(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_related_articles_title' ) && function_exists( 'zeitfresser_get_default_post_detail_related_articles_title' ) ) { function daisy_blog_get_default_post_detail_related_articles_title(...$args) { return zeitfresser_get_default_post_detail_related_articles_title(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_social_share' ) && function_exists( 'zeitfresser_get_default_post_detail_social_share' ) ) { function daisy_blog_get_default_post_detail_social_share(...$args) { return zeitfresser_get_default_post_detail_social_share(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_social_share_options' ) && function_exists( 'zeitfresser_get_default_post_detail_social_share_options' ) ) { function daisy_blog_get_default_post_detail_social_share_options(...$args) { return zeitfresser_get_default_post_detail_social_share_options(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_detail_tag' ) && function_exists( 'zeitfresser_get_default_post_detail_tag' ) ) { function daisy_blog_get_default_post_detail_tag(...$args) { return zeitfresser_get_default_post_detail_tag(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_author' ) && function_exists( 'zeitfresser_get_default_post_snippet_author' ) ) { function daisy_blog_get_default_post_snippet_author(...$args) { return zeitfresser_get_default_post_snippet_author(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_category' ) && function_exists( 'zeitfresser_get_default_post_snippet_category' ) ) { function daisy_blog_get_default_post_snippet_category(...$args) { return zeitfresser_get_default_post_snippet_category(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_comment' ) && function_exists( 'zeitfresser_get_default_post_snippet_comment' ) ) { function daisy_blog_get_default_post_snippet_comment(...$args) { return zeitfresser_get_default_post_snippet_comment(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_date' ) && function_exists( 'zeitfresser_get_default_post_snippet_date' ) ) { function daisy_blog_get_default_post_snippet_date(...$args) { return zeitfresser_get_default_post_snippet_date(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_excerpt_size' ) && function_exists( 'zeitfresser_get_default_post_snippet_excerpt_size' ) ) { function daisy_blog_get_default_post_snippet_excerpt_size(...$args) { return zeitfresser_get_default_post_snippet_excerpt_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_featured_image' ) && function_exists( 'zeitfresser_get_default_post_snippet_featured_image' ) ) { function daisy_blog_get_default_post_snippet_featured_image(...$args) { return zeitfresser_get_default_post_snippet_featured_image(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_featured_image_size' ) && function_exists( 'zeitfresser_get_default_post_snippet_featured_image_size' ) ) { function daisy_blog_get_default_post_snippet_featured_image_size(...$args) { return zeitfresser_get_default_post_snippet_featured_image_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_read_more_text' ) && function_exists( 'zeitfresser_get_default_post_snippet_read_more_text' ) ) { function daisy_blog_get_default_post_snippet_read_more_text(...$args) { return zeitfresser_get_default_post_snippet_read_more_text(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_show_hide_read_more' ) && function_exists( 'zeitfresser_get_default_post_snippet_show_hide_read_more' ) ) { function daisy_blog_get_default_post_snippet_show_hide_read_more(...$args) { return zeitfresser_get_default_post_snippet_show_hide_read_more(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_social_share' ) && function_exists( 'zeitfresser_get_default_post_snippet_social_share' ) ) { function daisy_blog_get_default_post_snippet_social_share(...$args) { return zeitfresser_get_default_post_snippet_social_share(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_social_share_options' ) && function_exists( 'zeitfresser_get_default_post_snippet_social_share_options' ) ) { function daisy_blog_get_default_post_snippet_social_share_options(...$args) { return zeitfresser_get_default_post_snippet_social_share_options(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_post_snippet_tag' ) && function_exists( 'zeitfresser_get_default_post_snippet_tag' ) ) { function daisy_blog_get_default_post_snippet_tag(...$args) { return zeitfresser_get_default_post_snippet_tag(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_primary_color' ) && function_exists( 'zeitfresser_get_default_primary_color' ) ) { function daisy_blog_get_default_primary_color(...$args) { return zeitfresser_get_default_primary_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_secondary_color' ) && function_exists( 'zeitfresser_get_default_secondary_color' ) ) { function daisy_blog_get_default_secondary_color(...$args) { return zeitfresser_get_default_secondary_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_secondary_font_family' ) && function_exists( 'zeitfresser_get_default_secondary_font_family' ) ) { function daisy_blog_get_default_secondary_font_family(...$args) { return zeitfresser_get_default_secondary_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_site_identity_font_family' ) && function_exists( 'zeitfresser_get_default_site_identity_font_family' ) ) { function daisy_blog_get_default_site_identity_font_family(...$args) { return zeitfresser_get_default_site_identity_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_site_identity_font_size' ) && function_exists( 'zeitfresser_get_default_site_identity_font_size' ) ) { function daisy_blog_get_default_site_identity_font_size(...$args) { return zeitfresser_get_default_site_identity_font_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_site_tagline_show_hide' ) && function_exists( 'zeitfresser_get_default_site_tagline_show_hide' ) ) { function daisy_blog_get_default_site_tagline_show_hide(...$args) { return zeitfresser_get_default_site_tagline_show_hide(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_site_title_color' ) && function_exists( 'zeitfresser_get_default_site_title_color' ) ) { function daisy_blog_get_default_site_title_color(...$args) { return zeitfresser_get_default_site_title_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_site_title_show_hide' ) && function_exists( 'zeitfresser_get_default_site_title_show_hide' ) ) { function daisy_blog_get_default_site_title_show_hide(...$args) { return zeitfresser_get_default_site_title_show_hide(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_default_sticky_menu' ) && function_exists( 'zeitfresser_get_default_sticky_menu' ) ) { function daisy_blog_get_default_sticky_menu(...$args) { return zeitfresser_get_default_sticky_menu(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_google_fonts' ) && function_exists( 'zeitfresser_get_google_fonts' ) ) { function daisy_blog_get_google_fonts(...$args) { return zeitfresser_get_google_fonts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_views' ) && function_exists( 'zeitfresser_get_views' ) ) { function daisy_blog_get_views(...$args) { return zeitfresser_get_views(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_get_websafe_font' ) && function_exists( 'zeitfresser_get_websafe_font' ) ) { function daisy_blog_get_websafe_font(...$args) { return zeitfresser_get_websafe_font(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_google_font_local' ) && function_exists( 'zeitfresser_google_font_local' ) ) { function daisy_blog_google_font_local(...$args) { return zeitfresser_google_font_local(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_google_fonts' ) && function_exists( 'zeitfresser_google_fonts' ) ) { function daisy_blog_google_fonts(...$args) { return zeitfresser_google_fonts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_google_fonts_scripts' ) && function_exists( 'zeitfresser_google_fonts_scripts' ) ) { function daisy_blog_google_fonts_scripts(...$args) { return zeitfresser_google_fonts_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_grey_color' ) && function_exists( 'zeitfresser_grey_color' ) ) { function daisy_blog_grey_color(...$args) { return zeitfresser_grey_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_grey_color_dynamic_css' ) && function_exists( 'zeitfresser_grey_color_dynamic_css' ) ) { function daisy_blog_grey_color_dynamic_css(...$args) { return zeitfresser_grey_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_grey_color_enqueue_scripts' ) && function_exists( 'zeitfresser_grey_color_enqueue_scripts' ) ) { function daisy_blog_grey_color_enqueue_scripts(...$args) { return zeitfresser_grey_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_header_style' ) && function_exists( 'zeitfresser_header_style' ) ) { function daisy_blog_header_style(...$args) { return zeitfresser_header_style(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_infinite_scroll_render' ) && function_exists( 'zeitfresser_infinite_scroll_render' ) ) { function daisy_blog_infinite_scroll_render(...$args) { return zeitfresser_infinite_scroll_render(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_is_google_font' ) && function_exists( 'zeitfresser_is_google_font' ) ) { function daisy_blog_is_google_font(...$args) { return zeitfresser_is_google_font(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_jetpack_setup' ) && function_exists( 'zeitfresser_jetpack_setup' ) ) { function daisy_blog_jetpack_setup(...$args) { return zeitfresser_jetpack_setup(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_light_color' ) && function_exists( 'zeitfresser_light_color' ) ) { function daisy_blog_light_color(...$args) { return zeitfresser_light_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_light_color_dynamic_css' ) && function_exists( 'zeitfresser_light_color_dynamic_css' ) ) { function daisy_blog_light_color_dynamic_css(...$args) { return zeitfresser_light_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_light_color_enqueue_scripts' ) && function_exists( 'zeitfresser_light_color_enqueue_scripts' ) ) { function daisy_blog_light_color_enqueue_scripts(...$args) { return zeitfresser_light_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_line_height' ) && function_exists( 'zeitfresser_line_height' ) ) { function daisy_blog_line_height(...$args) { return zeitfresser_line_height(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_line_height_dynamic_css' ) && function_exists( 'zeitfresser_line_height_dynamic_css' ) ) { function daisy_blog_line_height_dynamic_css(...$args) { return zeitfresser_line_height_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_line_height_enqueue_scripts' ) && function_exists( 'zeitfresser_line_height_enqueue_scripts' ) ) { function daisy_blog_line_height_enqueue_scripts(...$args) { return zeitfresser_line_height_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_logo_size' ) && function_exists( 'zeitfresser_logo_size' ) ) { function daisy_blog_logo_size(...$args) { return zeitfresser_logo_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_logo_size_dynamic_css' ) && function_exists( 'zeitfresser_logo_size_dynamic_css' ) ) { function daisy_blog_logo_size_dynamic_css(...$args) { return zeitfresser_logo_size_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_logo_size_enqueue_scripts' ) && function_exists( 'zeitfresser_logo_size_enqueue_scripts' ) ) { function daisy_blog_logo_size_enqueue_scripts(...$args) { return zeitfresser_logo_size_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_main_font_family' ) && function_exists( 'zeitfresser_main_font_family' ) ) { function daisy_blog_main_font_family(...$args) { return zeitfresser_main_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_main_font_family_dynamic_css' ) && function_exists( 'zeitfresser_main_font_family_dynamic_css' ) ) { function daisy_blog_main_font_family_dynamic_css(...$args) { return zeitfresser_main_font_family_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_main_font_family_enqueue_scripts' ) && function_exists( 'zeitfresser_main_font_family_enqueue_scripts' ) ) { function daisy_blog_main_font_family_enqueue_scripts(...$args) { return zeitfresser_main_font_family_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_numeric_pagination' ) && function_exists( 'zeitfresser_numeric_pagination' ) ) { function daisy_blog_numeric_pagination(...$args) { return zeitfresser_numeric_pagination(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_pingback_header' ) && function_exists( 'zeitfresser_pingback_header' ) ) { function daisy_blog_pingback_header(...$args) { return zeitfresser_pingback_header(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_post_snippet_excerpt_size' ) && function_exists( 'zeitfresser_post_snippet_excerpt_size' ) ) { function daisy_blog_post_snippet_excerpt_size(...$args) { return zeitfresser_post_snippet_excerpt_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_post_thumbnail' ) && function_exists( 'zeitfresser_post_thumbnail' ) ) { function daisy_blog_post_thumbnail(...$args) { return zeitfresser_post_thumbnail(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_posted_by' ) && function_exists( 'zeitfresser_posted_by' ) ) { function daisy_blog_posted_by(...$args) { return zeitfresser_posted_by(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_posted_on' ) && function_exists( 'zeitfresser_posted_on' ) ) { function daisy_blog_posted_on(...$args) { return zeitfresser_posted_on(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_primary_color' ) && function_exists( 'zeitfresser_primary_color' ) ) { function daisy_blog_primary_color(...$args) { return zeitfresser_primary_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_primary_color_dynamic_css' ) && function_exists( 'zeitfresser_primary_color_dynamic_css' ) ) { function daisy_blog_primary_color_dynamic_css(...$args) { return zeitfresser_primary_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_primary_color_enqueue_scripts' ) && function_exists( 'zeitfresser_primary_color_enqueue_scripts' ) ) { function daisy_blog_primary_color_enqueue_scripts(...$args) { return zeitfresser_primary_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_author_profile_widget' ) && function_exists( 'zeitfresser_register_author_profile_widget' ) ) { function daisy_blog_register_author_profile_widget(...$args) { return zeitfresser_register_author_profile_widget(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_custom_controls' ) && function_exists( 'zeitfresser_register_custom_controls' ) ) { function daisy_blog_register_custom_controls(...$args) { return zeitfresser_register_custom_controls(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_font_customization_section' ) && function_exists( 'zeitfresser_register_font_customization_section' ) ) { function daisy_blog_register_font_customization_section(...$args) { return zeitfresser_register_font_customization_section(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_general_customization_section' ) && function_exists( 'zeitfresser_register_general_customization_section' ) ) { function daisy_blog_register_general_customization_section(...$args) { return zeitfresser_register_general_customization_section(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_popular_post_widget' ) && function_exists( 'zeitfresser_register_popular_post_widget' ) ) { function daisy_blog_register_popular_post_widget(...$args) { return zeitfresser_register_popular_post_widget(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_post_snippet_customization_section' ) && function_exists( 'zeitfresser_register_post_snippet_customization_section' ) ) { function daisy_blog_register_post_snippet_customization_section(...$args) { return zeitfresser_register_post_snippet_customization_section(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_register_recent_post_widget' ) && function_exists( 'zeitfresser_register_recent_post_widget' ) ) { function daisy_blog_register_recent_post_widget(...$args) { return zeitfresser_register_recent_post_widget(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sanitize_array' ) && function_exists( 'zeitfresser_sanitize_array' ) ) { function daisy_blog_sanitize_array(...$args) { return zeitfresser_sanitize_array(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sanitize_checkbox' ) && function_exists( 'zeitfresser_sanitize_checkbox' ) ) { function daisy_blog_sanitize_checkbox(...$args) { return zeitfresser_sanitize_checkbox(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sanitize_float' ) && function_exists( 'zeitfresser_sanitize_float' ) ) { function daisy_blog_sanitize_float(...$args) { return zeitfresser_sanitize_float(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sanitize_google_fonts' ) && function_exists( 'zeitfresser_sanitize_google_fonts' ) ) { function daisy_blog_sanitize_google_fonts(...$args) { return zeitfresser_sanitize_google_fonts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sanitize_select' ) && function_exists( 'zeitfresser_sanitize_select' ) ) { function daisy_blog_sanitize_select(...$args) { return zeitfresser_sanitize_select(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_scripts' ) && function_exists( 'zeitfresser_scripts' ) ) { function daisy_blog_scripts(...$args) { return zeitfresser_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_color' ) && function_exists( 'zeitfresser_secondary_color' ) ) { function daisy_blog_secondary_color(...$args) { return zeitfresser_secondary_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_color_dynamic_css' ) && function_exists( 'zeitfresser_secondary_color_dynamic_css' ) ) { function daisy_blog_secondary_color_dynamic_css(...$args) { return zeitfresser_secondary_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_color_enqueue_scripts' ) && function_exists( 'zeitfresser_secondary_color_enqueue_scripts' ) ) { function daisy_blog_secondary_color_enqueue_scripts(...$args) { return zeitfresser_secondary_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_font_family' ) && function_exists( 'zeitfresser_secondary_font_family' ) ) { function daisy_blog_secondary_font_family(...$args) { return zeitfresser_secondary_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_font_family_dynamic_css' ) && function_exists( 'zeitfresser_secondary_font_family_dynamic_css' ) ) { function daisy_blog_secondary_font_family_dynamic_css(...$args) { return zeitfresser_secondary_font_family_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_secondary_font_family_enqueue_scripts' ) && function_exists( 'zeitfresser_secondary_font_family_enqueue_scripts' ) ) { function daisy_blog_secondary_font_family_enqueue_scripts(...$args) { return zeitfresser_secondary_font_family_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_set_views' ) && function_exists( 'zeitfresser_set_views' ) ) { function daisy_blog_set_views(...$args) { return zeitfresser_set_views(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_setup' ) && function_exists( 'zeitfresser_setup' ) ) { function daisy_blog_setup(...$args) { return zeitfresser_setup(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_show_hide_site_tagline' ) && function_exists( 'zeitfresser_show_hide_site_tagline' ) ) { function daisy_blog_show_hide_site_tagline(...$args) { return zeitfresser_show_hide_site_tagline(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_show_hide_site_title' ) && function_exists( 'zeitfresser_show_hide_site_title' ) ) { function daisy_blog_show_hide_site_title(...$args) { return zeitfresser_show_hide_site_title(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_family' ) && function_exists( 'zeitfresser_site_identity_font_family' ) ) { function daisy_blog_site_identity_font_family(...$args) { return zeitfresser_site_identity_font_family(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_family_dynamic_css' ) && function_exists( 'zeitfresser_site_identity_font_family_dynamic_css' ) ) { function daisy_blog_site_identity_font_family_dynamic_css(...$args) { return zeitfresser_site_identity_font_family_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_family_enqueue_scripts' ) && function_exists( 'zeitfresser_site_identity_font_family_enqueue_scripts' ) ) { function daisy_blog_site_identity_font_family_enqueue_scripts(...$args) { return zeitfresser_site_identity_font_family_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_size' ) && function_exists( 'zeitfresser_site_identity_font_size' ) ) { function daisy_blog_site_identity_font_size(...$args) { return zeitfresser_site_identity_font_size(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_size_dynamic_css' ) && function_exists( 'zeitfresser_site_identity_font_size_dynamic_css' ) ) { function daisy_blog_site_identity_font_size_dynamic_css(...$args) { return zeitfresser_site_identity_font_size_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_identity_font_size_enqueue_scripts' ) && function_exists( 'zeitfresser_site_identity_font_size_enqueue_scripts' ) ) { function daisy_blog_site_identity_font_size_enqueue_scripts(...$args) { return zeitfresser_site_identity_font_size_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_title_color' ) && function_exists( 'zeitfresser_site_title_color' ) ) { function daisy_blog_site_title_color(...$args) { return zeitfresser_site_title_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_title_color_dynamic_css' ) && function_exists( 'zeitfresser_site_title_color_dynamic_css' ) ) { function daisy_blog_site_title_color_dynamic_css(...$args) { return zeitfresser_site_title_color_dynamic_css(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_site_title_color_enqueue_scripts' ) && function_exists( 'zeitfresser_site_title_color_enqueue_scripts' ) ) { function daisy_blog_site_title_color_enqueue_scripts(...$args) { return zeitfresser_site_title_color_enqueue_scripts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_social_links' ) && function_exists( 'zeitfresser_social_links' ) ) { function daisy_blog_social_links(...$args) { return zeitfresser_social_links(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_sticky_menu_background_color' ) && function_exists( 'zeitfresser_sticky_menu_background_color' ) ) { function daisy_blog_sticky_menu_background_color(...$args) { return zeitfresser_sticky_menu_background_color(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_used_google_fonts' ) && function_exists( 'zeitfresser_used_google_fonts' ) ) { function daisy_blog_used_google_fonts(...$args) { return zeitfresser_used_google_fonts(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_widget_get_attachment_id' ) && function_exists( 'zeitfresser_widget_get_attachment_id' ) ) { function daisy_blog_widget_get_attachment_id(...$args) { return zeitfresser_widget_get_attachment_id(...$args); } }
|
|
||||||
if ( ! function_exists( 'daisy_blog_widgets_init' ) && function_exists( 'zeitfresser_widgets_init' ) ) { function daisy_blog_widgets_init(...$args) { return zeitfresser_widgets_init(...$args); } }
|
|
||||||
if ( ! function_exists( 'graphthemes_get_social_link_default' ) && function_exists( 'zeitfresser_get_social_link_default' ) ) { function graphthemes_get_social_link_default(...$args) { return zeitfresser_get_social_link_default(...$args); } }
|
|
||||||
if ( ! function_exists( 'graphthemes_get_social_links' ) && function_exists( 'zeitfresser_get_social_links' ) ) { function graphthemes_get_social_links(...$args) { return zeitfresser_get_social_links(...$args); } }
|
|
||||||
@@ -2,7 +2,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
var toc = document.getElementById('zeitfresser-floating-toc');
|
var toc = document.getElementById('zeitfresser-floating-toc');
|
||||||
var title = document.querySelector('.zeitfresser-article-heading .page-title, .zeitfresser-article-heading .entry-title, .entry-header .entry-title');
|
var title = document.querySelector('.zeitfresser-article-heading .page-title, .zeitfresser-article-heading .entry-title, .entry-header .entry-title');
|
||||||
var progressBar = document.getElementById('zeitfresser-floating-toc-progress');
|
var progressBar = document.getElementById('zeitfresser-floating-toc-progress');
|
||||||
var nav = toc.querySelector('.zeitfresser-floating-toc__nav');
|
var nav = toc ? toc.querySelector('.zeitfresser-floating-toc__nav') : null;
|
||||||
|
|
||||||
if (!toc || !title) {
|
if (!toc || !title) {
|
||||||
return;
|
return;
|
||||||
@@ -14,6 +14,8 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
var headingOffset = 88;
|
var headingOffset = 88;
|
||||||
var ticking = false;
|
var ticking = false;
|
||||||
|
|
||||||
|
var tocBottomOffset = null;
|
||||||
|
|
||||||
function isDesktop() {
|
function isDesktop() {
|
||||||
return desktopQuery.matches;
|
return desktopQuery.matches;
|
||||||
}
|
}
|
||||||
@@ -34,6 +36,26 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getArticleElement() {
|
||||||
|
return document.querySelector(
|
||||||
|
'.single-post .post-content article, ' +
|
||||||
|
'.single-post .post-content, ' +
|
||||||
|
'article.post, article, ' +
|
||||||
|
'.entry-content'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTocBottomOffset() {
|
||||||
|
if (tocBottomOffset !== null) return tocBottomOffset;
|
||||||
|
|
||||||
|
var value = getComputedStyle(document.documentElement)
|
||||||
|
.getPropertyValue('--toc-bottom-offset')
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
tocBottomOffset = parseInt(value, 10) || 12;
|
||||||
|
return tocBottomOffset;
|
||||||
|
}
|
||||||
|
|
||||||
function syncPosition() {
|
function syncPosition() {
|
||||||
if (!isDesktop()) {
|
if (!isDesktop()) {
|
||||||
document.documentElement.style.setProperty('--zeitfresser-toc-top', stickyTop + 'px');
|
document.documentElement.style.setProperty('--zeitfresser-toc-top', stickyTop + 'px');
|
||||||
@@ -44,10 +66,24 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
|
|
||||||
var titleRect = title.getBoundingClientRect();
|
var titleRect = title.getBoundingClientRect();
|
||||||
var scrollTop = window.scrollY || window.pageYOffset || 0;
|
var scrollTop = window.scrollY || window.pageYOffset || 0;
|
||||||
var contentColumn = document.querySelector('.inside-page .main-wrapper > *:first-child, .inside-page .main-wrapper .primary-content, .inside-page .main-wrapper #primary, .inside-page .main-wrapper main');
|
|
||||||
var sidebar = document.querySelector('.inside-page .main-wrapper > aside, .inside-page .main-wrapper .widget-area, .inside-page .main-wrapper #secondary, .inside-page .main-wrapper .sidebar');
|
var contentColumn = document.querySelector(
|
||||||
|
'.inside-page .main-wrapper > *:first-child, ' +
|
||||||
|
'.inside-page .main-wrapper .primary-content, ' +
|
||||||
|
'.inside-page .main-wrapper #primary, ' +
|
||||||
|
'.inside-page .main-wrapper main'
|
||||||
|
);
|
||||||
|
|
||||||
|
var sidebar = document.querySelector(
|
||||||
|
'.inside-page .main-wrapper > aside, ' +
|
||||||
|
'.inside-page .main-wrapper .widget-area, ' +
|
||||||
|
'.inside-page .main-wrapper #secondary, ' +
|
||||||
|
'.inside-page .main-wrapper .sidebar'
|
||||||
|
);
|
||||||
|
|
||||||
var contentRect = contentColumn ? contentColumn.getBoundingClientRect() : titleRect;
|
var contentRect = contentColumn ? contentColumn.getBoundingClientRect() : titleRect;
|
||||||
var sidebarRect = sidebar ? sidebar.getBoundingClientRect() : null;
|
var sidebarRect = sidebar ? sidebar.getBoundingClientRect() : null;
|
||||||
|
|
||||||
var mirroredGap = 56;
|
var mirroredGap = 56;
|
||||||
|
|
||||||
if (sidebarRect) {
|
if (sidebarRect) {
|
||||||
@@ -64,6 +100,41 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
document.documentElement.style.setProperty('--zeitfresser-toc-width', tocWidth + 'px');
|
document.documentElement.style.setProperty('--zeitfresser-toc-width', tocWidth + 'px');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleFooterCollision() {
|
||||||
|
if (!isDesktop()) {
|
||||||
|
toc.style.transform = '';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var article = getArticleElement();
|
||||||
|
|
||||||
|
if (!article) {
|
||||||
|
toc.style.transform = '';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toc.style.transform = '';
|
||||||
|
|
||||||
|
var scrollTop = window.scrollY || window.pageYOffset;
|
||||||
|
|
||||||
|
var articleRect = article.getBoundingClientRect();
|
||||||
|
var articleBottom = articleRect.top + scrollTop + articleRect.height;
|
||||||
|
|
||||||
|
var tocRect = toc.getBoundingClientRect();
|
||||||
|
var tocTop = tocRect.top + scrollTop;
|
||||||
|
var tocHeight = tocRect.height;
|
||||||
|
var tocBottom = tocTop + tocHeight;
|
||||||
|
|
||||||
|
var offset = getTocBottomOffset();
|
||||||
|
|
||||||
|
var maxBottom = articleBottom - offset;
|
||||||
|
var overflow = Math.ceil(tocBottom - maxBottom);
|
||||||
|
|
||||||
|
if (overflow > 0) {
|
||||||
|
toc.style.transform = 'translateY(-' + overflow + 'px)';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function setActiveLink(id) {
|
function setActiveLink(id) {
|
||||||
links.forEach(function (link) {
|
links.forEach(function (link) {
|
||||||
var active = link.getAttribute('data-target') === id;
|
var active = link.getAttribute('data-target') === id;
|
||||||
@@ -78,11 +149,10 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateProgress() {
|
function updateProgress() {
|
||||||
if (!progressBar) {
|
if (!progressBar) return;
|
||||||
return;
|
|
||||||
}
|
var article = getArticleElement();
|
||||||
|
|
||||||
var article = document.querySelector('.single-post .post-content article, .single-post .post-content, article.post, article');
|
|
||||||
if (!article) {
|
if (!article) {
|
||||||
progressBar.style.width = '0%';
|
progressBar.style.width = '0%';
|
||||||
return;
|
return;
|
||||||
@@ -97,10 +167,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
|
|
||||||
function updateActiveHeading() {
|
function updateActiveHeading() {
|
||||||
var headings = getHeadings();
|
var headings = getHeadings();
|
||||||
|
if (!headings.length) return;
|
||||||
if (!headings.length) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var currentId = headings[0].target.id;
|
var currentId = headings[0].target.id;
|
||||||
var triggerY = headingOffset + 24;
|
var triggerY = headingOffset + 24;
|
||||||
@@ -115,14 +182,13 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onViewportChange() {
|
function onViewportChange() {
|
||||||
if (ticking) {
|
if (ticking) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ticking = true;
|
ticking = true;
|
||||||
|
|
||||||
window.requestAnimationFrame(function () {
|
window.requestAnimationFrame(function () {
|
||||||
syncPosition();
|
syncPosition();
|
||||||
|
handleFooterCollision();
|
||||||
updateProgress();
|
updateProgress();
|
||||||
updateActiveHeading();
|
updateActiveHeading();
|
||||||
ticking = false;
|
ticking = false;
|
||||||
@@ -132,10 +198,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
links.forEach(function (link) {
|
links.forEach(function (link) {
|
||||||
link.addEventListener('click', function (event) {
|
link.addEventListener('click', function (event) {
|
||||||
var target = getTarget(link);
|
var target = getTarget(link);
|
||||||
|
if (!target) return;
|
||||||
if (!target) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
@@ -150,14 +213,10 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
if (nav) {
|
if (nav) {
|
||||||
nav.addEventListener('wheel', function (event) {
|
nav.addEventListener('wheel', function (event) {
|
||||||
var canScroll = nav.scrollHeight > nav.clientHeight;
|
var canScroll = nav.scrollHeight > nav.clientHeight;
|
||||||
|
if (!canScroll) return;
|
||||||
if (!canScroll) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var atTop = nav.scrollTop <= 0;
|
var atTop = nav.scrollTop <= 0;
|
||||||
var atBottom = Math.ceil(nav.scrollTop + nav.clientHeight) >= nav.scrollHeight;
|
var atBottom = Math.ceil(nav.scrollTop + nav.clientHeight) >= nav.scrollHeight;
|
||||||
@@ -169,10 +228,16 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
}, { passive: false });
|
}, { passive: false });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initial run
|
||||||
syncPosition();
|
syncPosition();
|
||||||
|
handleFooterCollision();
|
||||||
updateProgress();
|
updateProgress();
|
||||||
updateActiveHeading();
|
updateActiveHeading();
|
||||||
|
|
||||||
|
requestAnimationFrame(function () {
|
||||||
|
toc.classList.add('is-visible');
|
||||||
|
});
|
||||||
|
|
||||||
window.addEventListener('scroll', onViewportChange, { passive: true });
|
window.addEventListener('scroll', onViewportChange, { passive: true });
|
||||||
window.addEventListener('resize', onViewportChange, { passive: true });
|
window.addEventListener('resize', onViewportChange, { passive: true });
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
# This file is distributed under the GNU General Public License v2 or later.
|
# This file is distributed under the GNU General Public License v2 or later.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Daisy Blog 1.0.0\n"
|
"Project-Id-Version: Zeitfresser Theme"
|
||||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/daisy-blog\n"
|
"Report-Msgid-Bugs-To: https://github.com/Domoel/Zeitfresser-Wordpress-Theme"
|
||||||
"POT-Creation-Date: 2023-04-10 14:33:31+00:00\n"
|
"POT-Creation-Date: 2023-04-10 14:33:31+00:00\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -847,7 +847,7 @@ msgid "Daisy Blog"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Theme URI of the plugin/theme
|
#. Theme URI of the plugin/theme
|
||||||
msgid "https://graphthemes.com/daisy-blog"
|
msgid "https://github.com/Domoel/Zeitfresser-Wordpress-Theme"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Description of the plugin/theme
|
#. Description of the plugin/theme
|
||||||
Reference in New Issue
Block a user