'; } } add_action( 'wp_head', 'mag_lite_pingback_header' ); if ( ! function_exists( 'mag_lite_the_excerpt' ) ) : /** * Generate excerpt. * * @since 1.0.0 * * @param int $length Excerpt length in words. * @param WP_Post $post_obj WP_Post instance (Optional). * @return string Excerpt. */ function mag_lite_the_excerpt( $length = 0, $post_obj = null ) { global $post; if ( is_null( $post_obj ) ) { $post_obj = $post; } $length = absint( $length ); if ( 0 === $length ) { return; } $source_content = $post_obj->post_content; if ( ! empty( $post_obj->post_excerpt ) ) { $source_content = $post_obj->post_excerpt; } $source_content = preg_replace( '`\[[^\]]*\]`', '', $source_content ); $trimmed_content = wp_trim_words( $source_content, $length, '…' ); return $trimmed_content; } endif; /** * Mag Lite Breadcrumb * * */ if ( ! function_exists( 'mag_lite_breadcrumb' ) ) : /** * Simple breadcrumb. * * @since 1.0.0 * * @link: https://gist.github.com/melissacabral/4032941 * * @param array $args Arguments */ function mag_lite_breadcrumb( $args = array() ) { // Bail if Home Page. if ( is_front_page() || is_home() ) { return; } if ( ! function_exists( 'breadcrumb_trail' ) ) { require_once get_template_directory() . '/inc/breadcrumbs.php'; } $breadcrumb_args = array( 'container' => 'div', 'show_browse' => false, ); breadcrumb_trail( $breadcrumb_args ); } endif; /*------------------------------------------------------------------------------------------------*/ /** * Generate darker color * Source: http://stackoverflow.com/questions/3512311/how-to-generate-lighter-darker-color-with-php */ if ( ! function_exists( 'mag_lite_hover_color' ) ) : function mag_lite_hover_color( $hex, $steps ) { // Steps should be between -255 and 255. Negative = darker, positive = lighter $steps = max( - 255, min( 255, $steps ) ); // Normalize into a six character long hex string $hex = str_replace( '#', '', $hex ); if ( strlen( $hex ) == 3 ) { $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 ); } // Split into three parts: R, G and B $color_parts = str_split( $hex, 2 ); $return = '#'; foreach ( $color_parts as $color ) { $color = hexdec( $color ); // Convert to decimal $color = max( 0, min( 255, $color + $steps ) ); // Adjust color $return .= str_pad( dechex( $color ), 2, '0', STR_PAD_LEFT ); // Make two char hex code } return $return; } endif; /** * Adds custom contain in head sections */ if ( ! function_exists( 'mag_lite_categories_color' ) ): function mag_lite_categories_color() { $get_categories = get_terms( 'category', array( 'hide_empty' => false ) ); $cat_color_css = ''; foreach ( $get_categories as $category ) { $cat_color = mag_lite_get_option( 'mag_lite_category_color_'.esc_html( strtolower($category->name) ).'' ); $cat_hover_color = esc_attr( mag_lite_hover_color( $cat_color, '-50' ) ); $cat_id = absint( $category->term_id ); if ( ! empty( $cat_color ) ) { $cat_color_css .= ".cat-links.mag-lite-cat-" . $cat_id . " a { background: " . $cat_color . "}\n"; $cat_color_css .= ".cat-links.mag-lite-cat-" . $cat_id . " a:hover { background: " . $cat_hover_color . "}\n"; } } ?> esc_html__( 'One Click Demo Import', 'mag-lite' ), //The plugin name 'slug' => 'one-click-demo-import', // The plugin slug (typically the folder name) 'required' => false, // If false, the plugin is only 'recommended' instead of required. 'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch. 'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins. ), array( 'name' => esc_html__( 'Contact Form 7', 'mag-lite' ), //The plugin name 'slug' => 'contact-form-7', // The plugin slug (typically the folder name) 'required' => false, // If false, the plugin is only 'recommended' instead of required. 'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch. 'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins. ), ); $config = array( 'id' => 'mag-lite', // Unique ID for hashing notices for multiple instances of TGMPA. 'default_path' => '', // Default absolute path to bundled plugins. 'has_notices' => true, // Show admin notices or not. 'dismissable' => true, // If false, a user cannot dismiss the nag message. 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 'is_automatic' => false, // Automatically activate plugins after installation or not. 'message' => '', // Message to output right before the plugins table. ); tgmpa( $plugins, $config ); } add_action( 'tgmpa_register', 'mag_lite_register_required_plugins' ); function mag_lite_svg_upload($svg) { $svg['svg'] = 'image/svg+xml'; return $svg; } add_filter('upload_mimes', 'mag_lite_svg_upload'); if ( ! function_exists( 'mag_lite_pagination_navigation' ) ) : /** * Posts navigation. * * @since 1.0.0 */ function mag_lite_pagination_navigation() { $pagination_option = mag_lite_get_option('pagination_option'); if ( 'default' == $pagination_option) { the_posts_navigation(); } else{ the_posts_pagination( array( 'mid_size' => 5, 'prev_text' => __( 'PREV', 'mag-lite' ), 'next_text' => __( 'NEXT', 'mag-lite' ), ) ); } } endif; add_action( 'mag_lite_pagination_action_navigation', 'mag_lite_pagination_navigation' );