为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用ajax(WordPress)添加更多负载以获取自定义查询数据?

如何使用ajax(WordPress)添加更多负载以获取自定义查询数据?

PHP
catspeake 2021-11-19 17:01:22
我正在尝试从 WordPress 中的自定义查询循环加载更多帖子,我创建了自定义帖子类型“企业”,并希望在单击加载更多按钮时加载“更多企业”。我正在使用 Visual Composer 短代码来添加 Businesses 的内容。我已成功创建加载更多按钮以获得更多业务,但它在提到的“id”内以及该 id 之外附加数据。我无法检测到问题。这是我的代码:在functions.php中,我添加了这个本地化脚本::wp_localize_script( 'test-script', 'ajax_posts', array(    'ajaxurl' => admin_url( 'admin-ajax.php' ),    'noposts' => __('No older posts found', 'test'),    'page' => get_query_var( 'paged' ) ? get_query_var('paged') : 1,     ));我的 main.js 文件代码包含 ajax 调用如下:function load_posts(data, button, wrapper, max_page, load_more_txt ="View All"){       $.ajax({            type: "POST",            dataType: "html",            url: ajax_posts.ajaxurl,            data: data,            beforeSend : function ( xhr ) {                button.text('Loading...');            },            success: function(data){                if( data ) {                    button.text( load_more_txt ).prev().before(data);                    ajax_posts.page++;                wrapper.append(data);                    if ( ajax_posts.page == max_page ) {                        button.remove();                    }                }            },            error : function(jqXHR, textStatus, errorThrown) {             $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown);            }       });       return false;    }
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

我已经使用过button.text( load_more_txt ).prev().before(data);,它会为我复制数据。现在我只是用来button.text( load_more_txt );在加载后显示按钮文本。现在检查这个功能。


function load_posts(data, button, wrapper, max_page, load_more_txt ="View All"){

       $.ajax({

            type: "POST",

            dataType: "html",

            url: ajax_posts.ajaxurl,

            data: data,

            beforeSend : function ( xhr ) {

                button.text('Loading...');

            },

            success: function(data){

                if( data ) {

                    //button.text( load_more_txt ).prev().before(data);

                    button.text( load_more_txt );

                    ajax_posts.page++;

                wrapper.append(data);

                    if ( ajax_posts.page == max_page ) {

                        button.remove();

                    }

                }

            },

            error : function(jqXHR, textStatus, errorThrown) {

             $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown);

            }

       });

       return false;

    }

这解决了我的问题。


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信