Hỏi cách khắc phục lỗi Ajax khi load scroll trên Archive.php trong WordPress?
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.phpMinh 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:$yearko 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ủ đề:
- Hỏi kết quả trả về của Ajax xuất hiện thêm số 0?
- Hỏi dùng Plugin Google Ajax Search nhưng không thấy AJAX?
- Hỏi cách truyền biến sang form khác khi code PHP trong WordPress?
- Hỏi cách khắc phục khi bị Website báo lỗi bị mất file header.php?
- Hỏi cách lấy lại user, admin quản trị website trong php?
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 WordPress, Huong dan lap trinh WordPress, Hoc WordPress mien phi, Hoc WordPress online, Hoc WordPress mien phi, SEO WordPress, Plugin WordPress, Theme WordPress, WordPress Tool, WordPress Development, WordPress FAQ