• Resolved balocha2001

    (@balocha2001)


    Hello. The image is not loaded for products when switching to another category tab. The error is somewhere in function.php I think. Help, please

    <?php
    
    /**
     * Astra functions and definitions
     *
     * @link https://developer.www.ads-software.com/themes/basics/theme-functions/
     *
     * @package Astra
     * @since 1.0.0
     */
    
    if (!defined('ABSPATH')) {
    	exit; // Exit if accessed directly.
    }
    
    /**
     * Define Constants
     */
    define('ASTRA_THEME_VERSION', '3.8.1');
    define('ASTRA_THEME_SETTINGS', 'astra-settings');
    define('ASTRA_THEME_DIR', trailingslashit(get_template_directory()));
    define('ASTRA_THEME_URI', trailingslashit(esc_url(get_template_directory_uri())));
    
    /**
     * Minimum Version requirement of the Astra Pro addon.
     * This constant will be used to display the notice asking user to update the Astra addon to the version defined below.
     */
    define('ASTRA_EXT_MIN_VER', '3.6.3');
    
    
    /**
     * Setup helper functions of Astra.
     */
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-theme-options.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-theme-strings.php';
    require_once ASTRA_THEME_DIR . 'inc/core/common-functions.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-icons.php';
    
    /**
     * Update theme
     */
    require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-theme-update.php';
    require_once ASTRA_THEME_DIR . 'inc/theme-update/astra-update-functions.php';
    require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-theme-background-updater.php';
    require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-pb-compatibility.php';
    
    
    /**
     * Fonts Files
     */
    require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-font-families.php';
    if (is_admin()) {
    	require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts-data.php';
    }
    
    require_once ASTRA_THEME_DIR . 'inc/lib/webfont/class-astra-webfont-loader.php';
    require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts.php';
    
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/custom-menu-old-header.php';
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/container-layouts.php';
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/astra-icons.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-walker-page.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-enqueue-scripts.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-gutenberg-editor-css.php';
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-wp-editor-css.php';
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/block-editor-compatibility.php';
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/inline-on-mobile.php';
    require_once ASTRA_THEME_DIR . 'inc/dynamic-css/content-background.php';
    require_once ASTRA_THEME_DIR . 'inc/class-astra-dynamic-css.php';
    require_once ASTRA_THEME_DIR . 'inc/class-astra-global-palette.php';
    
    /**
     * Custom template tags for this theme.
     */
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-attr.php';
    require_once ASTRA_THEME_DIR . 'inc/template-tags.php';
    
    require_once ASTRA_THEME_DIR . 'inc/widgets.php';
    require_once ASTRA_THEME_DIR . 'inc/core/theme-hooks.php';
    require_once ASTRA_THEME_DIR . 'inc/admin-functions.php';
    require_once ASTRA_THEME_DIR . 'inc/core/sidebar-manager.php';
    
    /**
     * Markup Functions
     */
    require_once ASTRA_THEME_DIR . 'inc/markup-extras.php';
    require_once ASTRA_THEME_DIR . 'inc/extras.php';
    require_once ASTRA_THEME_DIR . 'inc/blog/blog-config.php';
    require_once ASTRA_THEME_DIR . 'inc/blog/blog.php';
    require_once ASTRA_THEME_DIR . 'inc/blog/single-blog.php';
    
    /**
     * Markup Files
     */
    require_once ASTRA_THEME_DIR . 'inc/template-parts.php';
    require_once ASTRA_THEME_DIR . 'inc/class-astra-loop.php';
    require_once ASTRA_THEME_DIR . 'inc/class-astra-mobile-header.php';
    
    /**
     * Functions and definitions.
     */
    require_once ASTRA_THEME_DIR . 'inc/class-astra-after-setup-theme.php';
    
    // Required files.
    require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-helper.php';
    
    require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-schema.php';
    
    if (is_admin()) {
    
    	/**
    	 * Admin Menu Settings
    	 */
    	require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-settings.php';
    	require_once ASTRA_THEME_DIR . 'inc/lib/astra-notices/class-astra-notices.php';
    }
    
    /**
     * Metabox additions.
     */
    require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-boxes.php';
    
    require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-box-operations.php';
    
    /**
     * Customizer additions.
     */
    require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-customizer.php';
    
    /**
     * Astra Modules.
     */
    require_once ASTRA_THEME_DIR . 'inc/modules/related-posts/class-astra-related-posts.php';
    
    /**
     * Compatibility
     */
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gutenberg.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-jetpack.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/class-astra-woocommerce.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/edd/class-astra-edd.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/class-astra-lifterlms.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/learndash/class-astra-learndash.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-builder.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bb-ultimate-addon.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-contact-form-7.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-visual-composer.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-site-origin.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gravity-forms.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bne-flyout.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-ubermeu.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-divi-builder.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-amp.php';
    require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-yoast-seo.php';
    require_once ASTRA_THEME_DIR . 'inc/addons/transparent-header/class-astra-ext-transparent-header.php';
    require_once ASTRA_THEME_DIR . 'inc/addons/breadcrumbs/class-astra-breadcrumbs.php';
    require_once ASTRA_THEME_DIR . 'inc/addons/heading-colors/class-astra-heading-colors.php';
    require_once ASTRA_THEME_DIR . 'inc/builder/class-astra-builder-loader.php';
    
    // Elementor Compatibility requires PHP 5.4 for namespaces.
    if (version_compare(PHP_VERSION, '5.4', '>=')) {
    	require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor.php';
    	require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor-pro.php';
    	require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-web-stories.php';
    }
    
    // Beaver Themer compatibility requires PHP 5.3 for anonymus functions.
    if (version_compare(PHP_VERSION, '5.3', '>=')) {
    	require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-themer.php';
    }
    
    require_once ASTRA_THEME_DIR . 'inc/core/markup/class-astra-markup.php';
    
    /**
     * Load deprecated functions
     */
    require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-filters.php';
    require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-hooks.php';
    require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-functions.php';
    
    
    function awooc_add_new_status_function($product_id, $order_id)
    {
    
    	$order = wc_get_order($order_id);
    	$order->update_status('processing', 'order_note');
    }
    
    add_action('awooc_after_mail_send', 'awooc_add_new_status_function', 10, 2);
    
    
    add_filter('astra_woo_shop_out_of_stock_string', 'out_of_stock_callback');
    function out_of_stock_callback($title)
    {
    	return 'Скоро появится';
    }
    
    add_filter('woocommerce_get_availability', 'change_out_of_stock_text_woocommerce', 1, 2);
    function change_out_of_stock_text_woocommerce($availability, $product_to_check)
    {
    	// Change Out of Stock Text
    	if (!$product_to_check->is_in_stock()) {
    		$availability['availability'] = __('Скоро появится', 'woocommerce');
    	}
    	return $availability;
    }
    
    
    function woocommerce_archive_gallery()
    {
    
    	global $product;
    	$post_ids = $product->get_id();
    
    	$attachment_ids = $product->get_gallery_attachment_ids();
    
    	echo '<div class="mainimg feature-slider-';
    	echo $post_ids;
    	echo '">';
    
    	echo '<div>';
    	echo get_the_post_thumbnail($post->ID, 'shop_single', $attributes);
    	echo '</div>';
    
    
    
    	foreach ($attachment_ids as $attachment_id) {
    		echo '<div>';
    		echo wp_get_attachment_image($attachment_id, 'shop_catalog');
    		echo '</div>';
    	}
    	echo '</div>';
    
    
    ?>
    
    	<script>
    		jQuery(function() {
    			var mySlider = jQuery('.feature-slider-<?php echo $post_ids; ?>').slick({
    				slidesToShow: 1,
    				slidesToScroll: 1,
    				arrows: false,
    				dots: true,
    				infinite: false,
    				speed: 180,
    			});
    
    			jQuery('.slick-dots li').on('mouseover', function() {
    				jQuery(this).closest('.mainimg').slick('slickGoTo', jQuery(this).index());
    			});
    
    		});
    	</script>
    
    <?php
    }
    
    remove_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10); //Убираем вывод картинки по умолчанию
    add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_archive_gallery', 8);
    
    add_action('woocommerce_before_shop_loop', 'my_wrapper_sidebar_start', 35);
    function my_wrapper_sidebar_start()
    {
    ?>
    	<a href="#" class="btn-drop-filter button active">
    		<span>Фильтр</span>
    		<div class="btn-drop-filter_line">
    			<span></span>
    			<span></span>
    			<span></span>
    		</div>
    	</a>
    	<div class="ast-my-wrapper active">
    
    	<?php
    }
    add_action('woocommerce_after_shop_loop', 'my_wrapper_sidebar_end', 5);
    function my_wrapper_sidebar_end()
    {
    	?>
    	</div>
    <?php
    }
    
    add_action('woocommerce_before_shop_loop', 'my_wrapper_count_start', 15);
    function my_wrapper_count_start()
    {
    ?>
    	<div class="ast-my-wrapper-count">
    	<?php
    }
    add_action('woocommerce_before_shop_loop', 'my_wrapper_count_end', 30);
    function my_wrapper_count_end()
    {
    	?>
    	</div>
    <?php
    }
    
    
    add_filter( 'woocommerce_output_related_products_args', 'jk_related_products_args' );
     function jk_related_products_args( $args ) {
     
    $args['posts_per_page'] = 20; // количество "Похожих товаров"
     $args['columns'] = 4; // количество колонок
     return $args;
    }
    

    The page I need help with: [log in to see the link]

Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Image product listing’ is closed to new replies.