• Resolved matros97

    (@matros97)


    Good afternoon, tell me how you can choose a selected product using WP_Query with your own markup and how to redefine templates

Viewing 15 replies - 1 through 15 (of 17 total)
  • Plugin Author templateinvaders

    (@templateinvaders)

    Hi @matros97

    Sorry, the question isn’t clear. Could you post more details?

    P.S. можно на русском, если так удобнее.

    Thread Starter matros97

    (@matros97)

    Добрый день, подскажите, как можно выбрать избраный товар(тот что я добавил в список желений) с помощью WP_Query с собственной разметкой и как переопределить шаблоны

    Thread Starter matros97

    (@matros97)

    @templateinvaders Подскажите пожалуйста как можно выбрать избраный товар(тот что я добавил в список желений) с помощью WP_Query с собственной разметкой и как переопределить шаблоны

    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97

    Получить список продуктов для добавленных в текущий лист желаний можно следующим методом:
    $products = tinvwl_get_wishlist_products(0, array('external' => false));

    Переопределить шаблоны нашего плагина можно по аналогии с шаблонами WooCommerce. Просто скопировать нужный шаблон с директории плагина в woocommerce директорию в текущей теме.

    Thread Starter matros97

    (@matros97)

    @templateinvaders
    Так как сделать выборку через WP_Query

    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97

    Использовать product_id с метода выше как аргумент ID в WP_Query.

    Thread Starter matros97

    (@matros97)

    @templateinvaders можете пример написать ?

    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97

    код только для идеи:

    $products = tinvwl_get_wishlist_products(0, array('external' => false));
    
    $ids = [];
    
    foreach ($products as $product) {
        $ids[] = $product['product_id'];
    }
    
    $query = new WP_Query(array('post_type' => 'product', 'post__in' => $ids));
    Thread Starter matros97

    (@matros97)

    <?php
    
    if (!defined('ABSPATH')) {
    	exit; // Exit if accessed directly.
    }
    
    wp_enqueue_script('tinvwl');
    ?>
    <div class="tinv-wishlist woocommerce tinv-wishlist-clear" id="main">
    	             <div class="w100"><button id='filter'>My wishlist, Favorites</button></div>
    	<?php do_action('tinvwl_before_wishlist', $wishlist); ?>
    	<?php if (function_exists('wc_print_notices') && isset(WC()->session)) {
    		wc_print_notices();
    	} ?>
    	<?php
    	$wl_paged = absint(get_query_var('wl_paged'));
    	$form_url = tinv_url_wishlist($wishlist['share_key'], $wl_paged, true);
    
    	$products = tinvwl_get_wishlist_products(0, array('external' => false));
    
    	$ids = [];
    
    		foreach ($products as $product) {
    		    $ids[] = $product['product_id'];
    		}
    
    $query = new WP_Query(array('post_type' => 'product', 'post__in' => $ids, 'search_filter_id' => 208));
    
    	?>
    <?php if ( $query->have_posts() ) : ?>
    
    <?php while ( $query->have_posts() ) : $query->the_post(); ?>
    <form action="<?php echo esc_url($form_url); ?>" method="post" autocomplete="off">
    
    			<div class="products-cart-wrapper">
                    <div class="products-cart">
                        <div class="img">
                            <div class="type">
                                <span class="new">New</span>
                            <span class="best-seller">Best Seller</span>
                            <span class="yeast-free">Yeast-free</span>
                            <span class="glutenfree">Gluten free</span>
                            <span class="koсher">Koсher</span>
                            <span class="sugar-free">Sugar free</span>
                            </div>
                           <span class="close-btn">
    							<button type="submit" name="tinvwl-remove"
    									value="<?php the_ID(); ?>"
    									title="<?php _e('Remove', 'ti-woocommerce-wishlist') ?>"><img src="<?php bloginfo('template_url') ?>/assets/images/close-btn.png" alt="">
    							</button>
    						</span>
                            <a href="#"><img src="images/produkts/produkts1.jpg" alt=""></a> 
                        </div>
                        <a href="#">
                            <div class="title">AmbeRye Family Dark Rye Bread</div>
                            <div class="p">All natural robust, full-flavored rye bread crafted with Lithuanian flair.</div>
                        </a>
                        <div class="products-cart-body">
                           <ul>
                               <li>Product size:<span>1100 g / 38.8 oz.</span></li>
                               <li>Product of:<span>Lithuania</span></li>
                               <li>Product #:<span>4015</span></li>
                           </ul>
                        </div>
                        <div class="products-cart-footer">
                           <div class="price">
                            <del>
                                <span class="woocommerce-Price-amount amount">
                                    <bdi><span class="woocommerce-Price-currencySymbol">$</span>7.99</bdi>
                                </span>
                            </del>
                             <ins>
                                 <span class="woocommerce-Price-amount amount">
                                     <bdi><span class="woocommerce-Price-currencySymbol">$</span>7.99</bdi>
                                </span>
                            </ins>
                        </div> 
                        <a href="#" class="btn">Learn more</a>
                        </div>
                        
                    </div>
                 </div>
    
    </form>	
    
    <?php endwhile; ?>
    <?php endif; ?>
    <?php wp_reset_query(); ?> 
    
    </div>	

    Не работает почему то удаление

    • This reply was modified 3 years, 7 months ago by matros97.
    Thread Starter matros97

    (@matros97)

    @templateinvaders смотрите у меня задача сделать избраный товар с фильтром и что бы я мог удалять, то есть надо разметка своя

    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97 Не удаляет потому что ID продукта в списке желаний не равно ID текущего поста.

    Thread Starter matros97

    (@matros97)

    @templateinvaders а как его можно получить в моем случаи ?

    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97

    они доступны в массиве который возращает метод tinvwl_get_wishlist_products

    т.е. примерно можно получить так:

    $key = array_search(the_ID(), array_column($products, 'product_id'));
    
    $wl_product_id = $products[$key]['ID'];

    P.S. пожайлуста, не используйте наши примеры в рабочем варианте, т.к. там нужны как минимум проверки все переменных.

    Thread Starter matros97

    (@matros97)

    @templateinvaders что то не работает

    <?php while ( $query->have_posts() ) : $query->the_post(); ?>
    	<?php 
    		global $product;
    		$key = array_search(get_the_ID(), array_column($products, 'product_id'));
    
    		$wl_product_id = $products[$key]['ID']; 
    	?>
    
    <form action="<?php echo esc_url($form_url); ?>" method="post" autocomplete="off">
    
    			<div class="products-cart-wrapper">
                    <div class="products-cart">
                        <div class="img">
                           <?php $type_of_goods_checked_options = get_field( 'type_of_goods' ); ?>
    <?php if ( $type_of_goods_checked_options ): ?>	
                            <div class="type">
                <?php foreach ( $type_of_goods_checked_options as $type_of_goods_checked_option ): ?>
    <span class="<?php echo esc_html( $type_of_goods_checked_option['value'] ); ?>"><?php echo esc_html( $type_of_goods_checked_option['label'] ); ?></span>
                <?php endforeach; ?>            
    
                            
                            </div>
    <?php endif; ?>           
                           <span class="close-btn">
    							<button type="submit" name="tinvwl-remove"
    									value="<?php  echo $wl_product_id; ?>"
    									title="<?php _e('Remove', 'ti-woocommerce-wishlist') ?>"><img src="<?php bloginfo('template_url') ?>/assets/images/close-btn.png" alt="">
    							</button>
    						</span>
                           <?php do_action( 'woocommerce_before_shop_loop_item_title' ); ?>
                        </div>
                        
                            <?php do_action( 'woocommerce_shop_loop_item_title' ); //Заголовок ?>
                        
                        <div class="products-cart-body">
                           <?php if(get_field('product_size')): ?>
                               <li>Product size:<span><?php the_field( 'product_size' ); ?></span></li>
                            <?php endif; ?> 
                            <?php if(get_field('product_of')): ?>  
                               <li>Product of:<span><?php the_field( 'product_of' ); ?></span></li>
                            <?php endif; ?>    
                            <?php if($product->sku): ?>
                               <li>Product #:<span><?php echo $product->sku; ?></span></li>
                           <?php endif; ?>
                        </div>
                   		<div class="products-cart-footer">
                        	<?php  do_action( 'woocommerce_after_shop_loop_item_title' ); //цена ?>
                        <a href="<?php the_permalink(); ?>" class="btn">Learn more</a>
                        </div>
                        
                        
                    </div>
                 </div>
    
    </form>	
    Plugin Author templateinvaders

    (@templateinvaders)

    @matros97

    Ну мы не можем за Вас реализовать индвидуальные решения. Наши примеры кода это всего лишь идеи как реализовать конкретные вопросы. А далее уже разработчик должен реализовать эти идеи под конкретные задачи. К сожалению мы не можем ответить почему не работает ваш код.

Viewing 15 replies - 1 through 15 (of 17 total)
  • The topic ‘Selection of the selected item using theloop’ is closed to new replies.