2012-12-15 135 views
0

我爲客戶端編寫了一個網站,他們要求這樣做是因爲他們在一個父代下有很多側邊欄頁面,當點擊頁面鏈接時,它會加載每次沒有頁面重新加載的同一區域。他們還要求在重新加載URL時進行更改,並且您可以通過訪問該特定網址訪問每個頁面。不幸的是,我不知道該怎麼做。我發現了很多教程和代碼片段,但它們並沒有提供確切的功能。在div中加載Wordpress頁面時無需重新加載頁面,同時更改url

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

你會看到不同的類型,它們的價格商業保險的長邊框。當您點擊「Automobile」或任何鏈接時,該頁面應該加載到邊欄右側的div區域。該網址應該改變,以反映這種變化http://lookseewatch.com/independentinsurance/commercial-insurance/automobile/。所有這些頁面在Wordpress中都是獨立和動態的。

任何人都可以提供一些幫助嗎?這是目前如何正在生成的側邊欄:

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

讓我知道如果你需要從我這裏任何其他代碼或對功能的任何問題。

謝謝!

回答

0

這有點複雜。捕捉用戶事件的方法很多,停止默認行爲並在其上運行自定義代碼。例如,您可以聽錨點擊並返回0以不加載它們的鏈接。

但是,如果您在瀏覽器地址欄中更改URL,只要我知道,JS無法控制它,因爲它位於網頁域之外,並且從外部網頁控制瀏覽器組件會打開很多安全缺陷。

這看起來像他們想避免橫幅加載數少點擊:P如果性能問題,首先你可以使用緩存插件,這將存儲在HD所有數據庫查詢,並在未來的頁面加載使用這些文件而不是進行新的查詢。

您還可以在PHP變量中構建完整的側邊欄,將其緩存爲HD並從此讀取,而不是每次構建整個代碼。這將像添加靜態HTML片段。

0

這可以通過與AJAX結合的pushstate技術來完成。有一個很好的jQuery插件叫做PJAX,它實現了這個功能。 http://pjax.heroku.com/

我剛剛發佈了一個名爲WP-PJAX的插件,它使整個WordPress站點PJAX驅動。我不確定這是否能解決您的問題,但它可能適合您。 https://github.com/pelmered/wp-pjax

+0

我想做類似的事情,但只能使用個別的WordPress插件。我在你的插件論壇留下了一條評論。希望能從你那聽到答覆! – Erlend

相關問題