File "storefront-template-functions.php"
Full Path: /home/warrior1/public_html/wp-content/themes/storefront/inc/storefront-template-functions.php
File size: 17.96 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Storefront template functions.
*
* @package storefront
*/
if ( ! function_exists( 'storefront_display_comments' ) ) {
/**
* Storefront display comments
*
* @since 1.0.0
*/
function storefront_display_comments() {
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || 0 !== intval( get_comments_number() ) ) :
comments_template();
endif;
}
}
if ( ! function_exists( 'storefront_comment' ) ) {
/**
* Storefront comment template
*
* @param array $comment the comment array.
* @param array $args the comment args.
* @param int $depth the comment depth.
* @since 1.0.0
*/
function storefront_comment( $comment, $args, $depth ) {
if ( 'div' === $args['style'] ) {
$tag = 'div';
$add_below = 'comment';
} else {
$tag = 'li';
$add_below = 'div-comment';
}
?>
<<?php echo esc_attr( $tag ); ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?> id="comment-<?php comment_ID(); ?>">
<div class="comment-body">
<div class="comment-meta commentmetadata">
<div class="comment-author vcard">
<?php echo get_avatar( $comment, 128 ); ?>
<?php printf( wp_kses_post( '<cite class="fn">%s</cite>', 'storefront' ), get_comment_author_link() ); ?>
</div>
<?php if ( '0' === $comment->comment_approved ) : ?>
<em class="comment-awaiting-moderation"><?php esc_html_e( 'Your comment is awaiting moderation.', 'storefront' ); ?></em>
<br />
<?php endif; ?>
<a href="<?php echo esc_url( htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ); ?>" class="comment-date">
<?php echo '<time datetime="' . esc_attr( get_comment_date( 'c' ) ) . '">' . esc_html( get_comment_date() ) . '</time>'; ?>
</a>
</div>
<?php if ( 'div' !== $args['style'] ) : ?>
<div id="div-comment-<?php comment_ID(); ?>" class="comment-content">
<?php endif; ?>
<div class="comment-text">
<?php comment_text(); ?>
</div>
<div class="reply">
<?php
comment_reply_link(
array_merge(
$args,
array(
'add_below' => $add_below,
'depth' => $depth,
'max_depth' => $args['max_depth'],
)
)
);
?>
<?php edit_comment_link( __( 'Edit', 'storefront' ), ' ', '' ); ?>
</div>
</div>
<?php if ( 'div' !== $args['style'] ) : ?>
</div>
<?php endif; ?>
<?php
}
}
if ( ! function_exists( 'storefront_footer_widgets' ) ) {
/**
* Display the footer widget regions.
*
* @since 1.0.0
* @return void
*/
function storefront_footer_widgets() {
$rows = intval( apply_filters( 'storefront_footer_widget_rows', 1 ) );
$regions = intval( apply_filters( 'storefront_footer_widget_columns', 4 ) );
for ( $row = 1; $row <= $rows; $row++ ) :
// Defines the number of active columns in this footer row.
for ( $region = $regions; 0 < $region; $region-- ) {
if ( is_active_sidebar( 'footer-' . esc_attr( $region + $regions * ( $row - 1 ) ) ) ) {
$columns = $region;
break;
}
}
if ( isset( $columns ) ) :
?>
<div class=<?php echo '"footer-widgets row-' . esc_attr( $row ) . ' col-' . esc_attr( $columns ) . ' fix"'; ?>>
<?php
for ( $column = 1; $column <= $columns; $column++ ) :
$footer_n = $column + $regions * ( $row - 1 );
if ( is_active_sidebar( 'footer-' . esc_attr( $footer_n ) ) ) :
?>
<div class="block footer-widget-<?php echo esc_attr( $column ); ?>">
<?php dynamic_sidebar( 'footer-' . esc_attr( $footer_n ) ); ?>
</div>
<?php
endif;
endfor;
?>
</div><!-- .footer-widgets.row-<?php echo esc_attr( $row ); ?> -->
<?php
unset( $columns );
endif;
endfor;
}
}
if ( ! function_exists( 'storefront_credit' ) ) {
/**
* Display the theme credit
*
* @since 1.0.0
* @return void
*/
function storefront_credit() {
$links_output = '';
if ( apply_filters( 'storefront_credit_link', true ) ) {
if ( storefront_is_woocommerce_activated() ) {
$links_output .= '<a href="https://woocommerce.com" target="_blank" title="' . esc_attr__( 'WooCommerce - The Best eCommerce Platform for WordPress', 'storefront' ) . '" rel="noreferrer">' . esc_html__( 'Built with Storefront & WooCommerce', 'storefront' ) . '</a>.';
} else {
$links_output .= '<a href="https://woocommerce.com/storefront/" target="_blank" title="' . esc_attr__( 'Storefront - The perfect platform for your next WooCommerce project.', 'storefront' ) . '" rel="noreferrer">' . esc_html__( 'Built with Storefront', 'storefront' ) . '</a>.';
}
}
if ( apply_filters( 'storefront_privacy_policy_link', true ) && function_exists( 'the_privacy_policy_link' ) ) {
$separator = '<span role="separator" aria-hidden="true"></span>';
$links_output = get_the_privacy_policy_link( '', ( ! empty( $links_output ) ? $separator : '' ) ) . $links_output;
}
$links_output = apply_filters( 'storefront_credit_links_output', $links_output );
?>
<div class="site-info">
<?php echo esc_html( apply_filters( 'storefront_copyright_text', $content = '© ' . get_bloginfo( 'name' ) . ' ' . gmdate( 'Y' ) ) ); ?>
<?php if ( ! empty( $links_output ) ) { ?>
<br />
<?php echo wp_kses_post( $links_output ); ?>
<?php } ?>
</div><!-- .site-info -->
<?php
}
}
if ( ! function_exists( 'storefront_header_widget_region' ) ) {
/**
* Display header widget region
*
* @since 1.0.0
*/
function storefront_header_widget_region() {
if ( is_active_sidebar( 'header-1' ) ) {
?>
<div class="header-widget-region" role="complementary">
<div class="col-full">
<?php dynamic_sidebar( 'header-1' ); ?>
</div>
</div>
<?php
}
}
}
if ( ! function_exists( 'storefront_site_branding' ) ) {
/**
* Site branding wrapper and display
*
* @since 1.0.0
* @return void
*/
function storefront_site_branding() {
?>
<div class="site-branding">
<?php storefront_site_title_or_logo(); ?>
</div>
<?php
}
}
if ( ! function_exists( 'storefront_site_title_or_logo' ) ) {
/**
* Display the site title or logo
*
* @since 2.1.0
* @param bool $echo Echo the string or return it.
* @return string
*/
function storefront_site_title_or_logo( $echo = true ) {
if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
$logo = get_custom_logo();
$html = is_home() ? '<h1 class="logo">' . $logo . '</h1>' : $logo;
} else {
$tag = is_home() ? 'h1' : 'div';
$html = '<' . esc_attr( $tag ) . ' class="beta site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html( get_bloginfo( 'name' ) ) . '</a></' . esc_attr( $tag ) . '>';
if ( '' !== get_bloginfo( 'description' ) ) {
$html .= '<p class="site-description">' . esc_html( get_bloginfo( 'description', 'display' ) ) . '</p>';
}
}
if ( ! $echo ) {
return $html;
}
echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}
if ( ! function_exists( 'storefront_primary_navigation' ) ) {
/**
* Display Primary Navigation
*
* @since 1.0.0
* @return void
*/
function storefront_primary_navigation() {
?>
<nav id="site-navigation" class="main-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Primary Navigation', 'storefront' ); ?>">
<button id="site-navigation-menu-toggle" class="menu-toggle" aria-controls="site-navigation" aria-expanded="false"><span><?php echo esc_html( apply_filters( 'storefront_menu_toggle_text', __( 'Menu', 'storefront' ) ) ); ?></span></button>
<?php
wp_nav_menu(
array(
'theme_location' => 'primary',
'container_class' => 'primary-navigation',
)
);
wp_nav_menu(
array(
'theme_location' => 'handheld',
'container_class' => 'handheld-navigation',
)
);
?>
</nav><!-- #site-navigation -->
<?php
}
}
if ( ! function_exists( 'storefront_secondary_navigation' ) ) {
/**
* Display Secondary Navigation
*
* @since 1.0.0
* @return void
*/
function storefront_secondary_navigation() {
if ( has_nav_menu( 'secondary' ) ) {
?>
<nav class="secondary-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Secondary Navigation', 'storefront' ); ?>">
<?php
wp_nav_menu(
array(
'theme_location' => 'secondary',
'fallback_cb' => '',
)
);
?>
</nav><!-- #site-navigation -->
<?php
}
}
}
if ( ! function_exists( 'storefront_skip_links' ) ) {
/**
* Skip links
*
* @since 1.4.1
* @return void
*/
function storefront_skip_links() {
?>
<a class="skip-link screen-reader-text" href="#site-navigation"><?php esc_html_e( 'Skip to navigation', 'storefront' ); ?></a>
<a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'storefront' ); ?></a>
<?php
}
}
if ( ! function_exists( 'storefront_homepage_header' ) ) {
/**
* Display the page header without the featured image
*
* @since 1.0.0
*/
function storefront_homepage_header() {
edit_post_link( __( 'Edit this section', 'storefront' ), '', '', '', 'button storefront-hero__button-edit' );
?>
<header class="entry-header">
<?php
the_title( '<h1 class="entry-title">', '</h1>' );
?>
</header><!-- .entry-header -->
<?php
}
}
if ( ! function_exists( 'storefront_page_header' ) ) {
/**
* Display the page header
*
* @since 1.0.0
*/
function storefront_page_header() {
if ( is_front_page() && is_page_template( 'template-fullwidth.php' ) ) {
return;
}
?>
<header class="entry-header">
<?php
storefront_post_thumbnail( 'full' );
the_title( '<h1 class="entry-title">', '</h1>' );
?>
</header><!-- .entry-header -->
<?php
}
}
if ( ! function_exists( 'storefront_page_content' ) ) {
/**
* Display the post content
*
* @since 1.0.0
*/
function storefront_page_content() {
?>
<div class="entry-content">
<?php the_content(); ?>
<?php
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'storefront' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<?php
}
}
if ( ! function_exists( 'storefront_post_header' ) ) {
/**
* Display the post header with a link to the single post
*
* @since 1.0.0
*/
function storefront_post_header() {
?>
<header class="entry-header">
<?php
/**
* Functions hooked in to storefront_post_header_before action.
*
* @hooked storefront_post_meta - 10
*/
do_action( 'storefront_post_header_before' );
if ( is_single() ) {
the_title( '<h1 class="entry-title">', '</h1>' );
} else {
the_title( sprintf( '<h2 class="alpha entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
}
do_action( 'storefront_post_header_after' );
?>
</header><!-- .entry-header -->
<?php
}
}
if ( ! function_exists( 'storefront_post_content' ) ) {
/**
* Display the post content with a link to the single post
*
* @since 1.0.0
*/
function storefront_post_content() {
?>
<div class="entry-content">
<?php
/**
* Functions hooked in to storefront_post_content_before action.
*
* @hooked storefront_post_thumbnail - 10
*/
do_action( 'storefront_post_content_before' );
the_content(
sprintf(
/* translators: %s: post title */
__( 'Continue reading %s', 'storefront' ),
'<span class="screen-reader-text">' . get_the_title() . '</span>'
)
);
do_action( 'storefront_post_content_after' );
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'storefront' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<?php
}
}
if ( ! function_exists( 'storefront_post_meta' ) ) {
/**
* Display the post meta
*
* @since 1.0.0
*/
function storefront_post_meta() {
if ( 'post' !== get_post_type() ) {
return;
}
// Posted on.
$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() )
);
$output_time_string = sprintf( '<a href="%1$s" rel="bookmark">%2$s</a>', esc_url( get_permalink() ), $time_string );
$posted_on = '
<span class="posted-on">' .
/* translators: %s: post date */
sprintf( __( 'Posted on %s', 'storefront' ), $output_time_string ) .
'</span>';
// Author.
$author = sprintf(
'<span class="post-author">%1$s <a href="%2$s" class="url fn" rel="author">%3$s</a></span>',
__( 'by', 'storefront' ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_html( get_the_author() )
);
// Comments.
$comments = '';
if ( ! post_password_required() && ( comments_open() || 0 !== intval( get_comments_number() ) ) ) {
$comments_number = get_comments_number_text( __( 'Leave a comment', 'storefront' ), __( '1 Comment', 'storefront' ), __( '% Comments', 'storefront' ) );
$comments = sprintf(
'<span class="post-comments">— <a href="%1$s">%2$s</a></span>',
esc_url( get_comments_link() ),
$comments_number
);
}
echo wp_kses(
sprintf( '%1$s %2$s %3$s', $posted_on, $author, $comments ),
array(
'span' => array(
'class' => array(),
),
'a' => array(
'href' => array(),
'title' => array(),
'rel' => array(),
),
'time' => array(
'datetime' => array(),
'class' => array(),
),
)
);
}
}
if ( ! function_exists( 'storefront_edit_post_link' ) ) {
/**
* Display the edit link
*
* @since 2.5.0
*/
function storefront_edit_post_link() {
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'storefront' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
),
'<div class="edit-link">',
'</div>'
);
}
}
if ( ! function_exists( 'storefront_post_taxonomy' ) ) {
/**
* Display the post taxonomies
*
* @since 2.4.0
*/
function storefront_post_taxonomy() {
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( __( ', ', 'storefront' ) );
/* translators: used between list items, there is a space after the comma */
$tags_list = get_the_tag_list( '', __( ', ', 'storefront' ) );
?>
<aside class="entry-taxonomy">
<?php if ( $categories_list ) : ?>
<div class="cat-links">
<?php echo esc_html( _n( 'Category:', 'Categories:', count( get_the_category() ), 'storefront' ) ); ?> <?php echo wp_kses_post( $categories_list ); ?>
</div>
<?php endif; ?>
<?php if ( $tags_list ) : ?>
<div class="tags-links">
<?php echo esc_html( _n( 'Tag:', 'Tags:', count( get_the_tags() ), 'storefront' ) ); ?> <?php echo wp_kses_post( $tags_list ); ?>
</div>
<?php endif; ?>
</aside>
<?php
}
}
if ( ! function_exists( 'storefront_paging_nav' ) ) {
/**
* Display navigation to next/previous set of posts when applicable.
*/
function storefront_paging_nav() {
global $wp_query;
$args = array(
'type' => 'list',
'next_text' => _x( 'Next', 'Next post', 'storefront' ),
'prev_text' => _x( 'Previous', 'Previous post', 'storefront' ),
);
the_posts_pagination( $args );
}
}
if ( ! function_exists( 'storefront_post_nav' ) ) {
/**
* Display navigation to next/previous post when applicable.
*/
function storefront_post_nav() {
$args = array(
'next_text' => '<span class="screen-reader-text">' . esc_html__( 'Next post:', 'storefront' ) . ' </span>%title',
'prev_text' => '<span class="screen-reader-text">' . esc_html__( 'Previous post:', 'storefront' ) . ' </span>%title',
);
the_post_navigation( $args );
}
}
if ( ! function_exists( 'storefront_homepage_content' ) ) {
/**
* Display homepage content
* Hooked into the `homepage` action in the homepage template
*
* @since 1.0.0
* @return void
*/
function storefront_homepage_content() {
while ( have_posts() ) {
the_post();
get_template_part( 'content', 'homepage' );
} // end of the loop.
}
}
if ( ! function_exists( 'storefront_social_icons' ) ) {
/**
* Display social icons
* If the subscribe and connect plugin is active, display the icons.
*
* @link http://wordpress.org/plugins/subscribe-and-connect/
* @since 1.0.0
*/
function storefront_social_icons() {
if ( class_exists( 'Subscribe_And_Connect' ) ) {
echo '<div class="subscribe-and-connect-connect">';
subscribe_and_connect_connect();
echo '</div>';
}
}
}
if ( ! function_exists( 'storefront_get_sidebar' ) ) {
/**
* Display storefront sidebar
*
* @uses get_sidebar()
* @since 1.0.0
*/
function storefront_get_sidebar() {
get_sidebar();
}
}
if ( ! function_exists( 'storefront_post_thumbnail' ) ) {
/**
* Display post thumbnail
*
* @var $size thumbnail size. thumbnail|medium|large|full|$custom
* @uses has_post_thumbnail()
* @uses the_post_thumbnail
* @param string $size the post thumbnail size.
* @since 1.5.0
*/
function storefront_post_thumbnail( $size = 'full' ) {
if ( has_post_thumbnail() ) {
the_post_thumbnail( $size );
}
}
}
if ( ! function_exists( 'storefront_primary_navigation_wrapper' ) ) {
/**
* The primary navigation wrapper
*/
function storefront_primary_navigation_wrapper() {
echo '<div class="storefront-primary-navigation"><div class="col-full">';
}
}
if ( ! function_exists( 'storefront_primary_navigation_wrapper_close' ) ) {
/**
* The primary navigation wrapper close
*/
function storefront_primary_navigation_wrapper_close() {
echo '</div></div>';
}
}
if ( ! function_exists( 'storefront_header_container' ) ) {
/**
* The header container
*/
function storefront_header_container() {
echo '<div class="col-full">';
}
}
if ( ! function_exists( 'storefront_header_container_close' ) ) {
/**
* The header container close
*/
function storefront_header_container_close() {
echo '</div>';
}
}