Hỏi cách khắc phục lỗi Ajax khi load scroll trên Archive.php trong WordPress?

Thích 2.13 K Bình luận 0
898 đánh giá
37 K

Trả lời câu hỏi tuần 4 tháng 5/2015 của bạn Minh Lê hỏi cách khắc phục lỗi Ajax khi load scroll trên Archive.php trong WordPress.

Bạn Minh Lê hỏi: Em đang có một vấn đề với ajax khi load scroll trên archive.php . Ajax là em dùng code chứ ko plugin . Mong các cao nhân có thể giúp đỡ em với . Thank kiu xìu xìu !!!!


Trả lời câu hỏi trên facebook:

Thạch Phạm Bạn nói rõ vấn đề cần trợ giúp nhé.

Minh Lê cụ thể là khi em ấn vô 1 cái date archive ví dụ như 12/2014 thì nó sẽ xuất ra hết các post thuộc tháng 12 năm 2014 . Điều này thì em đã làm được khi load 6 post ở trang 1 ok . Khi em xử lý ajax với 1 việc khai báo 1 hàm ở function với việc gọi get the time vô thì nó ko xử lý đc và ko gọi đúng các post

Minh Lê 

if(jQuery('#container-archieve').length){jQuery(window).scroll(function() {var $url = jQuery('#container-archieve').attr('data-url'),$_this = jQuery(this),$load = jQuery('.loading'),$topWin = jQuery(this).height(),$height = jQuery(document).height();if($_this.scrollTop()/($height-$topWin)>0.7 && $status){jQuery.ajax({type:"POST",url:$url,data:{action:'load_data_archive',page:$page},beforeSend:function(){$status = false;$load.fadeIn('slow');},success:function(data){if(data!="" && data!=1){$status = true;jQuery('.show-data1').append(data)//var $top = jQuery('.table tbody tr:last-child').offset().top;

 Minh Lê code trang ajax.js

Minh Lê

 $page = $_POST['page'];if(is_archive()){if ( is_month() ) {$arch_month=get_the_time('n');$arch_year= get_the_time('Y');}elseif ( is_year() ) {$arch_year= get_the_time('Y');}$args = array('posts_per_page' => 6,'paged' => $page,'post_type' => 'post','date_query' => array(array('year' => $arch_year,'month' => $arch_month,),),);

 Minh Lê phần xử lý array để get data trong trang function

Minh Lê

<div id="container-archieve" class='show-data1' data-url="<?php echo admin_url('admin-ajax.php'); ?>"><div class="grid-sizer"></div><?php$arch_month='';$arch_year='';if ( is_month() ) {$arch_month=get_the_time('n');$arch_year= get_the_time('Y');}elseif ( is_year() ) {$arch_year= get_the_time('Y');}?><?php$args = array('paged'=>1,'posts_per_page' => 6,'date_query' => array(array('year' => $arch_year,'month' => $arch_month,),),);$query = get_posts( $args );

 Minh Lê phần lấy dữ liệu date để load post trong trang archive !!!

NT Thái bạn phải truyền thêm 2 biến tháng và năm nữa, như data-url ấy, vd: data-month, data-year
=> thêm 2 biến này ở archive.php chỗ 

<div id="container-archieve" class='show-data1' data-url="<?php echo admin_url('admin-ajax.php'); ?>" data-year="<?php the_time('n'); ?>" data-month="<?php the_time('n'); ?>">

 NT Thái

 $arch_month= $_POST['month']$arch_year= $_POST['year']=> 2 cái này thì sửa trong functions.php

 Minh Lê trong trang function.php đúng ko bác . Còn 2 trang kia có phải thêm gì ko ạ

NT Thái trong archive.php

Minh Lê ok bác để em test

Minh Lê bác NT Thái:bác ơi nó vẫn ko chạy . Trong trang function em có cần bỏ bớt cái gì đi ko bác. Nó vẫn load kiểu này ạ . Tháng 1 có 6 cái post thì nó load lun trang 2 là mấy cái post của tháng 12 = = . Y như cũ

NT Thái

if(is_archive()){if ( is_month() ) {$arch_month=get_the_time('n');$arch_year= get_the_time('Y');}elseif ( is_year() ) {$arch_year= get_the_time('Y');}

=> sửa lại chỗ này nè

Minh Lê dạ đúng rồi chỗ đấy em cũng xóa rồi thêm cái bác chỉ mà sao nó load vẫn ko đc :((

NT Thái file ajax.js của bạn sửa thành như thế nào?

Minh Lê ajax em sửa thử bằng cách thêm 2 biến

$year= jQuery('#container-archive').attr('data-year') và $month = jQuery('#container-month').attr('data-month') sau đó gọi vào data : year:$year, month:$year

 ko bik có đúng ko ạ


Nếu bạn có những ý kiến đóng góp nào khác về cách khắc phục lỗi Ajax khi load scroll trên Archive.php trong WordPress xin hãy để lời bình luận phía dưới, chúng tớ sẽ phản hồi lại. Chúc bạn Học WordPress hiệu quả.


 Các bài viết cùng chủ đề:


 WordPress Tiếng Việt  >  Hoc WordPress   >   Sử dụng WordPress >  Hỏi đáp WordPress


Chuyên đề bạn đọc:

Hoc WordPress  |  Su dung WordPress   |  Lap trinh WordPress  |  Cai dat WordPress  |  Huong dan hoc WordPress   |  Huong dan su dung WordPress  |  WordPress Tieng Viet  |  Tụ hoc WordPress  |  Cach su dung WordPress


Xu hướng tìm kiếm: 

Huong dan cai dat WordPressHuong dan lap trinh WordPressHoc WordPress mien phiHoc WordPress onlineHoc WordPress mien phiSEO WordPressPlugin WordPressTheme WordPressWordPress ToolWordPress Development, WordPress FAQ


Bình luận