You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
682 lines
23 KiB
682 lines
23 KiB
<?php
|
|
/**
|
|
* Custom functions that act independently of the theme templates
|
|
*
|
|
* Eventually, some of the functionality here could be replaced by core features
|
|
*
|
|
* @package Cordero
|
|
*/
|
|
|
|
|
|
/**
|
|
* Adds custom classes to the array of body classes
|
|
*
|
|
* @param array $classes Classes for the body element
|
|
* @return array
|
|
*/
|
|
if ( !function_exists( 'cordero_body_classes' ) ) {
|
|
function cordero_body_classes( $classes ) {
|
|
// Adds a class of group-blog to blogs with more than 1 published author
|
|
if ( is_multi_author() ) {
|
|
$classes[] = 'group-blog';
|
|
}
|
|
|
|
if ( get_theme_mod( 'hide_tagline' ) ) {
|
|
$classes[] = 'tagline-hidden';
|
|
}
|
|
|
|
if ( post_password_required() ) {
|
|
$classes[] = 'post-password-required';
|
|
}
|
|
|
|
$sidebar_position = get_theme_mod( 'sidebar_position' );
|
|
if ( $sidebar_position === 'left' ) {
|
|
$classes[] = 'sidebar-left';
|
|
} elseif ( $sidebar_position === 'below' ) {
|
|
$classes[] = 'sidebar-below';
|
|
}
|
|
|
|
if ( get_theme_mod( 'header_layout' ) === 'masthead-left' ) {
|
|
$classes[] = 'masthead-left';
|
|
}
|
|
|
|
return $classes;
|
|
}
|
|
}
|
|
add_filter( 'body_class', 'cordero_body_classes' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_primary_menu_sub_trigger' ) ) {
|
|
function cordero_primary_menu_sub_trigger( $args, $item ) {
|
|
if ( 'primary' === $args->theme_location ) {
|
|
if ( in_array( 'menu-item-has-children', $item->classes, true ) ) {
|
|
$args->after = '<button class="sub-trigger"></button>';
|
|
} else {
|
|
$args->after = '';
|
|
}
|
|
}
|
|
return $args;
|
|
}
|
|
}
|
|
add_filter( 'nav_menu_item_args', 'cordero_primary_menu_sub_trigger', 10, 2 );
|
|
|
|
|
|
if ( !function_exists( 'cordero_primary_menu_fallback' ) ) {
|
|
function cordero_primary_menu_fallback() {
|
|
echo '<ul id="primary-menu" class="demo-menu">';
|
|
if ( is_user_logged_in() && current_user_can( 'edit_theme_options' ) ) {
|
|
echo '<li class="menu-item"><a href="' . esc_url( admin_url( 'nav-menus.php' ) ) . '">' . esc_html__( 'Create your Primary Menu here', 'cordero' ) . '</a></li>';
|
|
} else {
|
|
wp_list_pages( array( 'depth' => 1, 'sort_column' => 'post_name', 'title_li' => '' ) );
|
|
}
|
|
echo '</ul>';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_footer_menu_fallback' ) ) {
|
|
function cordero_footer_menu_fallback() {
|
|
if ( function_exists( 'the_privacy_policy_link' ) ) {
|
|
echo '<div class="site-info-right">';
|
|
the_privacy_policy_link( '', '' );
|
|
echo '</div>';
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_custom_excerpt_length' ) ) {
|
|
function cordero_custom_excerpt_length( $length ) {
|
|
if ( is_admin() ) {
|
|
return $length;
|
|
} else {
|
|
return get_theme_mod( 'excerpt_length', '20' );
|
|
}
|
|
}
|
|
}
|
|
add_filter( 'excerpt_length', 'cordero_custom_excerpt_length', 999 );
|
|
|
|
|
|
if ( !function_exists( 'cordero_excerpt_more' ) ) {
|
|
function cordero_excerpt_more( $more ) {
|
|
if ( is_admin() ) {
|
|
return $more;
|
|
} else {
|
|
return '…';
|
|
}
|
|
}
|
|
}
|
|
add_filter( 'excerpt_more', 'cordero_excerpt_more' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_archive_title_prefix' ) ) {
|
|
function cordero_archive_title_prefix( $title ) {
|
|
if ( is_category() ) {
|
|
$title = single_cat_title( '', false );
|
|
} elseif ( is_tag() ) {
|
|
$title = single_tag_title( '', false );
|
|
} elseif ( is_author() ) {
|
|
$title = '<span class="author vcard">' . get_avatar( get_the_author_meta( 'ID' ), '90' ) . esc_html( get_the_author() ) . '</span>';
|
|
}
|
|
return $title;
|
|
}
|
|
}
|
|
add_filter( 'get_the_archive_title', 'cordero_archive_title_prefix' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_menu' ) ) {
|
|
function cordero_header_menu() {
|
|
$header_layout = get_theme_mod( 'header_layout', '' );
|
|
?>
|
|
<button class="toggle-nav"></button>
|
|
<?php cordero_before_site_nav(); ?>
|
|
<div id="site-navigation" role="navigation"<?php cordero_schema_item( 'nav' ); ?>>
|
|
<button class="toggle-nav-open"></button>
|
|
<?php
|
|
if ( $header_layout == 'logo-right' ) {
|
|
cordero_header_content_extra();
|
|
}
|
|
?>
|
|
<div class="site-main-menu">
|
|
<?php cordero_before_main_menu(); ?>
|
|
<?php wp_nav_menu(
|
|
array(
|
|
'theme_location' => 'primary',
|
|
'menu_id' => 'primary-menu',
|
|
'fallback_cb' => 'cordero_primary_menu_fallback',
|
|
)
|
|
); ?>
|
|
<?php cordero_after_main_menu(); ?>
|
|
</div>
|
|
<?php
|
|
if ( $header_layout == 'logo-left' || $header_layout == 'logo-below' || $header_layout == 'masthead-left' || $header_layout == '' ) {
|
|
cordero_header_content_extra();
|
|
}
|
|
?>
|
|
<button class="menu-close"><?php esc_html_e( 'Close Menu', 'cordero' ); ?></button>
|
|
</div>
|
|
<div id="site-nav-after" class="site-nav-after"></div>
|
|
<?php cordero_after_site_nav(); ?>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_content' ) ) {
|
|
function cordero_header_content() {
|
|
cordero_site_branding_start();
|
|
?>
|
|
<?php if ( get_theme_mod( 'custom_logo' ) ) { ?>
|
|
<div class="site-logo">
|
|
<?php the_custom_logo(); ?>
|
|
</div>
|
|
<?php } else { ?>
|
|
<?php if ( is_front_page() ) { ?>
|
|
<h1 class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></h1>
|
|
<?php } else { ?>
|
|
<p class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></p>
|
|
<?php }
|
|
} ?>
|
|
<div class="site-description"<?php cordero_schema_prop( 'desc' ); ?>><?php echo esc_html( get_bloginfo( 'description' ) ); ?></div>
|
|
<?php
|
|
cordero_site_branding_end();
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_transparent_header_content' ) ) {
|
|
function cordero_transparent_header_content() {
|
|
cordero_site_branding_start();
|
|
?>
|
|
<?php if ( get_theme_mod( 'logo_transparent_header' ) ) { ?>
|
|
<div class="site-logo">
|
|
<?php cordero_custom_logo_transparent(); ?>
|
|
</div>
|
|
<?php } else { ?>
|
|
<?php if ( is_front_page() ) { ?>
|
|
<h1 class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></h1>
|
|
<?php } else { ?>
|
|
<p class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></p>
|
|
<?php }
|
|
} ?>
|
|
<div class="site-description"<?php cordero_schema_prop( 'desc' ); ?>><?php echo esc_html( get_bloginfo( 'description' ) ); ?></div>
|
|
<?php
|
|
cordero_site_branding_end();
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_custom_logo_transparent' ) ) {
|
|
function cordero_custom_logo_transparent() {
|
|
$html = '';
|
|
$custom_logo_id = get_theme_mod( 'logo_transparent_header' );
|
|
|
|
// We have a logo. Logo is go.
|
|
if ( $custom_logo_id ) {
|
|
$custom_logo_attr = array(
|
|
'class' => 'custom-logo',
|
|
);
|
|
|
|
if ( is_front_page() ) {
|
|
/*
|
|
* If on the home page, set the logo alt attribute to an empty string,
|
|
* as the image is decorative and doesn't need its purpose to be described.
|
|
*/
|
|
$custom_logo_attr['alt'] = '';
|
|
} else {
|
|
/*
|
|
* If the logo alt attribute is empty, get the site title and explicitly pass it
|
|
* to the attributes used by wp_get_attachment_image().
|
|
*/
|
|
$image_alt = get_post_meta( $custom_logo_id, '_wp_attachment_image_alt', true );
|
|
if ( empty( $image_alt ) ) {
|
|
$custom_logo_attr['alt'] = get_bloginfo( 'name', 'display' );
|
|
}
|
|
}
|
|
|
|
/*
|
|
* If the alt attribute is not empty, there's no need to explicitly pass it
|
|
* because wp_get_attachment_image() already adds the alt attribute.
|
|
*/
|
|
$image = wp_get_attachment_image( $custom_logo_id, 'full', false, $custom_logo_attr );
|
|
|
|
if ( is_front_page() ) {
|
|
// If on the home page, don't link the logo to home.
|
|
$html = sprintf(
|
|
'<span class="custom-logo-link">%1$s</span>',
|
|
$image
|
|
);
|
|
} else {
|
|
$html = sprintf(
|
|
'<a href="%1$s" class="custom-logo-link" rel="home">%2$s</a>',
|
|
esc_url( home_url( '/' ) ),
|
|
$image
|
|
);
|
|
}
|
|
} elseif ( is_customize_preview() ) {
|
|
// If no logo is set but we're in the Customizer, leave a placeholder (needed for the live preview).
|
|
$html = sprintf(
|
|
'<a href="%1$s" class="custom-logo-link" style="display:none;"><img class="custom-logo"/></a>',
|
|
esc_url( home_url( '/' ) )
|
|
);
|
|
}
|
|
|
|
echo $html;
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_content_customizer' ) ) {
|
|
function cordero_header_content_customizer() {
|
|
cordero_site_branding_start();
|
|
?>
|
|
<div class="site-logo">
|
|
<?php the_custom_logo(); ?>
|
|
</div>
|
|
<?php if ( is_front_page() ) { ?>
|
|
<h1 class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></h1>
|
|
<?php } else { ?>
|
|
<p class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></p>
|
|
<?php }
|
|
?>
|
|
<div class="site-description"<?php cordero_schema_prop( 'desc' ); ?>><?php echo esc_html( get_bloginfo( 'description' ) ); ?></div>
|
|
<?php
|
|
cordero_site_branding_end();
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_transparent_header_content_customizer' ) ) {
|
|
function cordero_transparent_header_content_customizer() {
|
|
cordero_site_branding_start();
|
|
?>
|
|
<div class="site-logo">
|
|
<?php cordero_custom_logo_transparent(); ?>
|
|
</div>
|
|
<?php if ( is_front_page() ) { ?>
|
|
<h1 class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></h1>
|
|
<?php } else { ?>
|
|
<p class="site-title"<?php cordero_schema_prop( 'name' ); ?>><a class="<?php echo esc_attr( get_theme_mod( 'site_title_style' ) );?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"<?php cordero_schema_prop( 'url' ); ?>><?php echo esc_html( get_bloginfo( 'name' ) ); ?></a></p>
|
|
<?php }
|
|
?>
|
|
<div class="site-description"<?php cordero_schema_prop( 'desc' ); ?>><?php echo esc_html( get_bloginfo( 'description' ) ); ?></div>
|
|
<?php
|
|
cordero_site_branding_end();
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_site_branding_start' ) ) {
|
|
function cordero_site_branding_start() {
|
|
?>
|
|
<?php cordero_before_site_branding(); ?>
|
|
<div id="site-branding" class="<?php echo esc_attr( get_theme_mod( 'site_title_style', 'border' ) ); ?>"<?php cordero_schema_item( 'org' ); ?>>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_site_branding_end' ) ) {
|
|
function cordero_site_branding_end() {
|
|
?>
|
|
</div><!-- #site-branding -->
|
|
<?php cordero_after_site_branding(); ?>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_content_extra' ) ) {
|
|
function cordero_header_content_extra() {
|
|
?>
|
|
<div class="extra-wrap noSwipe">
|
|
<?php cordero_before_header_search(); ?>
|
|
<?php cordero_header_search() ?>
|
|
<?php cordero_header_account(); ?>
|
|
<?php cordero_header_wishlist(); ?>
|
|
<?php cordero_header_cart(); ?>
|
|
<?php cordero_after_header_cart(); ?>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_account' ) ) {
|
|
function cordero_header_account() {
|
|
if ( class_exists( 'WooCommerce' ) ) { ?>
|
|
<div class="top-account">
|
|
<?php $woo_account_page_id = get_option( 'woocommerce_myaccount_page_id' );
|
|
if ( $woo_account_page_id ) { ?>
|
|
<a class="cordero-account" href="<?php echo esc_url( get_permalink( $woo_account_page_id ) ); ?>" role="button"><span id="icon-user" class="icons cordero-icon-user"></span></a>
|
|
<?php } else { ?>
|
|
<span class="cordero-account" role="button"><span id="icon-user" class="icons cordero-icon-user"></span></span>
|
|
<?php } ?>
|
|
<div class="mini-account">
|
|
<?php if ( is_user_logged_in() ) {
|
|
woocommerce_account_navigation();
|
|
} else {
|
|
wc_get_template( 'myaccount/form-login.php' );
|
|
} ?>
|
|
</div>
|
|
</div>
|
|
<?php }
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_search' ) ) {
|
|
function cordero_header_search() {
|
|
?>
|
|
<div class="top-search">
|
|
<button class="icons cordero-icon-search"></button>
|
|
<div class="mini-search">
|
|
<?php if ( class_exists( 'WooCommerce' ) ) {
|
|
get_product_search_form();
|
|
} else {
|
|
get_search_form();
|
|
} ?>
|
|
<button class="icons search-close"><?php esc_html_e( 'Close Search', 'cordero' ); ?></button>
|
|
</div>
|
|
</div>
|
|
<?php }
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_wishlist' ) ) {
|
|
function cordero_header_wishlist() {
|
|
if ( class_exists( 'WooCommerce' ) ) {
|
|
if ( class_exists( 'YITH_WCWL' ) ) { ?>
|
|
<div class="top-wishlist"><a class="cordero-wishlist" href="<?php echo esc_url( YITH_WCWL()->get_wishlist_url() ); ?>" role="button"><span class="icons cordero-icon-heart"></span><span class="wishlist_products_counter_number"><?php echo yith_wcwl_count_all_products(); ?></span></a></div>
|
|
<?php } elseif ( class_exists( 'TInvWL' ) ) { ?>
|
|
<div class="top-wishlist"> <?php
|
|
echo do_shortcode( '[ti_wishlist_products_counter show_icon="off" show_text="off"]' ); ?>
|
|
</div> <?php
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_update_wishlist_count' ) ) {
|
|
function cordero_update_wishlist_count() {
|
|
if( class_exists( 'YITH_WCWL' ) ){
|
|
wp_send_json( array(
|
|
'count' => yith_wcwl_count_all_products()
|
|
) );
|
|
}
|
|
}
|
|
}
|
|
add_action( 'wp_ajax_yith_wcwl_update_wishlist_count', 'cordero_update_wishlist_count' );
|
|
add_action( 'wp_ajax_nopriv_yith_wcwl_update_wishlist_count', 'cordero_update_wishlist_count' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_header_cart' ) ) {
|
|
function cordero_header_cart() {
|
|
if ( class_exists( 'WooCommerce' ) ) {
|
|
$cart_items = WC()->cart->get_cart_contents_count();
|
|
if ( $cart_items > 0 ) {
|
|
$cart_class = ' items';
|
|
} else {
|
|
$cart_class = '';
|
|
} ?>
|
|
<div class="top-cart<?php echo $cart_class; ?>"><a class="cordero-cart" href="<?php echo esc_url( wc_get_cart_url() ); ?>" role="button"><span class="icons cordero-icon-shopping-cart"></span><?php echo sprintf ( '<span class="item-count">%d</span>', $cart_items ); ?></a><div class="mini-cart"><?php woocommerce_mini_cart();?></div></div>
|
|
<?php }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Update header mini-cart contents when products are added to the cart via AJAX
|
|
*/
|
|
if ( !function_exists( 'cordero_header_cart_update' ) ) {
|
|
function cordero_header_cart_update( $fragments ) {
|
|
$cart_items = WC()->cart->get_cart_contents_count();
|
|
if ( $cart_items > 0 ) {
|
|
$cart_class = ' items';
|
|
} else {
|
|
$cart_class = '';
|
|
}
|
|
ob_start();
|
|
?>
|
|
<div class="top-cart<?php echo $cart_class; ?>"><a class="cordero-cart" href="<?php echo esc_url( wc_get_cart_url() ); ?>" role="button"><span class="icons cordero-icon-shopping-cart"></span><?php echo sprintf ( '<span class="item-count">%d</span>', $cart_items ); ?></a><div class="mini-cart"><?php woocommerce_mini_cart();?></div></div>
|
|
<?php
|
|
$fragments['.top-cart'] = ob_get_clean();
|
|
return $fragments;
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_add_to_cart_fragments', 'cordero_header_cart_update' );
|
|
|
|
|
|
/**
|
|
* Powered by WordPress
|
|
*/
|
|
if ( !function_exists( 'cordero_powered_by' ) ) {
|
|
function cordero_powered_by() {
|
|
?>
|
|
<div class="site-info">
|
|
<div class="copyright">
|
|
<?php echo '© ' . date_i18n( 'Y' ) . ' ' . esc_html( get_bloginfo( 'name' ) ); ?>
|
|
</div>
|
|
<div class="theme">
|
|
<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'cordero' ) ); ?>"><?php printf( esc_html__( 'Powered by %s', 'cordero' ), 'WordPress' ); ?></a>
|
|
<span class="sep"> | </span>
|
|
<?php /* translators: %2$s link to theme page, %1$s theme author */
|
|
printf( esc_html__( 'Theme: %2$s by %1$s', 'cordero' ), 'UXL Themes', '<a href="https://uxlthemes.com/theme/cordero/" rel="designer">Cordero</a>' ); ?>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
|
|
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
|
|
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10);
|
|
|
|
add_action( 'woocommerce_before_main_content', 'cordero_theme_wrapper_start', 10);
|
|
add_action( 'woocommerce_after_main_content', 'cordero_theme_wrapper_end', 10);
|
|
add_action( 'woocommerce_before_shop_loop', 'cordero_shop_filter_section', 15);
|
|
|
|
add_action( 'woocommerce_before_shop_loop_item', 'cordero_before_shop_loop_item', 0);
|
|
add_action( 'woocommerce_before_subcategory', 'cordero_before_shop_loop_item', 0);
|
|
|
|
add_action( 'woocommerce_shop_loop_item_title', 'cordero_before_shop_loop_item_title', 0);
|
|
add_action( 'woocommerce_after_shop_loop_item_title', 'cordero_after_shop_loop_item_title', 100);
|
|
|
|
add_action( 'woocommerce_shop_loop_subcategory_title', 'cordero_before_shop_loop_cat_title', 0);
|
|
add_action( 'woocommerce_shop_loop_subcategory_title', 'cordero_after_shop_loop_item_title', 100);
|
|
|
|
add_action( 'woocommerce_after_shop_loop_item', 'cordero_before_shop_loop_addtocart', 6);
|
|
add_action( 'woocommerce_after_shop_loop_item', 'cordero_after_shop_loop_addtocart', 100);
|
|
add_action( 'woocommerce_after_subcategory', 'cordero_after_subcategory', 100);
|
|
|
|
|
|
if ( !function_exists( 'cordero_before_shop_loop_item' ) ) {
|
|
function cordero_before_shop_loop_item() {
|
|
echo '<div class="product-wrap">';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_before_shop_loop_item_title' ) ) {
|
|
function cordero_before_shop_loop_item_title() {
|
|
global $product;
|
|
$attachment_ids = $product->get_gallery_image_ids();
|
|
if ( $attachment_ids && $product->get_image_id() ) {
|
|
echo '<div class="product-extra-img">' . wp_get_attachment_image( $attachment_ids[0], 'woocommerce_thumbnail' ) . '</div>';
|
|
}
|
|
echo '<div class="product-detail-wrap">';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_before_shop_loop_cat_title' ) ) {
|
|
function cordero_before_shop_loop_cat_title() {
|
|
echo '<div class="product-detail-wrap">';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_after_shop_loop_item_title' ) ) {
|
|
function cordero_after_shop_loop_item_title() {
|
|
echo '</div>';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_before_shop_loop_addtocart' ) ) {
|
|
function cordero_before_shop_loop_addtocart() {
|
|
echo '<div class="product-addtocart-wrap">';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_after_shop_loop_addtocart' ) ) {
|
|
function cordero_after_shop_loop_addtocart() {
|
|
echo '</div></div>';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_after_subcategory' ) ) {
|
|
function cordero_after_subcategory() {
|
|
echo '</div>';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_shop_filter_section' ) ) {
|
|
function cordero_shop_filter_section() {
|
|
if ( !is_product() ) {
|
|
get_sidebar( 'shop-filters' );
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_theme_wrapper_start' ) ) {
|
|
function cordero_theme_wrapper_start() {
|
|
if ( !is_active_sidebar( 'cordero-sidebar-shop' ) || is_product() || get_theme_mod( 'sidebar_position' ) === 'below' ) {
|
|
$page_full_width = ' full-width';
|
|
} else {
|
|
$page_full_width = '';
|
|
}
|
|
cordero_before_primary_content();
|
|
echo '<div id="primary" class="content-area'.$page_full_width.'">
|
|
<main id="main" class="site-main" role="main">';
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_theme_wrapper_end' ) ) {
|
|
function cordero_theme_wrapper_end() {
|
|
echo '</main><!-- #main -->
|
|
</div><!-- #primary -->';
|
|
cordero_after_primary_content();
|
|
if ( !is_product() ) {
|
|
get_sidebar( 'shop' );
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_change_prev_next' ) ) {
|
|
function cordero_change_prev_next( $args ) {
|
|
$args['prev_text'] = '<i class="dashicons dashicons-arrow-left-alt2"></i>';
|
|
$args['next_text'] = '<i class="dashicons dashicons-arrow-right-alt2"></i>';
|
|
return $args;
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_pagination_args', 'cordero_change_prev_next' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_woocommerce_placeholder_img_src' ) ) {
|
|
function cordero_woocommerce_placeholder_img_src() {
|
|
return esc_url( get_template_directory_uri() ) . '/images/woocommerce-placeholder.png';
|
|
}
|
|
}
|
|
if ( !get_option( 'woocommerce_placeholder_image', 0 ) ) {
|
|
add_filter('woocommerce_placeholder_img_src', 'cordero_woocommerce_placeholder_img_src');
|
|
}
|
|
|
|
|
|
if ( !function_exists( 'cordero_upsell_products_args' ) ) {
|
|
function cordero_upsell_products_args( $args ) {
|
|
$col_per_page = esc_attr( get_option( 'woocommerce_catalog_columns', 5 ) );
|
|
$args['posts_per_page'] = $col_per_page;
|
|
$args['columns'] = $col_per_page;
|
|
return $args;
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_upsell_display_args', 'cordero_upsell_products_args' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_related_products_args' ) ) {
|
|
function cordero_related_products_args( $args ) {
|
|
$col_per_page = esc_attr( get_option( 'woocommerce_catalog_columns', 5 ) );
|
|
$args['posts_per_page'] = $col_per_page;
|
|
$args['columns'] = $col_per_page;
|
|
return $args;
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_output_related_products_args', 'cordero_related_products_args' );
|
|
|
|
|
|
if ( !function_exists( 'cordero_woocommerce_gallery_thumbnail_size' ) ) {
|
|
function cordero_woocommerce_gallery_thumbnail_size( $size ) {
|
|
return 'woocommerce_thumbnail';
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_gallery_thumbnail_size', 'cordero_woocommerce_gallery_thumbnail_size' );
|
|
|
|
|
|
/*
|
|
* see: woocommerce/packages/woocommerce-blocks/src/BlockTypes/AbstractProductGrid.php
|
|
*/
|
|
if ( !function_exists( 'cordero_wc_product_block' ) ) {
|
|
function cordero_wc_product_block( $html, $data, $product ) {
|
|
$html = '<li class="wc-block-grid__product">
|
|
<a href="' . $data->permalink . '" class="wc-block-grid__product-link">
|
|
' . $data->image . '
|
|
' . cordero_wc_block_extra_img( $product ) . '
|
|
' . $data->title . '
|
|
</a>
|
|
' . $data->badge . '
|
|
' . $data->price . '
|
|
' . $data->rating . '
|
|
' . $data->button . '
|
|
</li>';
|
|
return $html;
|
|
}
|
|
}
|
|
add_filter( 'woocommerce_blocks_product_grid_item_html', 'cordero_wc_product_block', 10, 3);
|
|
|
|
|
|
if ( !function_exists( 'cordero_wc_block_extra_img' ) ) {
|
|
function cordero_wc_block_extra_img( $product ) {
|
|
$attachment_ids = $product->get_gallery_image_ids();
|
|
if ( $attachment_ids && $product->get_image_id() ) {
|
|
return '<div class="product-extra-img">' . wp_get_attachment_image( $attachment_ids[0], 'woocommerce_thumbnail' ) . '</div>';
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Exclude custom logo image from Jetpack lazy load
|
|
*/
|
|
if(!function_exists( 'cordero_exclude_class_from_lazy_load' )){
|
|
function cordero_exclude_class_from_lazy_load( $classes ) {
|
|
$classes[] = 'custom-logo';
|
|
return $classes;
|
|
}
|
|
}
|
|
add_filter( 'jetpack_lazy_images_blocked_classes', 'cordero_exclude_class_from_lazy_load', 999, 1 );
|
|
|
|
|
|
/**
|
|
* Disable image scaling
|
|
* since WP 5.3 any uploaded image larger than 2560px (height or width) is scaled to max 2560px
|
|
*/
|
|
add_filter( 'big_image_size_threshold', '__return_false' );
|
|
|