uveananda
Forum Replies Created
-
Disabling CSS did the trick. It’s working great except there is some sort of issue regarding WPML plugin.
In the main language, both shop page and product category page work great.
In the second language, only shop page works. For some reason the product category pages in the second language don’t load any products at all.I’m thinking it’s got something to do with how WPML translates some elements connected to this part of ALM code:
$obj = get_queried_object(); $taxonomy = $obj->taxonomy; $taxonomy_term = $obj->slug; echo do_shortcode('[ajax_load_more post_type="product" taxonomy="'. $taxonomy .'" taxonomy_terms="'. $taxonomy_term .'" taxonomy_operator="IN" css_classes="products" posts_per_page="12" transition="fade"]');;
Thanks for the update. I got it working but with a major issue:
My products are abnormal height & cut off: https://ibb.co/dCyyfJ (image)My repeater template: (taken from content-product.php):
<li <?php wc_product_class(); ?>> <?php /** * Hook: woocommerce_before_shop_loop_item. * * @hooked woocommerce_template_loop_product_link_open - 10 */ do_action( 'woocommerce_before_shop_loop_item' ); /** * Hook: woocommerce_before_shop_loop_item_title. * * @hooked woocommerce_show_product_loop_sale_flash - 10 * @hooked woocommerce_template_loop_product_thumbnail - 10 */ do_action( 'woocommerce_before_shop_loop_item_title' ); /** * Hook: woocommerce_shop_loop_item_title. * * @hooked woocommerce_template_loop_product_title - 10 */ do_action( 'woocommerce_shop_loop_item_title' ); /** * Hook: woocommerce_after_shop_loop_item_title. * * @hooked woocommerce_template_loop_rating - 5 * @hooked woocommerce_template_loop_price - 10 */ do_action( 'woocommerce_after_shop_loop_item_title' ); /** * Hook: woocommerce_after_shop_loop_item. * * @hooked woocommerce_template_loop_product_link_close - 5 * @hooked woocommerce_template_loop_add_to_cart - 10 */ do_action( 'woocommerce_after_shop_loop_item' ); ?> </li>
My archive-product.php (done as shown in new blog post):
<?php /** * The Template for displaying product archives, including the main shop page which is a post type archive * * This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @package WooCommerce/Templates * @version 3.4.0 */ defined( 'ABSPATH' ) || exit; get_header( 'shop' ); /** * Hook: woocommerce_before_main_content. * * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content) * @hooked woocommerce_breadcrumb - 20 * @hooked WC_Structured_Data::generate_website_data() - 30 */ do_action( 'woocommerce_before_main_content' ); ?> <header class="woocommerce-products-header"> <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?> <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1> <?php endif; ?> <?php /** * Hook: woocommerce_archive_description. * * @hooked woocommerce_taxonomy_archive_description - 10 * @hooked woocommerce_product_archive_description - 10 */ do_action( 'woocommerce_archive_description' ); ?> </header> <?php if ( woocommerce_product_loop() ) { /** * Hook: woocommerce_before_shop_loop. * * @hooked wc_print_notices - 10 * @hooked woocommerce_result_count - 20 * @hooked woocommerce_catalog_ordering - 30 */ do_action( 'woocommerce_before_shop_loop' ); woocommerce_product_loop_start(); if ( wc_get_loop_prop( 'total' ) ) { if(is_archive()){ // Product Archives $obj = get_queried_object(); $taxonomy = $obj->taxonomy; // Get taxonomy $taxonomy_term = $obj->slug; // Get term echo do_shortcode('[ajax_load_more post_type="product" taxonomy="'. $taxonomy .'" taxonomy_terms="'. $taxonomy_term .'" taxonomy_operator="IN" css_classes="products" posts_per_page="6" transition="fade"]'); } else { // Shop Landing Page echo do_shortcode('[ajax_load_more post_type="product" css_classes="products" posts_per_page="6" transition="fade"]'); } } woocommerce_product_loop_end(); /** * Hook: woocommerce_after_shop_loop. * * @hooked woocommerce_pagination - 10 */ do_action( 'woocommerce_after_shop_loop' ); } else { /** * Hook: woocommerce_no_products_found. * * @hooked wc_no_products_found - 10 */ do_action( 'woocommerce_no_products_found' ); } /** * Hook: woocommerce_after_main_content. * * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) */ do_action( 'woocommerce_after_main_content' ); /** * Hook: woocommerce_sidebar. * * @hooked woocommerce_get_sidebar - 10 */ do_action( 'woocommerce_sidebar' ); get_footer( 'shop' );
Am i missing something elementary here?
Update?
I’m still struggling to get it correctly. Whenever I paste it into the template, I get HTTP 500 error for my website.
You suggested I replace:
<?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?> // loop <?php endwhile; ?>
With:
<?php echo do_shortcode('[ajax_load_more']); ?>
Well, as I mentioned my code is not identical to the one you wrote as an example:
<?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php /* * Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ get_template_part( ‘template-parts/content’, get_post_format() ); ?> <?php endwhile; ?>
So I replaced this part of the code:
<?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?>
With:
<?php echo do_shortcode('[ajax_load_more']); ?>
And got the HTTP 500 error. I tried various different options as well but still got the error. Feeling a bit clueless as what to do now.Just in case, I’ll paste a longer version because it seems to be different thing than what you thought:
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?><?php
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( ‘template-parts/content’, get_post_format() );
?><?php endwhile; ?>
<?php ramza_print_posts_nav(); ?>
</div><!– .c-posts –>
<?php else : ?>
<?php get_template_part( ‘template-parts/content’, ‘none’ ); ?>
<?php endif; ?>
</main><!– .b-site-main –>
Thank you.
Hi,
I found something like this in index.php:
<?php if ( have_posts() ) : ?>
<div class=”c-posts”>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>Could you assit me where i have to paste my shortcode? Thank you.