如何使用AJAX加载自定义帖子档案子页面?

时间:2019-02-07 作者:Michael Rogers

我想保留/page/2/、/page/373/等的分页链接,但不是更改浏览器上的URL,而是希望所有内容都加载到存档主页上。

理想情况下,所有分页的URL都应该重定向到归档文件的第一页。

我不想要“加载更多”按钮,我想保持页面的逻辑,但通过ajax加载页面,保持url不变。

我该怎么做?非常感谢您的帮助。

2 个回复
最合适的回答,由SO网友:M Haseeb 整理而成

您可以使用$.loadpreventDefault() 来自jQuery。

假设你有.page-link 在分页中链接每个url上的类,并且您在#content div下面的代码可以帮助您在该特定页面上加载该div中的帖子。

$("body").on("click", "a.page-link", function(e) {
    e.preventDefault();
    $("#content").load($(this).attr("href") + " #content");
});
这将用该特定页面中的新帖子替换该页面中的当前帖子。查看一下您的div结构可能会帮助我为您编写可以在您的站点上运行的完整代码。

SO网友:mtthias

非常高的级别:

通过Javascript注册一个事件处理程序,用于单击分页链接preventDefault 因此,禁用Javascript的用户仍然可以在eventhandler中获得旧的行为。发出ajax请求,将存档类型(例如,对于作者xy)和应显示的页面数(您可以从链接url中获得这两个值)发送到PHP函数triggerd中的Wordpress ajax url。根据您的请求,创建一个新的query 对于此档案的帖子(即:作者xy的帖子)

  • 另外使用Pagination Parameters 要在获得查询数据后选择正确的页面,请像在存档中一样呈现存档页面。php,您可以使用模板部件和主题函数,用die()杀死后端进程

    回到前端,获取ajax请求返回的标记并替换旧标记

    这种方法的优点是,标记的呈现方式与普通归档页面相同。

    你也可以通过打电话给Wordpress来实现这一点REST API, 但您必须注意Javascript中的模板。

    如果您需要有关某个步骤的更多详细信息,请询问。

  • 相关推荐

    如何处理WordPress插件前端AJAX调用

    我正在开发一个自定义插件。该插件提供了一个短代码,可以将一些HTML输出到前端,无论它在哪里被调用。为了举例说明,这个HTML包含一个表单按钮和文本字段。单击前端上的按钮时,我想使用jQuery进行AJAX调用,以获取一些数据并填充textfield。数据是从我的一个插件函数计算并返回的。我应该为AJAX请求使用什么请求URL?我可以创建一个ajax处理程序。php脚本,将其放在我的插件目录中,需要插件php类,并以这种方式访问其功能,但我不确定这是否是最佳实践。。。有没有一种更高效/原生的WordPre