summaryrefslogtreecommitdiff
path: root/dist/inc
diff options
context:
space:
mode:
Diffstat (limited to 'dist/inc')
-rw-r--r--dist/inc/class-wp-bootstrap-navwalker.php559
-rw-r--r--dist/inc/custom-comments.php71
-rw-r--r--dist/inc/custom-header.php49
-rw-r--r--dist/inc/customizer.php135
-rw-r--r--dist/inc/editor.php78
-rw-r--r--dist/inc/enqueue.php34
-rw-r--r--dist/inc/extras.php114
-rw-r--r--dist/inc/hooks.php49
-rw-r--r--dist/inc/jetpack.php67
-rw-r--r--dist/inc/pagination.php56
-rw-r--r--dist/inc/setup.php132
-rw-r--r--dist/inc/style-wpcom.css7
-rw-r--r--dist/inc/template-tags.php137
-rwxr-xr-xdist/inc/theme-settings.php36
-rw-r--r--dist/inc/widgets.php119
-rw-r--r--dist/inc/woocommerce.php140
-rw-r--r--dist/inc/wpcom.php51
17 files changed, 0 insertions, 1834 deletions
diff --git a/dist/inc/class-wp-bootstrap-navwalker.php b/dist/inc/class-wp-bootstrap-navwalker.php
deleted file mode 100644
index a343fcc..0000000
--- a/dist/inc/class-wp-bootstrap-navwalker.php
+++ /dev/null
@@ -1,559 +0,0 @@
-<?php
-/**
- * WP Bootstrap Navwalker
- *
- * @package WP-Bootstrap-Navwalker
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/*
- * Class Name: WP_Bootstrap_Navwalker
- * Plugin Name: WP Bootstrap Navwalker
- * Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
- * Description: A custom WordPress nav walker class to implement the Bootstrap 4 navigation style in a custom theme using the WordPress built in menu manager.
- * Author: Edward McIntyre - @twittem, WP Bootstrap, William Patton - @pattonwebz
- * Version: 4.1.0
- * Author URI: https://github.com/wp-bootstrap
- * GitHub Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
- * GitHub Branch: master
- * License: GPL-3.0+
- * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
-*/
-
-/* Check if Class Exists. */
-if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
- /**
- * WP_Bootstrap_Navwalker class.
- *
- * @extends Walker_Nav_Menu
- */
- class Understrap_WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
-
- /**
- * Starts the list before the elements are added.
- *
- * @since WP 3.0.0
- *
- * @see Walker_Nav_Menu::start_lvl()
- *
- * @param string $output Used to append additional content (passed by reference).
- * @param int $depth Depth of menu item. Used for padding.
- * @param stdClass $args An object of wp_nav_menu() arguments.
- */
- public function start_lvl( &$output, $depth = 0, $args = array() ) {
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
- $t = '';
- $n = '';
- } else {
- $t = "\t";
- $n = "\n";
- }
- $indent = str_repeat( $t, $depth );
- // Default class to add to the file.
- $classes = array( 'dropdown-menu' );
- /**
- * Filters the CSS class(es) applied to a menu list element.
- *
- * @since WP 4.8.0
- *
- * @param array $classes The CSS classes that are applied to the menu `<ul>` element.
- * @param stdClass $args An object of `wp_nav_menu()` arguments.
- * @param int $depth Depth of menu item. Used for padding.
- */
- $class_names = join( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
- $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
- /**
- * The `.dropdown-menu` container needs to have a labelledby
- * attribute which points to it's trigger link.
- *
- * Form a string for the labelledby attribute from the the latest
- * link with an id that was added to the $output.
- */
- $labelledby = '';
- // find all links with an id in the output.
- preg_match_all( '/(<a.*?id=\"|\')(.*?)\"|\'.*?>/im', $output, $matches );
- // with pointer at end of array check if we got an ID match.
- if ( end( $matches[2] ) ) {
- // build a string to use as aria-labelledby.
- $labelledby = 'aria-labelledby="' . end( $matches[2] ) . '"';
- }
- $output .= "{$n}{$indent}<ul$class_names $labelledby role=\"menu\">{$n}";
- }
-
- /**
- * Starts the element output.
- *
- * @since WP 3.0.0
- * @since WP 4.4.0 The {@see 'nav_menu_item_args'} filter was added.
- *
- * @see Walker_Nav_Menu::start_el()
- *
- * @param string $output Used to append additional content (passed by reference).
- * @param WP_Post $item Menu item data object.
- * @param int $depth Depth of menu item. Used for padding.
- * @param stdClass $args An object of wp_nav_menu() arguments.
- * @param int $id Current item ID.
- */
- public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
- if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
- $t = '';
- $n = '';
- } else {
- $t = "\t";
- $n = "\n";
- }
- $indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
-
- $classes = empty( $item->classes ) ? array() : (array) $item->classes;
-
- // Initialize some holder variables to store specially handled item
- // wrappers and icons.
- $linkmod_classes = array();
- $icon_classes = array();
-
- /**
- * Get an updated $classes array without linkmod or icon classes.
- *
- * NOTE: linkmod and icon class arrays are passed by reference and
- * are maybe modified before being used later in this function.
- */
- $classes = self::seporate_linkmods_and_icons_from_classes( $classes, $linkmod_classes, $icon_classes, $depth );
-
- // Join any icon classes plucked from $classes into a string.
- $icon_class_string = join( ' ', $icon_classes );
-
- /**
- * Filters the arguments for a single nav menu item.
- *
- * WP 4.4.0
- *
- * @param stdClass $args An object of wp_nav_menu() arguments.
- * @param WP_Post $item Menu item data object.
- * @param int $depth Depth of menu item. Used for padding.
- */
- $args = apply_filters( 'nav_menu_item_args', $args, $item, $depth );
-
- // Add .dropdown or .active classes where they are needed.
- if ( isset( $args->has_children ) && $args->has_children ) {
- $classes[] = 'dropdown';
- }
- if ( in_array( 'current-menu-item', $classes, true ) || in_array( 'current-menu-parent', $classes, true ) ) {
- $classes[] = 'active';
- }
-
- // Add some additional default classes to the item.
- $classes[] = 'menu-item-' . $item->ID;
- $classes[] = 'nav-item';
-
- // Allow filtering the classes.
- $classes = apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth );
-
- // Form a string of classes in format: class="class_names".
- $class_names = join( ' ', $classes );
- $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
-
- /**
- * Filters the ID applied to a menu item's list item element.
- *
- * @since WP 3.0.1
- * @since WP 4.1.0 The `$depth` parameter was added.
- *
- * @param string $menu_id The ID that is applied to the menu item's `<li>` element.
- * @param WP_Post $item The current menu item.
- * @param stdClass $args An object of wp_nav_menu() arguments.
- * @param int $depth Depth of menu item. Used for padding.
- */
- $id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args, $depth );
- $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
-
- $output .= $indent . '<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement"' . $id . $class_names . '>';
-
- // initialize array for holding the $atts for the link item.
- $atts = array();
-
- // Set title from item to the $atts array - if title is empty then
- // default to item title.
- if ( empty( $item->attr_title ) ) {
- $atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : '';
- } else {
- $atts['title'] = $item->attr_title;
- }
-
- $atts['target'] = ! empty( $item->target ) ? $item->target : '';
- $atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
- // If item has_children add atts to <a>.
- if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && $args->depth > 1 ) {
- $atts['href'] = '#';
- $atts['data-toggle'] = 'dropdown';
- $atts['aria-haspopup'] = 'true';
- $atts['aria-expanded'] = 'false';
- $atts['class'] = 'dropdown-toggle nav-link';
- $atts['id'] = 'menu-item-dropdown-' . $item->ID;
- } else {
- $atts['href'] = ! empty( $item->url ) ? $item->url : '#';
- // Items in dropdowns use .dropdown-item instead of .nav-link.
- if ( $depth > 0 ) {
- $atts['class'] = 'dropdown-item';
- } else {
- $atts['class'] = 'nav-link';
- }
- }
-
- // update atts of this item based on any custom linkmod classes.
- $atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes );
- // Allow filtering of the $atts array before using it.
- $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );
-
- // Build a string of html containing all the atts for the item.
- $attributes = '';
- foreach ( $atts as $attr => $value ) {
- if ( ! empty( $value ) ) {
- $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
- $attributes .= ' ' . $attr . '="' . $value . '"';
- }
- }
-
- /**
- * Set a typeflag to easily test if this is a linkmod or not.
- */
- $linkmod_type = self::get_linkmod_type( $linkmod_classes );
-
- /**
- * START appending the internal item contents to the output.
- */
- $item_output = isset( $args->before ) ? $args->before : '';
- /**
- * This is the start of the internal nav item. Depending on what
- * kind of linkmod we have we may need different wrapper elements.
- */
- if ( '' !== $linkmod_type ) {
- // is linkmod, output the required element opener.
- $item_output .= self::linkmod_element_open( $linkmod_type, $attributes );
- } else {
- // With no link mod type set this must be a standard <a> tag.
- $item_output .= '<a' . $attributes . '>';
- }
-
- /**
- * Initiate empty icon var, then if we have a string containing any
- * icon classes form the icon markup with an <i> element. This is
- * output inside of the item before the $title (the link text).
- */
- $icon_html = '';
- if ( ! empty( $icon_class_string ) ) {
- // append an <i> with the icon classes to what is output before links.
- $icon_html = '<i class="' . esc_attr( $icon_class_string ) . '" aria-hidden="true"></i> ';
- }
-
- /** This filter is documented in wp-includes/post-template.php */
- $title = apply_filters( 'the_title', $item->title, $item->ID );
-
- /**
- * Filters a menu item's title.
- *
- * @since WP 4.4.0
- *
- * @param string $title The menu item's title.
- * @param WP_Post $item The current menu item.
- * @param stdClass $args An object of wp_nav_menu() arguments.
- * @param int $depth Depth of menu item. Used for padding.
- */
- $title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth );
-
- /**
- * If the .sr-only class was set apply to the nav items text only.
- */
- if ( in_array( 'sr-only', $linkmod_classes, true ) ) {
- $title = self::wrap_for_screen_reader( $title );
- $keys_to_unset = array_keys( $linkmod_classes, 'sr-only' );
- foreach ( $keys_to_unset as $k ) {
- unset( $linkmod_classes[ $k ] );
- }
- }
-
- // Put the item contents into $output.
- $item_output .= isset( $args->link_before ) ? $args->link_before . $icon_html . $title . $args->link_after : '';
- /**
- * This is the end of the internal nav item. We need to close the
- * correct element depending on the type of link or link mod.
- */
- if ( '' !== $linkmod_type ) {
- // is linkmod, output the required element opener.
- $item_output .= self::linkmod_element_close( $linkmod_type, $attributes );
- } else {
- // With no link mod type set this must be a standard <a> tag.
- $item_output .= '</a>';
- }
-
- $item_output .= isset( $args->after ) ? $args->after : '';
-
- /**
- * END appending the internal item contents to the output.
- */
- $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
-
- }
-
- /**
- * Traverse elements to create list from elements.
- *
- * Display one element if the element doesn't have any children otherwise,
- * display the element and its children. Will only traverse up to the max
- * depth and no ignore elements under that depth. It is possible to set the
- * max depth to include all depths, see walk() method.
- *
- * This method should not be called directly, use the walk() method instead.
- *
- * @since WP 2.5.0
- *
- * @see Walker::start_lvl()
- *
- * @param object $element Data object.
- * @param array $children_elements List of elements to continue traversing (passed by reference).
- * @param int $max_depth Max depth to traverse.
- * @param int $depth Depth of current element.
- * @param array $args An array of arguments.
- * @param string $output Used to append additional content (passed by reference).
- */
- public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
- if ( ! $element ) {
- return; }
- $id_field = $this->db_fields['id'];
- // Display this element.
- if ( is_object( $args[0] ) ) {
- $args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] ); }
- parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
- }
-
- /**
- * Menu Fallback
- * =============
- * If this function is assigned to the wp_nav_menu's fallback_cb variable
- * and a menu has not been assigned to the theme location in the WordPress
- * menu manager the function with display nothing to a non-logged in user,
- * and will add a link to the WordPress menu manager if logged in as an admin.
- *
- * @param array $args passed from the wp_nav_menu function.
- */
- public static function fallback( $args ) {
- if ( current_user_can( 'edit_theme_options' ) ) {
-
- /* Get Arguments. */
- $container = $args['container'];
- $container_id = $args['container_id'];
- $container_class = $args['container_class'];
- $menu_class = $args['menu_class'];
- $menu_id = $args['menu_id'];
-
- // initialize var to store fallback html.
- $fallback_output = '';
-
- if ( $container ) {
- $fallback_output .= '<' . esc_attr( $container );
- if ( $container_id ) {
- $fallback_output .= ' id="' . esc_attr( $container_id ) . '"';
- }
- if ( $container_class ) {
- $fallback_output .= ' class="' . esc_attr( $container_class ) . '"';
- }
- $fallback_output .= '>';
- }
- $fallback_output .= '<ul';
- if ( $menu_id ) {
- $fallback_output .= ' id="' . esc_attr( $menu_id ) . '"'; }
- if ( $menu_class ) {
- $fallback_output .= ' class="' . esc_attr( $menu_class ) . '"'; }
- $fallback_output .= '>';
- $fallback_output .= '<li><a href="' . esc_url( admin_url( 'nav-menus.php' ) ) . '" title="' . esc_attr__( 'Add a menu', 'understrap' ) . '">' . esc_html__( 'Add a menu', 'understrap' ) . '</a></li>';
- $fallback_output .= '</ul>';
- if ( $container ) {
- $fallback_output .= '</' . esc_attr( $container ) . '>';
- }
-
- // if $args has 'echo' key and it's true echo, otherwise return.
- if ( array_key_exists( 'echo', $args ) && $args['echo'] ) {
- echo $fallback_output; // WPCS: XSS OK.
- } else {
- return $fallback_output;
- }
- }
- }
-
- /**
- * Find any custom linkmod or icon classes and store in their holder
- * arrays then remove them from the main classes array.
- *
- * Supported linkmods: .disabled, .dropdown-header, .dropdown-divider, .sr-only
- * Supported iconsets: Font Awesome 4/5, Glypicons
- *
- * NOTE: This accepts the linkmod and icon arrays by reference.
- *
- * @since 4.0.0
- *
- * @param array $classes an array of classes currently assigned to the item.
- * @param array $linkmod_classes an array to hold linkmod classes.
- * @param array $icon_classes an array to hold icon classes.
- * @param integer $depth an integer holding current depth level.
- *
- * @return array $classes a maybe modified array of classnames.
- */
- private function seporate_linkmods_and_icons_from_classes( $classes, &$linkmod_classes, &$icon_classes, $depth ) {
- // Loop through $classes array to find linkmod or icon classes.
- foreach ( $classes as $key => $class ) {
- // If any special classes are found, store the class in it's
- // holder array and and unset the item from $classes.
- if ( preg_match( '/^disabled|^sr-only/i', $class ) ) {
- // Test for .disabled or .sr-only classes.
- $linkmod_classes[] = $class;
- unset( $classes[ $key ] );
- } elseif ( preg_match( '/^dropdown-header|^dropdown-divider|^dropdown-item-text/i', $class ) && $depth > 0 ) {
- // Test for .dropdown-header or .dropdown-divider and a
- // depth greater than 0 - IE inside a dropdown.
- $linkmod_classes[] = $class;
- unset( $classes[ $key ] );
- } elseif ( preg_match( '/^fa-(\S*)?|^fa(s|r|l|b)?(\s?)?$/i', $class ) ) {
- // Font Awesome.
- $icon_classes[] = $class;
- unset( $classes[ $key ] );
- } elseif ( preg_match( '/^glyphicon-(\S*)?|^glyphicon(\s?)$/i', $class ) ) {
- // Glyphicons.
- $icon_classes[] = $class;
- unset( $classes[ $key ] );
- }
- }
-
- return $classes;
- }
-
- /**
- * Return a string containing a linkmod type and update $atts array
- * accordingly depending on the decided.
- *
- * @since 4.0.0
- *
- * @param array $linkmod_classes array of any link modifier classes.
- *
- * @return string empty for default, a linkmod type string otherwise.
- */
- private function get_linkmod_type( $linkmod_classes = array() ) {
- $linkmod_type = '';
- // Loop through array of linkmod classes to handle their $atts.
- if ( ! empty( $linkmod_classes ) ) {
- foreach ( $linkmod_classes as $link_class ) {
- if ( ! empty( $link_class ) ) {
-
- // check for special class types and set a flag for them.
- if ( 'dropdown-header' === $link_class ) {
- $linkmod_type = 'dropdown-header';
- } elseif ( 'dropdown-divider' === $link_class ) {
- $linkmod_type = 'dropdown-divider';
- } elseif ( 'dropdown-item-text' === $link_class ) {
- $linkmod_type = 'dropdown-item-text';
- }
- }
- }
- }
- return $linkmod_type;
- }
-
- /**
- * Update the attributes of a nav item depending on the limkmod classes.
- *
- * @since 4.0.0
- *
- * @param array $atts array of atts for the current link in nav item.
- * @param array $linkmod_classes an array of classes that modify link or nav item behaviors or displays.
- *
- * @return array maybe updated array of attributes for item.
- */
- private function update_atts_for_linkmod_type( $atts = array(), $linkmod_classes = array() ) {
- if ( ! empty( $linkmod_classes ) ) {
- foreach ( $linkmod_classes as $link_class ) {
- if ( ! empty( $link_class ) ) {
- // update $atts with a space and the extra classname...
- // so long as it's not a sr-only class.
- if ( 'sr-only' !== $link_class ) {
- $atts['class'] .= ' ' . esc_attr( $link_class );
- }
- // check for special class types we need additional handling for.
- if ( 'disabled' === $link_class ) {
- // Convert link to '#' and unset open targets.
- $atts['href'] = '#';
- unset( $atts['target'] );
- } elseif ( 'dropdown-header' === $link_class || 'dropdown-divider' === $link_class || 'dropdown-item-text' === $link_class ) {
- // Store a type flag and unset href and target.
- unset( $atts['href'] );
- unset( $atts['target'] );
- }
- }
- }
- }
- return $atts;
- }
-
- /**
- * Wraps the passed text in a screen reader only class.
- *
- * @since 4.0.0
- *
- * @param string $text the string of text to be wrapped in a screen reader class.
- * @return string the string wrapped in a span with the class.
- */
- private function wrap_for_screen_reader( $text = '' ) {
- if ( $text ) {
- $text = '<span class="sr-only">' . $text . '</span>';
- }
- return $text;
- }
-
- /**
- * Returns the correct opening element and attributes for a linkmod.
- *
- * @since 4.0.0
- *
- * @param string $linkmod_type a sting containing a linkmod type flag.
- * @param string $attributes a string of attributes to add to the element.
- *
- * @return string a string with the openign tag for the element with attribibutes added.
- */
- private function linkmod_element_open( $linkmod_type, $attributes = '' ) {
- $output = '';
- if ( 'dropdown-item-text' === $linkmod_type ) {
- $output .= '<span class="dropdown-item-text"' . $attributes . '>';
- } elseif ( 'dropdown-header' === $linkmod_type ) {
- // For a header use a span with the .h6 class instead of a real
- // header tag so that it doesn't confuse screen readers.
- $output .= '<span class="dropdown-header h6"' . $attributes . '>';
- } elseif ( 'dropdown-divider' === $linkmod_type ) {
- // this is a divider.
- $output .= '<div class="dropdown-divider"' . $attributes . '>';
- }
- return $output;
- }
-
- /**
- * Return the correct closing tag for the linkmod element.
- *
- * @since 4.0.0
- *
- * @param string $linkmod_type a string containing a special linkmod type.
- *
- * @return string a string with the closing tag for this linkmod type.
- */
- private function linkmod_element_close( $linkmod_type ) {
- $output = '';
- if ( 'dropdown-header' === $linkmod_type || 'dropdown-item-text' === $linkmod_type ) {
- // For a header use a span with the .h6 class instead of a real
- // header tag so that it doesn't confuse screen readers.
- $output .= '</span>';
- } elseif ( 'dropdown-divider' === $linkmod_type ) {
- // this is a divider.
- $output .= '</div>';
- }
- return $output;
- }
- }
-}
diff --git a/dist/inc/custom-comments.php b/dist/inc/custom-comments.php
deleted file mode 100644
index c4aa7c7..0000000
--- a/dist/inc/custom-comments.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * Comment layout.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-// Comments form.
-add_filter( 'comment_form_default_fields', 'understrap_bootstrap_comment_form_fields' );
-
-/**
- * Creates the comments form.
- *
- * @param string $fields Form fields.
- *
- * @return array
- */
-
-if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
-
- function understrap_bootstrap_comment_form_fields( $fields ) {
- $commenter = wp_get_current_commenter();
- $req = get_option( 'require_name_email' );
- $aria_req = ( $req ? " aria-required='true'" : '' );
- $html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0;
- $consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
- $fields = array(
- 'author' => '<div class="form-group comment-form-author textfield-box"><label for="author">' . __( 'Name',
- 'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
- '<input class="form-control" id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . '></div>',
- 'email' => '<div class="form-group comment-form-email textfield-box"><label for="email">' . __( 'E-Mail',
- 'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
- '<input class="form-control" id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . '></div>',
- 'url' => '<div class="form-group comment-form-url textfield-box"><label for="url">' . __( 'Webseite',
- 'understrap' ) . '</label> ' .
- '<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>',
- 'cookies' => '<div class="form-group form-check comment-form-cookies-consent"><input class="form-check-input" id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /> ' .
- '<label class="form-check-label" for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment', 'understrap' ) . '</label></div>',
- );
-
- return $fields;
- }
-} // endif function_exists( 'understrap_bootstrap_comment_form_fields' )
-
-add_filter( 'comment_form_defaults', 'understrap_bootstrap_comment_form' );
-
-/**
- * Builds the form.
- *
- * @param string $args Arguments for form's fields.
- *
- * @return mixed
- */
-
-if ( ! function_exists( 'understrap_bootstrap_comment_form' ) ) {
-
- function understrap_bootstrap_comment_form( $args ) {
- $args['comment_field'] = '<div class="form-group comment-form-comment">
- <div class="textfield-box">
- <label for="comment">' . _x( 'Kommentar', 'noun', 'understrap' ) . ( ' <span class="required">*</span>' ) . '</label>
- <textarea class="form-control" id="comment" name="comment" aria-required="true" cols="45" rows="8"></textarea>
- </div>
- </div>';
- $args['class_submit'] = 'btn btn-secondary'; // since WP 4.1.
- return $args;
- }
-} // endif function_exists( 'understrap_bootstrap_comment_form' )
diff --git a/dist/inc/custom-header.php b/dist/inc/custom-header.php
deleted file mode 100644
index b66a416..0000000
--- a/dist/inc/custom-header.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Custom header setup.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
-
-if ( ! function_exists ( 'understrap_custom_header_setup' ) ) {
- function understrap_custom_header_setup() {
-
- /**
- * Filter UnderStrap custom-header support arguments.
- *
- * @since UnderStrap 0.5.2
- *
- * @param array $args {
- * An array of custom-header support arguments.
- *
- * @type string $default-image Default image of the header.
- * @type string $default_text_color Default color of the header text.
- * @type int $width Width in pixels of the custom header image. Default 954.
- * @type int $height Height in pixels of the custom header image. Default 1300.
- * @type string $wp-head-callback Callback function used to styles the header image and text
- * displayed on the blog.
- * @type string $flex-height Flex support for height of header.
- * }
- */
- add_theme_support( 'custom-header', apply_filters( 'understrap_custom_header_args', array(
- 'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
- 'width' => 2000,
- 'height' => 1200,
- 'flex-height' => true,
- ) ) );
-
- register_default_headers( array(
- 'default-image' => array(
- 'url' => '%s/img/header.jpg',
- 'thumbnail_url' => '%s/img/header.jpg',
- 'description' => __( 'Default Header Image', 'understrap' ),
- ),
- ) );
- }
-} \ No newline at end of file
diff --git a/dist/inc/customizer.php b/dist/inc/customizer.php
deleted file mode 100644
index 6729d77..0000000
--- a/dist/inc/customizer.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-/**
- * Understrap Theme Customizer
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Add postMessage support for site title and description for the Theme Customizer.
- *
- * @param WP_Customize_Manager $wp_customize Theme Customizer object.
- */
-if ( ! function_exists( 'understrap_customize_register' ) ) {
- /**
- * Register basic customizer support.
- *
- * @param object $wp_customize Customizer reference.
- */
- function understrap_customize_register( $wp_customize ) {
- $wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
- $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
- $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
- }
-}
-add_action( 'customize_register', 'understrap_customize_register' );
-
-if ( ! function_exists( 'understrap_theme_customize_register' ) ) {
- /**
- * Register individual settings through customizer's API.
- *
- * @param WP_Customize_Manager $wp_customize Customizer reference.
- */
- function understrap_theme_customize_register( $wp_customize ) {
-
- // Theme layout settings.
- $wp_customize->add_section( 'understrap_theme_layout_options', array(
- 'title' => __( 'Theme Layout Settings', 'understrap' ),
- 'capability' => 'edit_theme_options',
- 'description' => __( 'Container width and sidebar defaults', 'understrap' ),
- 'priority' => 160,
- ) );
-
- /**
- * Select sanitization function
- *
- * @param string $input Slug to sanitize.
- * @param WP_Customize_Setting $setting Setting instance.
- * @return string Sanitized slug if it is a valid choice; otherwise, the setting default.
- */
- function understrap_theme_slug_sanitize_select( $input, $setting ){
-
- // Ensure input is a slug (lowercase alphanumeric characters, dashes and underscores are allowed only).
- $input = sanitize_key( $input );
-
- // Get the list of possible select options.
- $choices = $setting->manager->get_control( $setting->id )->choices;
-
- // If the input is a valid key, return it; otherwise, return the default.
- return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
-
- }
-
- $wp_customize->add_setting( 'understrap_container_type', array(
- 'default' => 'container',
- 'type' => 'theme_mod',
- 'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
- 'capability' => 'edit_theme_options',
- ) );
-
- $wp_customize->add_control(
- new WP_Customize_Control(
- $wp_customize,
- 'understrap_container_type', array(
- 'label' => __( 'Container Width', 'understrap' ),
- 'description' => __( 'Choose between Bootstrap\'s container and container-fluid', 'understrap' ),
- 'section' => 'understrap_theme_layout_options',
- 'settings' => 'understrap_container_type',
- 'type' => 'select',
- 'choices' => array(
- 'container' => __( 'Fixed width container', 'understrap' ),
- 'container-fluid' => __( 'Full width container', 'understrap' ),
- ),
- 'priority' => '10',
- )
- ) );
-
- $wp_customize->add_setting( 'understrap_sidebar_position', array(
- 'default' => 'right',
- 'type' => 'theme_mod',
- 'sanitize_callback' => 'sanitize_text_field',
- 'capability' => 'edit_theme_options',
- ) );
-
- $wp_customize->add_control(
- new WP_Customize_Control(
- $wp_customize,
- 'understrap_sidebar_position', array(
- 'label' => __( 'Sidebar Positioning', 'understrap' ),
- 'description' => __( 'Set sidebar\'s default position. Can either be: right, left, both or none. Note: this can be overridden on individual pages.',
- 'understrap' ),
- 'section' => 'understrap_theme_layout_options',
- 'settings' => 'understrap_sidebar_position',
- 'type' => 'select',
- 'sanitize_callback' => 'understrap_theme_slug_sanitize_select',
- 'choices' => array(
- 'right' => __( 'Right sidebar', 'understrap' ),
- 'left' => __( 'Left sidebar', 'understrap' ),
- 'both' => __( 'Left & Right sidebars', 'understrap' ),
- 'none' => __( 'No sidebar', 'understrap' ),
- ),
- 'priority' => '20',
- )
- ) );
- }
-} // endif function_exists( 'understrap_theme_customize_register' ).
-add_action( 'customize_register', 'understrap_theme_customize_register' );
-
-/**
- * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
- */
-if ( ! function_exists( 'understrap_customize_preview_js' ) ) {
- /**
- * Setup JS integration for live previewing.
- */
- function understrap_customize_preview_js() {
- wp_enqueue_script( 'understrap_customizer', get_template_directory_uri() . '/js/customizer.js',
- array( 'customize-preview' ), '20130508', true
- );
- }
-}
-add_action( 'customize_preview_init', 'understrap_customize_preview_js' );
diff --git a/dist/inc/editor.php b/dist/inc/editor.php
deleted file mode 100644
index 4b71ee9..0000000
--- a/dist/inc/editor.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- * Understrap modify editor
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Registers an editor stylesheet for the theme.
- */
-
-add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
-
-if ( ! function_exists ( 'understrap_wpdocs_theme_add_editor_styles' ) ) {
- function understrap_wpdocs_theme_add_editor_styles() {
- add_editor_style( 'css/custom-editor-style.min.css' );
- }
-}
-
-// Add TinyMCE style formats.
-add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
-
-if ( ! function_exists ( 'understrap_tiny_mce_style_formats' ) ) {
- function understrap_tiny_mce_style_formats( $styles ) {
-
- array_unshift( $styles, 'styleselect' );
- return $styles;
- }
-}
-
-
-add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' );
-
-if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
- function understrap_tiny_mce_before_init( $settings ) {
-
- $style_formats = array(
- array(
- 'title' => 'Lead Paragraph',
- 'selector' => 'p',
- 'classes' => 'lead',
- 'wrapper' => true
- ),
- array(
- 'title' => 'Small',
- 'inline' => 'small'
- ),
- array(
- 'title' => 'Blockquote',
- 'block' => 'blockquote',
- 'classes' => 'blockquote',
- 'wrapper' => true
- ),
- array(
- 'title' => 'Blockquote Footer',
- 'block' => 'footer',
- 'classes' => 'blockquote-footer',
- 'wrapper' => true
- ),
- array(
- 'title' => 'Cite',
- 'inline' => 'cite'
- )
- );
-
- if ( isset( $settings['style_formats'] ) ) {
- $orig_style_formats = json_decode($settings['style_formats'],true);
- $style_formats = array_merge($orig_style_formats,$style_formats);
- }
-
- $settings['style_formats'] = json_encode( $style_formats );
- return $settings;
- }
-}
diff --git a/dist/inc/enqueue.php b/dist/inc/enqueue.php
deleted file mode 100644
index 56d3dd6..0000000
--- a/dist/inc/enqueue.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * Understrap enqueue scripts
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-if ( ! function_exists( 'understrap_scripts' ) ) {
- /**
- * Load theme's JavaScript and CSS sources.
- */
- function understrap_scripts() {
- // Get the theme data.
- $the_theme = wp_get_theme();
- $theme_version = $the_theme->get( 'Version' );
-
- $css_version = $theme_version . '.' . filemtime(get_template_directory() . '/css/theme.css');
- wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/css/theme.css', array(), $css_version );
-
- wp_enqueue_script( 'jquery');
-
- $js_version = $theme_version . '.' . filemtime(get_template_directory() . '/js/theme.min.js');
- wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $js_version, true );
- if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
- wp_enqueue_script( 'comment-reply' );
- }
- }
-} // endif function_exists( 'understrap_scripts' ).
-
-add_action( 'wp_enqueue_scripts', 'understrap_scripts' );
diff --git a/dist/inc/extras.php b/dist/inc/extras.php
deleted file mode 100644
index 94f7485..0000000
--- a/dist/inc/extras.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/**
- * Custom functions that act independently of the theme templates.
- *
- * Eventually, some of the functionality here could be replaced by core features.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-add_filter( 'body_class', 'understrap_body_classes' );
-
-if ( ! function_exists( 'understrap_body_classes' ) ) {
- /**
- * Adds custom classes to the array of body classes.
- *
- * @param array $classes Classes for the body element.
- *
- * @return array
- */
- function understrap_body_classes( $classes ) {
- // Adds a class of group-blog to blogs with more than 1 published author.
- if ( is_multi_author() ) {
- $classes[] = 'group-blog';
- }
- // Adds a class of hfeed to non-singular pages.
- if ( ! is_singular() ) {
- $classes[] = 'hfeed';
- }
-
- return $classes;
- }
-}
-
-// Removes tag class from the body_class array to avoid Bootstrap markup styling issues.
-add_filter( 'body_class', 'understrap_adjust_body_class' );
-
-if ( ! function_exists( 'understrap_adjust_body_class' ) ) {
- /**
- * Setup body classes.
- *
- * @param string $classes CSS classes.
- *
- * @return mixed
- */
- function understrap_adjust_body_class( $classes ) {
-
- foreach ( $classes as $key => $value ) {
- if ( 'tag' == $value ) {
- unset( $classes[ $key ] );
- }
- }
-
- return $classes;
-
- }
-}
-
-// Filter custom logo with correct classes.
-add_filter( 'get_custom_logo', 'understrap_change_logo_class' );
-
-if ( ! function_exists( 'understrap_change_logo_class' ) ) {
- /**
- * Replaces logo CSS class.
- *
- * @param string $html Markup.
- *
- * @return mixed
- */
- function understrap_change_logo_class( $html ) {
-
- $html = str_replace( 'class="custom-logo"', 'class="img-fluid"', $html );
- $html = str_replace( 'class="custom-logo-link"', 'class="navbar-brand custom-logo-link"', $html );
- $html = str_replace( 'alt=""', 'title="Home" alt="logo"' , $html );
-
- return $html;
- }
-}
-
-/**
- * Display navigation to next/previous post when applicable.
- */
-
-if ( ! function_exists ( 'understrap_post_nav' ) ) {
- function understrap_post_nav() {
- // Don't print empty markup if there's nowhere to navigate.
- $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
- $next = get_adjacent_post( false, '', false );
-
- if ( ! $next && ! $previous ) {
- return;
- }
- ?>
- <nav class="container navigation post-navigation">
- <h2 class="sr-only"><?php _e( 'Post navigation', 'understrap' ); ?></h2>
- <div class="row nav-links justify-content-between">
- <?php
-
- if ( get_previous_post_link() ) {
- previous_post_link( '<span class="col nav-previous text-left">%link</span>', _x( '<i class="fa fa-angle-left"></i>&nbsp;%title', 'Previous post link', 'understrap' ) );
- }
- if ( get_next_post_link() ) {
- next_post_link( '<span class="col nav-next text-right">%link</span>', _x( '%title&nbsp;<i class="fa fa-angle-right"></i>', 'Next post link', 'understrap' ) );
- }
- ?>
- </div><!-- .nav-links -->
- </nav><!-- .navigation -->
-
- <?php
- }
-}
diff --git a/dist/inc/hooks.php b/dist/inc/hooks.php
deleted file mode 100644
index 8cd0b8d..0000000
--- a/dist/inc/hooks.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Custom hooks.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-if ( ! function_exists( 'understrap_site_info' ) ) {
- /**
- * Add site info hook to WP hook library.
- */
- function understrap_site_info() {
- #do_action( 'understrap_site_info' );
- }
-}
-
-if ( ! function_exists( 'understrap_add_site_info' ) ) {
- add_action( 'understrap_site_info', 'understrap_add_site_info' );
-
- /**
- * Add site info content.
- */
- function understrap_add_site_info() {
- $the_theme = wp_get_theme();
-
- $site_info = sprintf(
- '<a href="%1$s">%2$s</a><span class="sep"> | </span>%3$s(%4$s)',
- esc_url( __( 'http://wordpress.org/', 'understrap' ) ),
- sprintf(
- /* translators:*/
- esc_html__( 'Proudly powered by %s', 'understrap' ), 'WordPress'
- ),
- sprintf( // WPCS: XSS ok.
- /* translators:*/
- esc_html__( 'Theme: %1$s by %2$s.', 'understrap' ), $the_theme->get( 'Name' ), '<a href="' . esc_url( __( 'http://understrap.com', 'understrap' ) ) . '">understrap.com</a>'
- ),
- sprintf( // WPCS: XSS ok.
- /* translators:*/
- esc_html__( 'Version: %1$s', 'understrap' ), $the_theme->get( 'Version' )
- )
- );
-
- echo apply_filters( 'understrap_site_info_content', $site_info ); // WPCS: XSS ok.
- }
-}
diff --git a/dist/inc/jetpack.php b/dist/inc/jetpack.php
deleted file mode 100644
index 1c2579c..0000000
--- a/dist/inc/jetpack.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-/**
- * Jetpack Compatibility File
- *
- * @link https://jetpack.me/
- *
- * @package UnderStrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Jetpack setup function.
- *
- * See: https://jetpack.me/support/infinite-scroll/
- * See: https://jetpack.me/support/responsive-videos/
- */
-
-add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
-
-if ( ! function_exists ( 'understrap_components_jetpack_setup' ) ) {
- function understrap_components_jetpack_setup() {
- // Add theme support for Infinite Scroll.
- add_theme_support( 'infinite-scroll', array(
- 'container' => 'main',
- 'render' => 'understrap_components_infinite_scroll_render',
- 'footer' => 'page',
- ) );
-
- // Add theme support for Responsive Videos.
- add_theme_support( 'jetpack-responsive-videos' );
-
- // Add theme support for Social Menus
- add_theme_support( 'jetpack-social-menu' );
-
- }
-}
-
-
-/**
- * Custom render function for Infinite Scroll.
- */
-
-if ( ! function_exists ( 'understrap_components_infinite_scroll_render' ) ) {
- function understrap_components_infinite_scroll_render() {
- while ( have_posts() ) {
- the_post();
- if ( is_search() ) :
- get_template_part( 'loop-templates/content', 'search' );
- else :
- get_template_part( 'loop-templates/content', get_post_format() );
- endif;
- }
- }
-}
-
-if ( ! function_exists ( 'understrap_components_social_menu' ) ) {
- function understrap_components_social_menu() {
- if ( ! function_exists( 'jetpack_social_menu' ) ) {
- return;
- } else {
- jetpack_social_menu();
- }
- }
-} \ No newline at end of file
diff --git a/dist/inc/pagination.php b/dist/inc/pagination.php
deleted file mode 100644
index 9a6ff79..0000000
--- a/dist/inc/pagination.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-/**
- * Pagination layout.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-if ( ! function_exists ( 'understrap_pagination' ) ) {
-
- function understrap_pagination( $args = array(), $class = 'pagination' ) {
-
- if ($GLOBALS['wp_query']->max_num_pages <= 1) return;
-
- $args = wp_parse_args( $args, array(
- 'mid_size' => 2,
- 'prev_next' => true,
- 'prev_text' => __('&laquo;', 'understrap'),
- 'next_text' => __('&raquo;', 'understrap'),
- 'screen_reader_text' => __('Posts navigation', 'understrap'),
- 'type' => 'array',
- 'current' => max( 1, get_query_var('paged') ),
- ) );
-
- $links = paginate_links($args);
-
- ?>
-
- <nav aria-label="<?php echo $args['screen_reader_text']; ?>">
-
- <ul class="pagination">
-
- <?php
-
- foreach ( $links as $key => $link ) { ?>
-
- <li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : '' ?>">
-
- <?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
-
- </li>
-
- <?php } ?>
-
- </ul>
-
- </nav>
-
- <?php
- }
-}
-
-?>
diff --git a/dist/inc/setup.php b/dist/inc/setup.php
deleted file mode 100644
index 5118851..0000000
--- a/dist/inc/setup.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-/**
- * Theme basic setup.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-// Set the content width based on the theme's design and stylesheet.
-if ( ! isset( $content_width ) ) {
- $content_width = 640; /* pixels */
-}
-
-add_action( 'after_setup_theme', 'understrap_setup' );
-
-if ( ! function_exists ( 'understrap_setup' ) ) {
- /**
- * Sets up theme defaults and registers support for various WordPress features.
- *
- * Note that this function is hooked into the after_setup_theme hook, which
- * runs before the init hook. The init hook is too late for some features, such
- * as indicating support for post thumbnails.
- */
- function understrap_setup() {
- /*
- * Make theme available for translation.
- * Translations can be filed in the /languages/ directory.
- * If you're building a theme based on understrap, use a find and replace
- * to change 'understrap' to the name of your theme in all the template files
- */
- load_theme_textdomain( 'understrap', get_template_directory() . '/languages' );
-
- // Add default posts and comments RSS feed links to head.
- add_theme_support( 'automatic-feed-links' );
-
- /*
- * Let WordPress manage the document title.
- * By adding theme support, we declare that this theme does not use a
- * hard-coded <title> tag in the document head, and expect WordPress to
- * provide it for us.
- */
- add_theme_support( 'title-tag' );
-
- // This theme uses wp_nav_menu() in one location.
- register_nav_menus( array(
- 'primary' => __( 'Primary Menu', 'understrap' ),
- ) );
-
- /*
- * Switch default core markup for search form, comment form, and comments
- * to output valid HTML5.
- */
- add_theme_support( 'html5', array(
- 'search-form',
- 'comment-form',
- 'comment-list',
- 'gallery',
- 'caption',
- ) );
-
- /*
- * Adding Thumbnail basic support
- */
- add_theme_support( 'post-thumbnails' );
-
- /*
- * Adding support for Widget edit icons in customizer
- */
- add_theme_support( 'customize-selective-refresh-widgets' );
-
- /*
- * Enable support for Post Formats.
- * See http://codex.wordpress.org/Post_Formats
- */
- add_theme_support( 'post-formats', array(
- 'aside',
- 'image',
- 'video',
- 'quote',
- 'link',
- ) );
-
- // Set up the WordPress core custom background feature.
- add_theme_support( 'custom-background', apply_filters( 'understrap_custom_background_args', array(
- 'default-color' => 'ffffff',
- 'default-image' => '',
- ) ) );
-
- // Set up the WordPress Theme logo feature.
- add_theme_support( 'custom-logo' );
-
- // Check and setup theme default settings.
- understrap_setup_theme_default_settings();
-
- }
-}
-
-
-add_filter( 'excerpt_more', 'understrap_custom_excerpt_more' );
-
-if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
- /**
- * Removes the ... from the excerpt read more link
- *
- * @param string $more The excerpt.
- *
- * @return string
- */
- function understrap_custom_excerpt_more( $more ) {
- return '';
- }
-}
-
-add_filter( 'wp_trim_excerpt', 'understrap_all_excerpts_get_more_link' );
-
-if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
- /**
- * Adds a custom read more link to all excerpts, manually or automatically generated
- *
- * @param string $post_excerpt Posts's excerpt.
- *
- * @return string
- */
- function understrap_all_excerpts_get_more_link( $post_excerpt ) {
-
- return $post_excerpt . ' <p><a class="btn btn-secondary understrap-read-more-link" href="' . esc_url( get_permalink( get_the_ID() )) . '#verkostung">' . __( 'Mehr lesen...',
- 'understrap' ) . '</a></p>';
- }
-}
diff --git a/dist/inc/style-wpcom.css b/dist/inc/style-wpcom.css
deleted file mode 100644
index 0b6da17..0000000
--- a/dist/inc/style-wpcom.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * Theme Name: Components
- *
- * Add any WordPress.com-specific CSS here
- *
- * This file is enqueued in /inc/wpcom.php
- */ \ No newline at end of file
diff --git a/dist/inc/template-tags.php b/dist/inc/template-tags.php
deleted file mode 100644
index 8ef2eb6..0000000
--- a/dist/inc/template-tags.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-/**
- * Custom template tags for this theme.
- *
- * Eventually, some of the functionality here could be replaced by core features.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Prints HTML with meta information for the current post-date/time and author.
- */
-if ( ! function_exists ( 'understrap_posted_on' ) ) {
- function understrap_posted_on() {
- $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
- $time_string = sprintf( $time_string,
- esc_attr( get_the_date( 'c' ) ),
- esc_html( get_the_date() )
- );
- /*
- $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( 'c' ) ),
- esc_html( get_the_date() ),
- esc_attr( get_the_modified_date( 'c' ) ),
- esc_html( get_the_modified_date() )
- );
- */
- /*
- $posted_on = sprintf(
- //esc_html_x( 'Posted on %s', 'post date', 'understrap' ),
- esc_html_x( 'Autor:', 'post date', 'understrap' ),
- '<a class="text-muted" href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
- );
- */
- $posted_on = '<a class="text-muted" href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>';
- $byline = sprintf(
- esc_html_x( 'Autor: %s', 'post author', 'understrap' ),
- '<span class="author vcard"><a class="text-muted url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
- );
- echo '<span class="text-muted"><span class="byline"> ' . $byline . '</span> | <span class="posted-on">' . $posted_on . '</span> | <a class="text-muted" href="' . esc_url( get_permalink() ) . '#comments">'; comments_number("0 Kommentare", "1 Kommentar", "% Kommentare"); echo '</a></span>'; // WPCS: XSS OK.
- }
-}
-
-
-/**
- * Prints HTML with meta information for the categories, tags and comments.
- */
-if ( ! function_exists ( 'understrap_entry_footer' ) ) {
- function understrap_entry_footer() {
- // Hide category and tag text for pages.
- if ( 'post' === get_post_type() ) {
- /* translators: used between list items, there is a space after the comma */
- $categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) );
- if ( $categories_list && understrap_categorized_blog() ) {
- printf( '<span class="cat-links text-muted col-sm col-xl-6"><i class="material-icons text-muted tag-category-icon">folder</i> ' . esc_html__( '%1$s', 'understrap' ) . '</span>', $categories_list ); // WPCS: XSS OK.
- }
- /* translators: used between list items, there is a space after the comma */
- $tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) );
- if ( $tags_list ) {
- printf( '<span class="tags-links text-right-xs col-sm col-xl-6"><i class="material-icons text-muted tag-category-icon">label</i>' . esc_html__( '%1$s', 'understrap' ) . '</span>', $tags_list ); // WPCS: XSS OK.
- }
- }
- /*
- if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
- echo '<span class="comments-link">';
- comments_popup_link( esc_html__( 'Leave a comment', 'understrap' ), esc_html__( '1 Comment', 'understrap' ), esc_html__( '% Comments', 'understrap' ) );
- echo '</span>';
- }
- */
- # /* translators: %s: Name of current post */
- /*
- edit_post_link(
- sprintf(
- esc_html__( 'Edit %s', 'understrap' ),
- the_title( '<span class="screen-reader-text">"', '"</span>', false )
- ),
- '<span class="edit-link">',
- '</span>'
- );
- */
- }
-}
-
-
-/**
- * Returns true if a blog has more than 1 category.
- *
- * @return bool
- */
-if ( ! function_exists ( 'understrap_categorized_blog' ) ) {
- function understrap_categorized_blog() {
- if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) {
- // Create an array of all the categories that are attached to posts.
- $all_the_cool_cats = get_categories( array(
- 'fields' => 'ids',
- 'hide_empty' => 1,
- // We only need to know if there is more than one category.
- 'number' => 2,
- ) );
- // Count the number of categories that are attached to the posts.
- $all_the_cool_cats = count( $all_the_cool_cats );
- set_transient( 'understrap_categories', $all_the_cool_cats );
- }
- if ( $all_the_cool_cats > 1 ) {
- // This blog has more than 1 category so components_categorized_blog should return true.
- return true;
- } else {
- // This blog has only 1 category so components_categorized_blog should return false.
- return false;
- }
- }
-}
-
-
-/**
- * Flush out the transients used in understrap_categorized_blog.
- */
-add_action( 'edit_category', 'understrap_category_transient_flusher' );
-add_action( 'save_post', 'understrap_category_transient_flusher' );
-
-if ( ! function_exists ( 'understrap_category_transient_flusher' ) ) {
- function understrap_category_transient_flusher() {
- if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
- return;
- }
- // Like, beat it. Dig?
- delete_transient( 'understrap_categories' );
- }
-}
diff --git a/dist/inc/theme-settings.php b/dist/inc/theme-settings.php
deleted file mode 100755
index 9bee616..0000000
--- a/dist/inc/theme-settings.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * Check and setup theme's default settings
- *
- * @package understrap
- *
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-if ( ! function_exists ( 'understrap_setup_theme_default_settings' ) ) {
- function understrap_setup_theme_default_settings() {
-
- // check if settings are set, if not set defaults.
- // Caution: DO NOT check existence using === always check with == .
- // Latest blog posts style.
- $understrap_posts_index_style = get_theme_mod( 'understrap_posts_index_style' );
- if ( '' == $understrap_posts_index_style ) {
- set_theme_mod( 'understrap_posts_index_style', 'default' );
- }
-
- // Sidebar position.
- $understrap_sidebar_position = get_theme_mod( 'understrap_sidebar_position' );
- if ( '' == $understrap_sidebar_position ) {
- set_theme_mod( 'understrap_sidebar_position', 'right' );
- }
-
- // Container width.
- $understrap_container_type = get_theme_mod( 'understrap_container_type' );
- if ( '' == $understrap_container_type ) {
- set_theme_mod( 'understrap_container_type', 'container' );
- }
- }
-} \ No newline at end of file
diff --git a/dist/inc/widgets.php b/dist/inc/widgets.php
deleted file mode 100644
index fdd6611..0000000
--- a/dist/inc/widgets.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/**
- * Declaring widgets
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Count number of widgets in a sidebar
- * Used to add classes to widget areas so widgets can be displayed one, two, three or four per row
- */
-if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) {
- function understrap_slbd_count_widgets( $sidebar_id ) {
- // If loading from front page, consult $_wp_sidebars_widgets rather than options
- // to see if wp_convert_widget_settings() has made manipulations in memory.
- global $_wp_sidebars_widgets;
- if ( empty( $_wp_sidebars_widgets ) ) :
- $_wp_sidebars_widgets = get_option( 'sidebars_widgets', array() );
- endif;
-
- $sidebars_widgets_count = $_wp_sidebars_widgets;
-
- if ( isset( $sidebars_widgets_count[ $sidebar_id ] ) ) :
- $widget_count = count( $sidebars_widgets_count[ $sidebar_id ] );
- $widget_classes = 'widget-count-' . count( $sidebars_widgets_count[ $sidebar_id ] );
- if ( $widget_count % 4 == 0 || $widget_count > 6 ) :
- // Four widgets per row if there are exactly four or more than six
- $widget_classes .= ' col-md-3';
- elseif ( 6 == $widget_count ) :
- // If two widgets are published
- $widget_classes .= ' col-md-2';
- elseif ( $widget_count >= 3 ) :
- // Three widgets per row if there's three or more widgets
- $widget_classes .= ' col-md-4';
- elseif ( 2 == $widget_count ) :
- // If two widgets are published
- $widget_classes .= ' col-md-6';
- elseif ( 1 == $widget_count ) :
- // If just on widget is active
- $widget_classes .= ' col-md-12';
- endif;
- return $widget_classes;
- endif;
- }
-}
-
-add_action( 'widgets_init', 'understrap_widgets_init' );
-
-if ( ! function_exists( 'understrap_widgets_init' ) ) {
- /**
- * Initializes themes widgets.
- */
- function understrap_widgets_init() {
- register_sidebar( array(
- 'name' => __( 'Right Sidebar', 'understrap' ),
- 'id' => 'right-sidebar',
- 'description' => __( 'Right sidebar widget area', 'understrap' ),
- 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
- 'after_widget' => '</aside>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- register_sidebar( array(
- 'name' => __( 'Left Sidebar', 'understrap' ),
- 'id' => 'left-sidebar',
- 'description' => __( 'Left sidebar widget area', 'understrap' ),
- 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
- 'after_widget' => '</aside>',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- register_sidebar( array(
- 'name' => __( 'Hero Slider', 'understrap' ),
- 'id' => 'hero',
- 'description' => __( 'Hero slider area. Place two or more widgets here and they will slide!', 'understrap' ),
- 'before_widget' => '<div class="carousel-item">',
- 'after_widget' => '</div>',
- 'before_title' => '',
- 'after_title' => '',
- ) );
-
- register_sidebar( array(
- 'name' => __( 'Hero Canvas', 'understrap' ),
- 'id' => 'herocanvas',
- 'description' => __( 'Full size canvas hero area for Bootstrap and other custom HTML markup', 'understrap' ),
- 'before_widget' => '',
- 'after_widget' => '',
- 'before_title' => '',
- 'after_title' => '',
- ) );
-
- register_sidebar( array(
- 'name' => __( 'Top Full', 'understrap' ),
- 'id' => 'statichero',
- 'description' => __( 'Full top widget with dynamic grid', 'understrap' ),
- 'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">',
- 'after_widget' => '</div><!-- .static-hero-widget -->',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- register_sidebar( array(
- 'name' => __( 'Footer Full', 'understrap' ),
- 'id' => 'footerfull',
- 'description' => __( 'Full sized footer widget with dynamic grid', 'understrap' ),
- 'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">',
- 'after_widget' => '</div><!-- .footer-widget -->',
- 'before_title' => '<h3 class="widget-title">',
- 'after_title' => '</h3>',
- ) );
-
- }
-} // endif function_exists( 'understrap_widgets_init' ).
diff --git a/dist/inc/woocommerce.php b/dist/inc/woocommerce.php
deleted file mode 100644
index 3cd8e9b..0000000
--- a/dist/inc/woocommerce.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-/**
- * Add WooCommerce support
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
-if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
- /**
- * Declares WooCommerce theme support.
- */
- function understrap_woocommerce_support() {
- add_theme_support( 'woocommerce' );
-
- // Add New Woocommerce 3.0.0 Product Gallery support
- add_theme_support( 'wc-product-gallery-lightbox' );
- add_theme_support( 'wc-product-gallery-zoom' );
- add_theme_support( 'wc-product-gallery-slider' );
-
- // hook in and customizer form fields.
- add_filter( 'woocommerce_form_field_args', 'understrap_wc_form_field_args', 10, 3 );
- }
-}
-
-/**
-* First unhook the WooCommerce wrappers
-*/
-remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
-remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
-
-/**
-* Then hook in your own functions to display the wrappers your theme requires
-*/
-add_action('woocommerce_before_main_content', 'understrap_woocommerce_wrapper_start', 10);
-add_action('woocommerce_after_main_content', 'understrap_woocommerce_wrapper_end', 10);
-if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
- function understrap_woocommerce_wrapper_start() {
- $container = get_theme_mod( 'understrap_container_type' );
- echo '<div class="wrapper" id="woocommerce-wrapper">';
- echo '<div class="' . esc_attr( $container ) . '" id="content" tabindex="-1">';
- echo '<div class="row">';
- get_template_part( 'global-templates/left-sidebar-check' );
- echo '<main class="site-main" id="main">';
- }
-}
-if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
-function understrap_woocommerce_wrapper_end() {
- echo '</main><!-- #main -->';
- get_template_part( 'global-templates/right-sidebar-check' );
- echo '</div><!-- .row -->';
- echo '</div><!-- Container end -->';
- echo '</div><!-- Wrapper end -->';
- }
-}
-
-
-/**
- * Filter hook function monkey patching form classes
- * Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
- *
- * @param string $args Form attributes.
- * @param string $key Not in use.
- * @param null $value Not in use.
- *
- * @return mixed
- */
-if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
- function understrap_wc_form_field_args( $args, $key, $value = null ) {
- // Start field type switch case.
- switch ( $args['type'] ) {
- /* Targets all select input type elements, except the country and state select input types */
- case 'select' :
- // Add a class to the field's html element wrapper - woocommerce
- // input types (fields) are often wrapped within a <p></p> tag.
- $args['class'][] = 'form-group';
- // Add a class to the form input itself.
- $args['input_class'] = array( 'form-control', 'input-lg' );
- $args['label_class'] = array( 'control-label' );
- $args['custom_attributes'] = array(
- 'data-plugin' => 'select2',
- 'data-allow-clear' => 'true',
- 'aria-hidden' => 'true',
- // Add custom data attributes to the form input itself.
- );
- break;
- // By default WooCommerce will populate a select with the country names - $args
- // defined for this specific input type targets only the country select element.
- case 'country' :
- $args['class'][] = 'form-group single-country';
- $args['label_class'] = array( 'control-label' );
- break;
- // By default WooCommerce will populate a select with state names - $args defined
- // for this specific input type targets only the country select element.
- case 'state' :
- // Add class to the field's html element wrapper.
- $args['class'][] = 'form-group';
- // add class to the form input itself.
- $args['input_class'] = array( '', 'input-lg' );
- $args['label_class'] = array( 'control-label' );
- $args['custom_attributes'] = array(
- 'data-plugin' => 'select2',
- 'data-allow-clear' => 'true',
- 'aria-hidden' => 'true',
- );
- break;
- case 'password' :
- case 'text' :
- case 'email' :
- case 'tel' :
- case 'number' :
- $args['class'][] = 'form-group';
- $args['input_class'] = array( 'form-control', 'input-lg' );
- $args['label_class'] = array( 'control-label' );
- break;
- case 'textarea' :
- $args['input_class'] = array( 'form-control', 'input-lg' );
- $args['label_class'] = array( 'control-label' );
- break;
- case 'checkbox' :
- $args['label_class'] = array( 'custom-control custom-checkbox' );
- $args['input_class'] = array( 'custom-control-input', 'input-lg' );
- break;
- case 'radio' :
- $args['label_class'] = array( 'custom-control custom-radio' );
- $args['input_class'] = array( 'custom-control-input', 'input-lg' );
- break;
- default :
- $args['class'][] = 'form-group';
- $args['input_class'] = array( 'form-control', 'input-lg' );
- $args['label_class'] = array( 'control-label' );
- break;
- } // end switch ($args).
- return $args;
- }
-} \ No newline at end of file
diff --git a/dist/inc/wpcom.php b/dist/inc/wpcom.php
deleted file mode 100644
index ca42c38..0000000
--- a/dist/inc/wpcom.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * WordPress.com-specific functions and definitions
- *
- * This file is centrally included from `wp-content/mu-plugins/wpcom-theme-compat.php`.
- *
- * @package understrap
- */
-
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
-}
-
-/**
- * Adds support for wp.com-specific theme functions.
- *
- * @global array $themecolors
- */
-add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
-
-if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
- function understrap_wpcom_setup() {
- global $themecolors;
-
- // Set theme colors for third party services.
- if ( ! isset( $themecolors ) ) {
- $themecolors = array(
- 'bg' => '',
- 'border' => '',
- 'text' => '',
- 'link' => '',
- 'url' => '',
- );
- }
-
- /* Add WP.com print styles */
- add_theme_support( 'print-styles' );
- }
-}
-
-
-/*
- * WordPress.com-specific styles
- */
-add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
-
-if ( ! function_exists ( 'understrap_wpcom_styles' ) ) {
- function understrap_wpcom_styles() {
- wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' );
- }
-} \ No newline at end of file