0

我正在为一个客户编写一个网站,他们要求因为他们在一个父级下有很多侧边栏页面,所以当点击页面链接时,它每次都加载到同一区域而无需重新加载页面。他们还要求在重新加载时更改 URL,并且您可以通过转到该特定 URL 来访问每个页面。不幸的是,我不知道该怎么做。我发现了很多教程和片段,但它们没有提供确切的功能。

例如,如果你去这里: http: //lookseewatch.com/independentinsurance/commercial-insurance/

您会看到他们提供的不同类型商业保险的长边栏。当您单击“汽车”或任何与此相关的链接时,该页面应加载到侧边栏右侧的 div 区域中。然后 URL 应更改以反映此更改为http://lookseewatch.com/independentinsurance/commercial-insurance/automobile/。所有这些页面在 Wordpress 中都是独立且动态的。

谁能给我一些帮助?这是当前生成侧边栏的方式:

wp_list_pages('title_li=&child_of='.$post->ID.'');

如果您需要我提供的任何其他代码或对功能有任何疑问,请告诉我。

谢谢!

4

2 回答 2

0

这有点复杂。有很多方法可以捕获用户事件、停止默认行为并在其上运行自定义代码。例如,您可以收听锚点点击并返回 0 以不加载它们的链接。

但是如果你在浏览器地址栏中更改URL,据我所知,JS无法控制它,因为它在网页域之外,从外部网页控制浏览器组件会打开很多安全漏洞。

这看起来他们想避免横幅加载以减少点击次数:P 如果性能是问题,首先您可以使用缓存插件,它将所有数据库查询存储在 HD 中,并在未来的页面加载中使用这些文件,而不是制作新的查询。

您还可以将完整的侧边栏构建到 PHP 变量中,将其缓存为 HD 并从那里读取,而不是每次都构建整个代码。这就像添加静态 HTML 片段一样。

于 2013-01-08T12:28:41.977 回答
0

这可以通过结合 AJAX 的称为 pushstate 的技术来完成。有一个很棒的 jQuery 插件叫做 PJAX 来实现这个。http://pjax.heroku.com/

我刚刚发布了一个名为 WP-PJAX 的插件,它使整个 wordpress 站点 PJAX 驱动。我不确定这是否能解决您的问题,但它可能适合您。 https://github.com/pelmered/wp-pjax

于 2013-04-03T22:18:04.157 回答