Title: ThreeWP
Author: Rownok Bosunia
Published: <strong>2024 年 9 月 24 日</strong>
Last modified: 2025 年 12 月 20 日

---

搜尋外掛

![](https://ps.w.org/threewp/assets/banner-772x250.png?rev=3156749)

![](https://ps.w.org/threewp/assets/icon-256x256.png?rev=3156765)

# ThreeWP

 由 [Rownok Bosunia](https://profiles.wordpress.org/rondevs/) 開發

[下載](https://downloads.wordpress.org/plugin/threewp.2.0.2.zip)

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

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

## 外掛說明

ThreeWP is a WordPress plugin that integrates the Three.js library and its addons
into your WordPress site using a custom bundle file. This setup allows you to create
and manage custom 3D models, animations, and interactive graphics directly within
your WordPress theme or custom JavaScript code.

### Features

 * Custom Bundle Integration: Enqueues the Three.js library and essential addons
   using a custom bundle file, avoiding reliance on a CDN.
 * Easy Setup: Straightforward installation and activation process.
 * Custom Integration: No built-in shortcodes or settings; users add their own Three.
   js code for full customization.

### Source Code

The source code for the minified JavaScript bundle file used in this plugin is publicly
available at the following URL: https://github.com/rondevs/threejs-custom-bundler

### Usage

After activating the plugin, Use the `[use_threewp]` shortcode to enable Three.js
for specific pages. Three.js and its addons will be available for use in your theme
or custom JavaScript files. You need to manually add your Three.js code to create
and manage 3D content.

### Example Usage

Add Custom JavaScript:
 – Add your Three.js initialization and rendering code to
your theme’s JavaScript file or use a custom script. Here’s a basic example:

    ```
    document.addEventListener('DOMContentLoaded', function () {
        if (typeof ThreeWP !== 'undefined') {
            // Destructure THREE and THREE_ADDONS from ThreeWP
            const { THREE, OrbitControls } = ThreeWP;
            // Create a scene
            const scene = new THREE.Scene();
            // Setup a camera
            const camera = new THREE.PerspectiveCamera(
                75,
                window.innerWidth / window.innerHeight,
                0.1,
                1000,
            );
            // Setup a renderer
            const renderer = new THREE.WebGLRenderer();
            // Give the renderer a width and height
            renderer.setSize(window.innerWidth, window.innerHeight);
            // Append the renderer into the html body
            document.body.appendChild(renderer.domElement);
            // Set camera position
            camera.position.z = 2;
            // Load a texture
            const textureLoader = new THREE.TextureLoader();
            const texture = textureLoader.load(
                'https://threejsfundamentals.org/threejs/resources/images/wall.jpg',
            ); // Replace with your image URL
            // Create geometry
            const geometry = new THREE.BoxGeometry(1, 1, 1);
            // Create material
            const material = new THREE.MeshStandardMaterial({ map: texture });
            // Combine into mesh
            const sphere = new THREE.Mesh(geometry, material);
            scene.add(sphere);
            const light = new THREE.AmbientLight(0xffffff);
            scene.add(light);
            // Set up OrbitControls
            const controls = new OrbitControls(
                camera,
                renderer.domElement,
            );
            // Optional: Adjust controls settings (e.g., damping, auto-rotation)
            controls.enableDamping = true; // Adds smoothness when dragging
            controls.dampingFactor = 0.03;
            controls.autoRotate = true;
            controls.autoRotateSpeed = 2;
            function animate(t = 0) {
                requestAnimationFrame(animate);
                controls.update();
                renderer.render(scene, camera);
            }
            animate();
            // Responsive
            window.addEventListener('resize', () => {
                camera.aspect = window.innerWidth / window.innerHeight;
                camera.updateProjectionMatrix();
                renderer.setSize(window.innerWidth, window.innerHeight);
            });
        } else {
            console.error('Three.js could not be loaded.');
        }
    });
    ```

NOTE: Destructure THREE and the addons to access from ThreeWP bundle.

### Tips

Responsive Design: Adjust the size of the Three.js container or renderer according
to your design requirements. Handle window resizing events to keep the 3D content
responsive.
 Documentation: Refer to the Three.js documentation for detailed information
on creating more complex scenes, objects, and animations.

### Available Tools in This Plugin

 * **THREE**
 * **Addons:**
    - ArcballControls
    - BufferGeometryUtils
    - CameraUtils
    - CCDIKSolver
    - ConvexGeometry
    - ConvexH
    - CSS2DRenderer
    - CSS3DRenderer
    - DecalGeometry
    - DRACOLoader
    - DragControls
    - EdgeSplitModifier
    - EffectComposer
    - FirstPersonControls
    - FlyControls
    - FontLoader
    - GLTFLoader
    - KTX2Loader
    - LDrawLoader
    - Lensflare
    - LensflareElement
    - LightProbeGenerator
    - LightProbeHelper
    - Lut
    - LUT3dlLoader
    - LUTCubeLoader
    - MapControls
    - MeshSurfaceSampler
    - MMDAnimationHelper
    - MMDLoader
    - MMDPhysics
    - MTLLoader
    - OBB
    - OBJLoader
    - OrbitControls
    - ParametricGeometry
    - PCDLoader
    - PDBLoader
    - PointerLockControls
    - PositionalAudioHelper
    - RectAreaLightHelper
    - Rhino3dmLoader
    - SceneUtils
    - SDFGeometryGenerator
    - SkeletonUtils
    - Sky
    - SVGLoader
    - SVGRenderer
    - TeapotGeometry
    - TextGeometry
    - TGALoader
    - Timer
    - TrackballControls
    - TransformControls
    - VertexNormalsHelper
    - VertexTangentsHelper
    - XREstimatedLight

### v2.0.2

 * Updated custom bundle file.
 * Removed external dependencies from the bundle.
 * Introduced shortcode [use_threewp] to load the Three.js bundle script only on
   pages that contain the shortcode.

#### 2.0.1

 * Added `defer` attribute to the Three.js script for improved performance and load
   times.
 * Updated plugin code for better compatibility with modern browsers.

#### 2.0.0

*Introduced custom bundle file integration for Three.js and essential addons like
OrbitControls, GLTFLoader, EffectComposer, and BloomPass etc.
 *This version enhances
the plugin’s capabilities and provides a more comprehensive setup for integrating
Three.js with WordPress.

#### 1.1.0

 * Added Three.js Addons Support with CDN

#### 1.0.0

 * Initial release of the Three.js CDN Integration plugin.

### Contributing

We welcome contributions to improve this plugin. If you have suggestions, bug reports,
or feature requests, please open an issue on https://github.com/rondevs/threewp/
issues.

### License

This plugin is licensed under the GPLv2 or later. See the LICENSE file for details.

### Support

If you encounter any issues or need assistance, please reach out via https://github.
com/rondevs/threewp/issues.

Thank you for using ThreeWP! We hope it enhances your WordPress site with exciting
3D content.

## 安裝方式

 1. From WordPress Dashboard:

– Go to your WordPress dashboard.
 – Navigate to **Plugins** > **Add New**. – In
the search bar, type **ThreeWP**. – Locate the **ThreeWP** plugin and click **Install
Now**. – After installation, click **Activate**.

 1. Manual Installation:

– Download the plugin zip file from the [WordPress.org plugin repository](https://wordpress.org/plugins/threewp).
–
Go to your WordPress dashboard. – Navigate to **Plugins** > **Add New**. – Click
on **Upload Plugin** and select the downloaded zip file. – Click **Install Now**
and then **Activate** the plugin.

## 常見問題集

### After activating the plugin, you can include Three.js code in your theme, html element or custom plugin to create and manage 3D models.

## 使用者評論

![](https://secure.gravatar.com/avatar/db1fe09cf66d98886d2b32cfceb8cedcc4196892c7d940c7e9b6869130146090?
s=60&d=retro&r=g)

### 󠀁[max gratitude](https://wordpress.org/support/topic/max-gratitude/)󠁿

 [pavlinap](https://profiles.wordpress.org/pavlinap/) 2024 年 11 月 15 日 1 則留言

Top plugin❣

![](https://secure.gravatar.com/avatar/77c7064953262c49e59619dababa6ff29b1c72aab71da1b3b3b5a9521161cab7?
s=60&d=retro&r=g)

### 󠀁[What a Time Saver! Awesome](https://wordpress.org/support/topic/what-a-time-saver-awesome/)󠁿

 [mustafakurd](https://profiles.wordpress.org/mustafakurd/) 2024 年 11 月 15 日 
1 則留言

I’m so freaking happy that this guy made this three.js work on WordPress, Love you
man!

 [ 閱讀全部 2 則使用者評論 ](https://wordpress.org/support/plugin/threewp/reviews/)

## 參與者及開發者

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

參與者

 *   [ Rownok Bosunia ](https://profiles.wordpress.org/rondevs/)

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

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

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

## 中繼資料

 *  版本 **2.0.2**
 *  最後更新 **9 個月前**
 *  啟用安裝數 **200+**
 *  WordPress 版本需求 ** 5.4 或更新版本 **
 *  已測試相容的 WordPress 版本 **6.9.7**
 *  PHP 版本需求 ** 7.4 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/threewp/)
 * 標籤:
 * [three.js](https://tw.wordpress.org/plugins/tags/three-js/)[visualization](https://tw.wordpress.org/plugins/tags/visualization/)
   [webgl](https://tw.wordpress.org/plugins/tags/webgl/)[WordPress 3D](https://tw.wordpress.org/plugins/tags/wordpress-3d/)
 *  [進階檢視](https://tw.wordpress.org/plugins/threewp/advanced/)

## 評分

 5 星，滿分為 5 星

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

[撰寫評分](https://wordpress.org/support/plugin/threewp/reviews/#new-post)

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

## 參與者

 *   [ Rownok Bosunia ](https://profiles.wordpress.org/rondevs/)

## 技術支援

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

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