✏️ 正在编辑: archive-product.php
路径:
/home/h359620/public_html/wp-content/themes/datis/woocommerce/archive-product.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /** * Product Archive Template (Shop / Category / Tag) * * @package WooCommerce\Templates * @version 8.6.0 */ if (!defined('ABSPATH')) exit(); get_header(); // هوک استاندارد قبل از محتوای اصلی (SEO/breadcrumb plugins و ...) do_action('woocommerce_before_main_content'); if (function_exists('datis_breadcrumbs') && !is_front_page()) : ?> <div class="container pt-3"> <div class="breadcrumbs"> <?php datis_breadcrumbs(); ?> </div> </div> <?php endif; $theme_options = get_option('datis_theme_options'); $demo = get_option('datis_active_demo'); $product_archive_top_template_id = ! empty($theme_options['product_archive_elementor_template']) ? absint($theme_options['product_archive_elementor_template']) : 0; $has_product_archive_top_section = $product_archive_top_template_id && did_action('elementor/loaded'); ?> <div class="container pt-3"> <?php // عنوان/توضیحات آرشیو (برای category description و ...) // افزونهها معمولاً به این هوک تکیه میکنند. do_action('woocommerce_archive_description'); ?> <?php if ($has_product_archive_top_section) : ?> <div class="product-archive-top-section mt-3 mt-lg-5"> <?php echo \Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $product_archive_top_template_id ); ?> </div> <?php endif; ?> <div class="d-flex flex-column gap-3 gap-lg-0 flex-lg-row m-0 mt-4"> <div class="col-12 col-lg-3 <?php echo esc_attr($demo); ?>-demo m-0 p-0 p-0 ps-lg-3"> <?php get_template_part( 'template-parts/sidebar/sidebar', 'search', [ 'placeholder' => esc_html__('Search in products…', 'datis'), 'field_name' => 'product_search', ] ); ?> <div class="sidebar-filters-wrapper d-flex flex-column gap-3 p-4 mt-3"> <h3 class="sidebar-filters-title"><?php esc_html_e('Filters', 'datis'); ?></h3> <?php // هوک استاندارد سایدبار ووکامرس (اگر افزونهای چیزی تزریق کند) do_action('woocommerce_sidebar'); // فیلترهای کاستوم شما get_template_part('template-parts/sidebar/sidebar-price', 'filter'); get_template_part('template-parts/sidebar/sidebar-tax', 'filter'); ?> </div> </div> <div class="col-12 col-lg-9"> <?php if (have_posts()) : ?> <?php /** * هوک استاندارد قبل از لوپ: * - result count * - sorting (orderby) * - plugins (facets, badges, ...) * * نکته: برای اینکه HTML شما تغییر نکنه، بهتره در functions.php * اکشنهای پیشفرض ووکامرس که wrapper خودشون میسازن رو remove کنید * و فقط همونها رو داخل UI خودتون نمایش بدید (پایین توضیح دادم). */ do_action('woocommerce_before_shop_loop'); ?> <?php // این دو تا برای سازگاری با ووکامرس/افزونهها مهمه woocommerce_product_loop_start(); ?> <div class="datis-product-loop d-flex flex-column flex-lg-row flex-lg-wrap gap-3"> <?php while (have_posts()) : the_post(); wc_get_template_part('content', 'product'); endwhile; ?> </div> <?php woocommerce_product_loop_end(); ?> <?php // pagination hook (اگر افزونهای به این وصل باشد) do_action('woocommerce_after_shop_loop'); ?> <div class="datis-product-pagination d-flex flex-row justify-content-center align-items-center mt-5"> <?php datis_pagination(); ?> </div> <?php else : ?> <?php // هوک استاندارد "محصولی یافت نشد" do_action('woocommerce_no_products_found'); ?> <div class="datis-product-empty"> <?php get_template_part('template-parts/content', 'none'); ?> </div> <?php endif; ?> </div> </div> </div> <?php // هوک استاندارد بعد از محتوای اصلی do_action('woocommerce_after_main_content'); get_footer();
💾 保存文件
← 返回文件管理器