Hướng dẫn chỉnh sửa trang hiện thị kết quả tìm kiếm sản phẩm

Trong woocommerce mặc định trang kết quả tìm kiếm sản phẩm sẽ lần lượt hiện thị thứ tự như sau:

  • Danh sách sản phẩm
  • Danh sách các bài viết
  • Danh sách các trang

Bây giờ mong muốn trang kết quả tìm kiếm sản phẩm sẽ hiện thị là :

  • Danh sách các bài viết
  • Danh sách các sản phẩm

Để giải quyết bài toán này, chúng ta sẽ làm như sau:

Bước 1: Sửa file [structure-wc-global.php]

Trong thư mục [wp-content\themes\flatsome\inc\woocommerce] chúng ta sửa file [structure-wc-global.php]

Bạn tìm đến hàm flatsome_pages_in_search_results () và bỏ add_action của hàm này ra khỏi [woocommerce_after_main_content]

Bước 2: Bổ sung hàm flatsome_pages_in_search_results_before()

Trong file [functions.php] chúng ta bổ sung hàm flatsome_pages_in_search_results_before () có nội dung như sau:

// Add blog posts to top of search results if set.
function flatsome_pages_in_search_results_before(){
if(!is_search() || !get_theme_mod(‘search_result’, 1)) return;
global $post;
?>
<?php if( get_search_query() ) : ?>
<?php
/**
* Include pages and posts in search
*/
query_posts( array( ‘post_type’ => array( ‘post’), ‘s’ => get_search_query() ) );

$posts = array();
while ( have_posts() ) : the_post();
array_push($posts, $post->ID);
endwhile;

wp_reset_query();

if ( ! empty( $posts ) ) {
//echo ‘<hr/><h4 class=”uppercase”>’ . esc_html__( ‘Posts found’, ‘flatsome’ ) . ‘</h4>’;
echo flatsome_apply_shortcode( ‘blog_posts’, array(
‘columns’ => ‘3’,
‘columns__md’ => ‘3’,
‘columns__sm’ => ‘2’,
‘type’ => get_theme_mod( ‘search_result_style’, ‘slider’ ),
‘image_height’ => ‘56.25%’,
‘show_date’ => get_theme_mod( ‘blog_badge’, 1 ) ? ‘true’ : ‘false’,
‘ids’ => implode( ‘,’, $posts ),
) );
}
?>
<?php endif; ?>

<?php
}
add_action(‘woocommerce_before_main_content’,’flatsome_pages_in_search_results_before’, 10);

Thế là ok rôi đó, bạn lưu lại và xem thành quả nhé!

Chúc các bạn thành công!

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *