Title: WP-PJAX
Author: Peter Elmered
Published: <strong>2013 年 3 月 27 日</strong>
Last modified: 2013 年 4 月 2 日

---

搜尋外掛

這個外掛**並未在最新的 3 個 WordPress 主要版本上進行測試**。開發者可能不再對這個
外掛進行維護或提供技術支援，並可能會與更新版本的 WordPress 產生使用上的相容性問題。

![](https://s.w.org/plugins/geopattern-icon/wp-pjax.svg)

# WP-PJAX

 由 [Peter Elmered](https://profiles.wordpress.org/pekz0r/) 開發

[下載](https://downloads.wordpress.org/plugin/wp-pjax.0.0.4.1.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/wp-pjax/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/wp-pjax/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/wp-pjax/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/wp-pjax/#developers)

 [技術支援](https://wordpress.org/support/plugin/wp-pjax/)

## 外掛說明

#### THIS PLUGIN IS STILL EXPERIMENTAL – USE AT YOUR OWN RISK!

The plugin is under development. Please try it and contact me if you encounter any
bugs or have any questions or suggestions. If you want to help me develop this further
send a pull request on [GitHub](https://github.com/pelmered/wp-pjax).
 The plugin
is not ready for production yet, but I will soon release version 0.1 that will be
production ready.

#### WP-PJAX – PJAX for WordPress Plugin.

Makes your site faster and saves you a lot of bandwidth and CPU power by making 
your WordPress site PJAX powered!

#### What is PJAX?

PJAX is a technique that uses AJAX and PushState to deliver a faster browsing experience
by only loading and updating parts of the page HTML each page load. PushState makes
it possible to add real permalinks, page titles, and a working back button so that
your visitors won’t be able to tell the difference between PJAX page load and ordinary
full page loads, except for the increased speed of course :).

#### Why PJAX?

It makes your site significantly faster in most cases and saves you both processing
power and bandwidth!

#### Features

 * Speeds up any website. With the built in page cache enabled you can expect 10-
   50+% faster page loads.
 * Supports 4 Levels of application cache! This plugin uses browser cache and page
   cache. It is also enabling reverse proxy(i.e. Varnish) cache by (optionally) 
   striping sessions and cookies and it works very well with underlaying object 
   and database cache using third party cache plugins such as [W3 Total Cache](https://wordpress.org/extend/plugins/w3-total-cache/)(
   recommended).
 * Works well with [W3 Total Cache](https://wordpress.org/extend/plugins/w3-total-cache/).
 * Configurable. No need to dig into the code. You will still need basic knowledge
   about HTML and how WordPress works to make this plugin reach it’s full potential.
 * Live notices with a report for every page load (Load time, page cache hit or 
   miss, Reverse proxy/Varnish cache miss or hit etc – See screenshot). This is 
   great for debugging and testing and is of course only visible for admins.
 * Only a few changes in your theme and you are ready to go. Should not take more
   than 5 minutes and requires only basic knowledge.

#### Browser support

PJAX is not supported in Internet Explorer 9 and earlier(IE 10+ supports this), 
but the plugin handles this gracefully by falling back on regular page loads for
unsupported browsers. [Details on browser support](http://caniuse.com/#search=pushstate)

#### Development

All development of this plugin occurs on [GitHub](https://github.com/pelmered/wp-pjax).
Please help me develop this by forking and sending pull requests.

#### Planned features / To-Do

 * Better handling of menu active classes. Will probably use regex for this. Support
   for marking parent pages active would be nice but I don’t know any good ways 
   to accomplish that.
 * Better control over exceptions for when to disable PJAX, when you use Page cache,
   and when and what cookies and sessions that should be striped. Regex support 
   will be added.
 * Refresh cache on publish/update.
 * Separate loading of sidebars with separate cache.
 * Page loading notice / icon. This should also be customizable with css, text(localizable)
   and it should be possible to upload your own icon.
 * Page cache prefetch needs to be revisited. WP-Cron is a bit tricky and its hard
   to handle timeouts gracefully and reliably cross different environments.
 * Remove all debug code and general code cleanup. This will be finished before 
   the 0.1 release.
 * Add an optional menu to the admin bar for clearing cache(all and current page).
 * Optimize execution flow for better performance
 * Maybe: Better way to generate the configurable javascript. I think of two options
   for this, ether use `wp_localize_script` to inject variables into javascript 
   or to generate a javascript with PHP file when settings are saved.

#### Known issues

 * The PJAX toggle checkbox does not work. `$.pjax.disable()` does not seam to work
   as it should. Maybe I need to set a cookie with AJAX to set this for the current
   user and then handle it on the server side.

### Development

All development of this plugin occurs on [GitHub](https://github.com/pelmered/wp-pjax).
Please help me develop this by forking and sending plull requests.

## 螢幕擷圖

 * [[
 * The plugin is activated with the loading notices to the right. Check out the 
   load times!
 * [[
 * Admin page.

## 安裝方式

The plugin needs to control whether the header and footer should fire or not for
every request. Therefore you need to make some small changes in your theme for this
plugin to work properly. This what you need to do:

 1. **Header.** Put this line of code in the top of every header file(any header*.php
    file) in your theme(before any code or output)
 2. **Footer.** Put this line of code in the top of every footer file(any footer*.php
    file) in your theme(before any code or output)
 3. **Sidebar.** Put this line of code in the top of every sidebar file(any sidebar*.
    php file) in your theme(before any code or output). This is currently not used,
    but it will probably be used in later versions. So for safe upgrades in the future,
    I recommend that you do this.
 4. Install and activate the plugin as usual.
 5. Configure the plugin and enable it. The configuration page can be found under ‘
    WP-PJAX’ in the settings menu in WP-Admin. Basic instructions on how to configure
    is provided on the configuration page.
 6. That should be it! I Hope you will enjoy the plugin and the performance boost!

## 常見問題集

Your questions goes here. Feel free to contact me!

  Foo?

Bar!

## 使用者評論

這個外掛目前沒有任何使用者評論。

## 參與者及開發者

以下人員參與了開源軟體〈WP-PJAX〉的開發相關工作。

參與者

 *   [ Peter Elmered ](https://profiles.wordpress.org/pekz0r/)

[將〈WP-PJAX〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/wp-pjax)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/wp-pjax/)、查看
[SVN 存放庫](https://plugins.svn.wordpress.org/wp-pjax/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/wp-pjax/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/wp-pjax/)。

## 變更記錄

= 0.0.4.1=
 * Added screenshots to Assets folder. * Fixed bug with the sitemap URL
in the default settings.

= 0.0.4=
 * Code clean up. Some code removed and some debug code commented. * URL
parsing fix for finding element to add active class.

#### 0.0.3

 * Added default settings for easier first-time configurations (Not super sexy, 
   but it works).

#### 0.0.2

 * Hack to make sure this plugin runs first for even better performance on cache
   hits(No need to touch the other plugins if we have a cached page).

#### 0.0.1

 * The first version!
 * This is still experimental and I can’t give you any guarantees.

## 中繼資料

 *  版本 **0.0.4.1**
 *  最後更新 **13 年前**
 *  啟用安裝數 **10+**
 *  WordPress 版本需求 ** 3.5 或更新版本 **
 *  已測試相容的 WordPress 版本 **3.5.2**
 *  語言
 * [English (US)](https://wordpress.org/plugins/wp-pjax/)
 * 標籤:
 * [cache](https://tw.wordpress.org/plugins/tags/cache/)[optimization](https://tw.wordpress.org/plugins/tags/optimization/)
   [performance](https://tw.wordpress.org/plugins/tags/performance/)[pjax](https://tw.wordpress.org/plugins/tags/pjax/)
   [speed](https://tw.wordpress.org/plugins/tags/speed/)
 *  [進階檢視](https://tw.wordpress.org/plugins/wp-pjax/advanced/)

## 評分

 4 星，滿分為 5 星

 *  [  3 個 5 星使用者評論     ](https://wordpress.org/support/plugin/wp-pjax/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/wp-pjax/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/wp-pjax/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/wp-pjax/reviews/?filter=2)
 *  [  1 個 1 星使用者評論     ](https://wordpress.org/support/plugin/wp-pjax/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-pjax/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/wp-pjax/reviews/)

## 參與者

 *   [ Peter Elmered ](https://profiles.wordpress.org/pekz0r/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/wp-pjax/)