__( 'Primary Menu', 'landshafting' ), 'footer' => __( 'Footer Menu', 'landshafting' ), ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'comment-form', 'comment-list', 'gallery', 'caption', ) ); // Add support for Block Styles. add_theme_support( 'wp-block-styles' ); add_theme_support( 'editor-styles' ); // add the visual editor to resemble the theme style add_editor_style( 'css/editor-style.css' ); // add custom background add_theme_support( 'custom-background', array ('default-color' => '#f7f7f7') ); // add content width global $content_width; if ( ! isset( $content_width ) ) { $content_width = 900; } // add custom header add_theme_support( 'custom-header', array ( 'default-image' => '', 'random-default' => '', 'flex-height' => true, 'flex-width' => true, 'uploads' => true, 'width' => 900, 'height' => 100, 'default-text-color' => '#555555', 'wp-head-callback' => 'landshafting_header_style', ) ); // add custom logo add_theme_support( 'custom-logo', array ( 'width' => 75, 'height' => 75, 'flex-height' => true, 'flex-width' => true, ) ); // Define and register starter content to showcase the theme on new sites. $starter_content = array( 'widgets' => array( 'sidebar-widget-area' => array( 'search', 'recent-posts', 'categories', 'archives', ), 'footer-column-1-widget-area' => array( 'recent-comments' ), 'footer-column-2-widget-area' => array( 'recent-posts' ), 'footer-column-3-widget-area' => array( 'calendar' ), ), 'posts' => array( 'home', 'blog', 'about', 'contact' ), // Default to a static front page and assign the front and posts pages. 'options' => array( 'show_on_front' => 'page', 'page_on_front' => '{{home}}', 'page_for_posts' => '{{blog}}', ), // Set the front page section theme mods to the IDs of the core-registered pages. 'theme_mods' => array( 'landshafting_slider_display' => 1, 'landshafting_slide1_image' => esc_url( get_template_directory_uri() . '/images/slider/1.jpg' ), 'landshafting_slide2_image' => esc_url( get_template_directory_uri() . '/images/slider/2.jpg' ), 'landshafting_slide3_image' => esc_url( get_template_directory_uri() . '/images/slider/3.jpg' ), 'landshafting_slide4_image' => esc_url( get_template_directory_uri() . '/images/slider/4.jpg' ), 'landshafting_slide5_image' => esc_url( get_template_directory_uri() . '/images/slider/5.jpg' ), 'landshafting_social_facebook' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_twitter' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_linkedin' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_instagram' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_rss' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_tumblr' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_youtube' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_pinterest' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_vk' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_flickr' => _x( '#', 'Theme starter content', 'landshafting' ), 'landshafting_social_vine' => _x( '#', 'Theme starter content', 'landshafting' ), ), 'nav_menus' => array( // Assign a menu to the "primary" location. 'primary' => array( 'name' => __( 'Primary Menu', 'landshafting' ), 'items' => array( 'link_home', 'page_blog', 'page_contact', 'page_about', ), ), // Assign a menu to the "footer" location. 'footer' => array( 'name' => __( 'Footer Menu', 'landshafting' ), 'items' => array( 'link_home', 'page_about', 'page_blog', 'page_contact', ), ), ), ); $starter_content = apply_filters( 'landshafting_starter_content', $starter_content ); add_theme_support( 'starter-content', $starter_content ); } endif; // landshafting_setup add_action( 'after_setup_theme', 'landshafting_setup' ); if ( ! function_exists( 'landshafting_sanitize_checkbox' ) ) : /** * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked` * as a boolean value, either TRUE or FALSE. * * @param bool $checked Whether the checkbox is checked. * @return bool Whether the checkbox is checked. */ function landshafting_sanitize_checkbox( $checked ) { // Boolean check. return ( ( isset( $checked ) && true == $checked ) ? true : false ); } endif; // landshafting_sanitize_checkbox if ( ! function_exists( 'landshafting_sanitize_url' ) ) : function landshafting_sanitize_url( $url ) { return esc_url_raw( $url ); } endif; // landshafting_sanitize_url /** * Register theme settings in the customizer */ function landshafting_customize_register( $wp_customize ) { /** * Add Social Sites Section */ $wp_customize->add_section( 'landshafting_social_section', array( 'title' => __( 'Social Sites', 'landshafting' ), 'capability' => 'edit_theme_options', ) ); // Add facebook url landshafting_customize_add_social_site($wp_customize, 'landshafting_social_facebook', __( 'Facebook Page URL', 'landshafting' )); // Add twitter url landshafting_customize_add_social_site($wp_customize, 'landshafting_social_twitter', __( 'Twitter URL', 'landshafting' )); // Add LinkedIn landshafting_customize_add_social_site($wp_customize, 'landshafting_social_linkedin', __( 'LinkedIn', 'landshafting' )); // Add Instagram landshafting_customize_add_social_site($wp_customize, 'landshafting_social_instagram', __( 'Instagram', 'landshafting' )); // Add RSS Feeds url landshafting_customize_add_social_site($wp_customize, 'landshafting_social_rss', __( 'RSS Feeds URL', 'landshafting' )); // Add Tumblr Text Control landshafting_customize_add_social_site($wp_customize, 'landshafting_social_tumblr', __( 'Tumblr', 'landshafting' )); // Add YouTube channel url landshafting_customize_add_social_site($wp_customize, 'landshafting_social_youtube', __( 'YouTube channel URL', 'landshafting' )); // Add Pinterest Text Control landshafting_customize_add_social_site($wp_customize, 'landshafting_social_pinterest', __( 'Pinterest', 'landshafting' )); // Add VK Text Control landshafting_customize_add_social_site($wp_customize, 'landshafting_social_vk', __( 'VK', 'landshafting' )); // Add Flickr Text Control landshafting_customize_add_social_site($wp_customize, 'landshafting_social_flickr', __( 'Flickr', 'landshafting' )); // Add Vine Text Control landshafting_customize_add_social_site($wp_customize, 'landshafting_social_vine', __( 'Vine', 'landshafting' )); /** * Add Slider Section */ $wp_customize->add_section( 'landshafting_slider_section', array( 'title' => __( 'Slider', 'landshafting' ), 'capability' => 'edit_theme_options', ) ); // Add display slider option $wp_customize->add_setting( 'landshafting_slider_display', array( 'default' => 0, 'sanitize_callback' => 'landshafting_sanitize_checkbox', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'landshafting_slider_display', array( 'label' => __( 'Display Slider on a Static Front Page', 'landshafting' ), 'section' => 'landshafting_slider_section', 'settings' => 'landshafting_slider_display', 'type' => 'checkbox', ) ) ); for ($i = 1; $i <= 5; ++$i) { $slideImageId = 'landshafting_slide'.$i.'_image'; $defaultSliderImagePath = get_template_directory_uri().'/images/slider/'.$i.'.jpg'; // Add Slide Background Image $wp_customize->add_setting( $slideImageId, array( 'default' => $defaultSliderImagePath, 'sanitize_callback' => 'landshafting_sanitize_url' ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $slideImageId, array( 'label' => sprintf( esc_html__( 'Slide #%s Image', 'landshafting' ), $i ), 'section' => 'landshafting_slider_section', 'settings' => $slideImageId, ) ) ); } /** * Add Footer Section */ $wp_customize->add_section( 'landshafting_footer_section', array( 'title' => __( 'Footer', 'landshafting' ), 'capability' => 'edit_theme_options', ) ); // Add footer copyright text $wp_customize->add_setting( 'landshafting_footer_copyright', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'landshafting_footer_copyright', array( 'label' => __( 'Copyright Text', 'landshafting' ), 'section' => 'landshafting_footer_section', 'settings' => 'landshafting_footer_copyright', 'type' => 'text', ) ) ); /** * Add Animations Section */ $wp_customize->add_section( 'landshafting_animations_display', array( 'title' => __( 'Animations', 'landshafting' ), 'capability' => 'edit_theme_options', ) ); // Add display Animations option $wp_customize->add_setting( 'landshafting_animations_display', array( 'default' => 1, 'sanitize_callback' => 'landshafting_sanitize_checkbox', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'landshafting_animations_display', array( 'label' => __( 'Enable Animations', 'landshafting' ), 'section' => 'landshafting_animations_display', 'settings' => 'landshafting_animations_display', 'type' => 'checkbox', ) ) ); } add_action('customize_register', 'landshafting_customize_register'); /** * Add Social Site control into Customizer */ function landshafting_customize_add_social_site($wp_customize, $controlId, $label) { $wp_customize->add_setting( $controlId, array( 'sanitize_callback' => 'landshafting_sanitize_url', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, $controlId, array( 'label' => $label, 'section' => 'landshafting_social_section', 'settings' => $controlId, 'type' => 'text', ) ) ); } /** * the main function to load scripts in the Landshafting theme * if you add a new load of script, style, etc. you can use that function * instead of adding a new wp_enqueue_scripts action for it. */ function landshafting_load_scripts() { // load main stylesheet. wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', array( ) ); wp_enqueue_style( 'animate-css', get_template_directory_uri() . '/css/animate.css', array( ) ); wp_enqueue_style( 'landshafting-style', get_stylesheet_uri(), array() ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } // Load Utilities JS Script wp_enqueue_script( 'viewportchecker', get_template_directory_uri() . '/js/viewportchecker.js', array( 'jquery' ) ); wp_enqueue_script( 'landshafting-js', get_template_directory_uri() . '/js/utilities.js', array( 'jquery', 'viewportchecker' ) ); $data = array( 'loading_effect' => ( get_theme_mod('landshafting_animations_display', 1) == 1 ), ); wp_localize_script('landshafting-js', 'landshafting_options', $data); } add_action( 'wp_enqueue_scripts', 'landshafting_load_scripts' ); /** * Load google font url used in the Landshafting theme */ function landshafting_fonts_url() { $fonts_url = ''; /* Translators: If there are characters in your language that are not * supported by PT Sans, translate this to 'off'. Do not translate * into your own language. */ $cantarell = _x( 'on', 'PT Sans font: on or off', 'landshafting' ); if ( 'off' !== $cantarell ) { $font_families = array(); $font_families[] = 'PT Sans'; $query_args = array( 'family' => urlencode( implode( '|', $font_families ) ), 'subset' => urlencode( 'latin,cyrillic-ext,cyrillic,latin-ext' ), ); $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' ); } return $fonts_url; } /** * Display website's logo image */ function landshafting_show_website_logo_image_and_title() { if ( has_custom_logo() ) { the_custom_logo(); } $header_text_color = get_header_textcolor(); if ( 'blank' !== $header_text_color ) { echo '
'; echo ''; echo '

' . esc_html( get_bloginfo('name') ) . '

'; echo '
'; echo '' . esc_html( get_bloginfo('description') ) . ''; echo '
'; } } /** * Displays the copyright text. */ function landshafting_show_copyright_text() { $footerText = get_theme_mod('landshafting_footer_copyright', null); if ( !empty( $footerText ) ) { echo esc_html( $footerText ) . ' | '; } } /** * widgets-init action handler. Used to register widgets and register widget areas */ function landshafting_widgets_init() { // Register Sidebar Widget. register_sidebar( array ( 'name' => __( 'Sidebar Widget Area', 'landshafting'), 'id' => 'sidebar-widget-area', 'description' => __( 'The sidebar widget area', 'landshafting'), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Register Footer Column #1 register_sidebar( array ( 'name' => __( 'Footer Column #1', 'landshafting' ), 'id' => 'footer-column-1-widget-area', 'description' => __( 'The Footer Column #1 widget area', 'landshafting' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Register Footer Column #2 register_sidebar( array ( 'name' => __( 'Footer Column #2', 'landshafting' ), 'id' => 'footer-column-2-widget-area', 'description' => __( 'The Footer Column #2 widget area', 'landshafting' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Register Footer Column #3 register_sidebar( array ( 'name' => __( 'Footer Column #3', 'landshafting' ), 'id' => 'footer-column-3-widget-area', 'description' => __( 'The Footer Column #3 widget area', 'landshafting' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); } add_action( 'widgets_init', 'landshafting_widgets_init' ); /** * Displays the Slider */ function landshafting_display_slider() { ?>
/> '; } ?>
'; } } /** * Display Social Websites */ function landshafting_display_social_sites() { landshafting_display_single_social_site('landshafting_social_facebook', __('Follow us on Facebook', 'landshafting'), 'facebook16' ); landshafting_display_single_social_site('landshafting_social_twitter', __('Follow us on Twitter', 'landshafting'), 'twitter16' ); landshafting_display_single_social_site('landshafting_social_linkedin', __('Follow us on LinkedIn', 'landshafting'), 'linkedin16' ); landshafting_display_single_social_site('landshafting_social_instagram', __('Follow us on Instagram', 'landshafting'), 'instagram16' ); landshafting_display_single_social_site('landshafting_social_rss', __('Follow our RSS Feeds', 'landshafting'), 'rss16' ); landshafting_display_single_social_site('landshafting_social_tumblr', __('Follow us on Tumblr', 'landshafting'), 'tumblr16' ); landshafting_display_single_social_site('landshafting_social_youtube', __('Follow us on Youtube', 'landshafting'), 'youtube16' ); landshafting_display_single_social_site('landshafting_social_pinterest', __('Follow us on Pinterest', 'landshafting'), 'pinterest16' ); landshafting_display_single_social_site('landshafting_social_vk', __('Follow us on VK', 'landshafting'), 'vk16' ); landshafting_display_single_social_site('landshafting_social_flickr', __('Follow us on Flickr', 'landshafting'), 'flickr16' ); landshafting_display_single_social_site('landshafting_social_vine', __('Follow us on Vine', 'landshafting'), 'vine16' ); } /** * Fix skip link focus in IE11. * * This does not enqueue the script because it is tiny and because it is only for IE11, * thus it does not warrant having an entire dedicated blocking script being loaded. * * @link https://git.io/vWdr2 */ function landshafting_skip_link_focus_fix() { // The following is minified via `terser --compress --mangle -- js/skip-link-focus-fix.js`. ?> 'btn', 'label' => __( 'Hover Effect', 'landshafting' ), ) ); register_block_style( 'core/group', array( 'name' => 'tgroup', 'label' => __( 'Margin Bottom Space', 'landshafting' ), ) ); register_block_style( 'core/site-title', array( 'name' => 'tsitetitle', 'label' => __( 'Bold', 'landshafting' ), ) ); register_block_style( 'core/post-title', array( 'name' => 'tposttitle', 'label' => __( 'Bold', 'landshafting' ), ) ); register_block_style( 'core/social-link', array( 'name' => 'tsociallinks', 'label' => __( 'Square', 'landshafting' ), ) ); } add_action( 'init', 'landshafting_register_block_styles' ); ?>