{"id":140990,"date":"2021-05-20T21:03:17","date_gmt":"2021-05-20T21:03:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/threepress\/"},"modified":"2025-10-13T23:54:25","modified_gmt":"2025-10-13T23:54:25","slug":"threepress","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/threepress\/","author":12706261,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.8.5","stable_tag":"1.8.5","tested":"6.8.5","requires":"4.0","requires_php":"5.6","requires_plugins":null,"header_name":"Threepress","header_author":"","header_description":"Generate 3D gallery shortcodes powered by three.js","assets_banners_color":"","last_updated":"2025-10-13 23:54:25","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/threepress.shop\/donate","header_plugin_uri":"https:\/\/threepress.shop","header_author_uri":"","rating":4.8,"author_block_rating":0,"active_installs":200,"downloads":9540,"num_ratings":5,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.3.5":{"tag":"0.3.5","author":"kerryoco","date":"2021-05-30 06:31:03"},"0.3.6":{"tag":"0.3.6","author":"kerryoco","date":"2021-05-30 06:51:23"},"0.3.7":{"tag":"0.3.7","author":"kerryoco","date":"2021-05-30 07:00:19"},"0.3.8":{"tag":"0.3.8","author":"kerryoco","date":"2021-06-06 20:28:03"},"0.3.9":{"tag":"0.3.9","author":"kerryoco","date":"2021-06-06 20:34:20"},"0.4.0":{"tag":"0.4.0","author":"kerryoco","date":"2021-07-19 01:19:02"},"0.4.1":{"tag":"0.4.1","author":"kerryoco","date":"2021-07-19 23:33:57"},"0.4.2":{"tag":"0.4.2","author":"kerryoco","date":"2021-07-20 00:50:41"},"1.0.0":{"tag":"1.0.0","author":"kerryoco","date":"2021-10-01 21:32:47"},"1.0.1":{"tag":"1.0.1","author":"kerryoco","date":"2021-10-01 22:11:36"},"1.0.2":{"tag":"1.0.2","author":"kerryoco","date":"2021-10-10 04:45:45"},"1.0.3":{"tag":"1.0.3","author":"kerryoco","date":"2021-10-11 19:03:14"},"1.1.0":{"tag":"1.1.0","author":"kerryoco","date":"2021-10-17 20:09:07"},"1.1.1":{"tag":"1.1.1","author":"kerryoco","date":"2021-10-18 05:11:46"},"1.1.2":{"tag":"1.1.2","author":"kerryoco","date":"2021-10-18 05:42:45"},"1.2.0":{"tag":"1.2.0","author":"kerryoco","date":"2022-02-22 02:27:23"},"1.2.1":{"tag":"1.2.1","author":"kerryoco","date":"2022-03-02 16:43:11"},"1.3.0":{"tag":"1.3.0","author":"kerryoco","date":"2022-04-08 02:58:58"},"1.4.0":{"tag":"1.4.0","author":"kerryoco","date":"2022-05-12 01:35:10"},"1.4.1":{"tag":"1.4.1","author":"kerryoco","date":"2022-08-05 14:55:01"},"1.4.2":{"tag":"1.4.2","author":"kerryoco","date":"2022-08-05 16:03:25"},"1.5.0":{"tag":"1.5.0","author":"kerryoco","date":"2022-10-24 02:50:40"},"1.5.1":{"tag":"1.5.1","author":"kerryoco","date":"2023-03-18 17:55:08"},"1.6.0":{"tag":"1.6.0","author":"kerryoco","date":"2023-06-14 21:22:51"},"1.6.1":{"tag":"1.6.1","author":"kerryoco","date":"2023-07-15 18:09:09"},"1.6.2":{"tag":"1.6.2","author":"kerryoco","date":"2023-09-23 00:20:51"},"1.6.3":{"tag":"1.6.3","author":"kerryoco","date":"2024-01-17 06:27:06"},"1.6.5":{"tag":"1.6.5","author":"kerryoco","date":"2024-01-22 16:41:16"},"1.6.6":{"tag":"1.6.6","author":"kerryoco","date":"2024-01-22 17:12:32"},"1.6.7":{"tag":"1.6.7","author":"kerryoco","date":"2024-01-22 17:33:32"},"1.7.0":{"tag":"1.7.0","author":"kerryoco","date":"2024-03-20 02:47:41"},"1.7.1":{"tag":"1.7.1","author":"kerryoco","date":"2024-05-12 22:30:03"},"1.7.2":{"tag":"1.7.2","author":"kerryoco","date":"2025-02-13 18:10:33"},"1.7.3":{"tag":"1.7.3","author":"kerryoco","date":"2025-02-28 01:49:41"},"1.7.4":{"tag":"1.7.4","author":"kerryoco","date":"2025-02-28 02:13:03"},"1.8.0":{"tag":"1.8.0","author":"kerryoco","date":"2025-05-08 18:05:58"},"1.8.1":{"tag":"1.8.1","author":"kerryoco","date":"2025-10-13 17:27:11"},"1.8.3":{"tag":"1.8.3","author":"kerryoco","date":"2025-10-13 22:54:59"},"1.8.5":{"tag":"1.8.5","author":"kerryoco","date":"2025-10-13 23:54:25"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":1,"5":4},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2535082,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.5","0.3.6","0.3.7","0.3.8","0.3.9","0.4.0","0.4.1","0.4.2","1.0.0","1.0.1","1.0.2","1.0.3","1.1.0","1.1.1","1.1.2","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.4.2","1.5.0","1.5.1","1.6.0","1.6.1","1.6.2","1.6.3","1.6.5","1.6.6","1.6.7","1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.8.0","1.8.1","1.8.3","1.8.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2615530,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2615530,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3025377,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3025377,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"A GUI for quickly creating scenes, with many features planned to be added","2":"Added in v1.0 - heightmaps, fog and sunlight","3":"Experimenting with 'readymade' models in Threepress World","4":"An artist installing their own artworks in a Threepress World"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[162673,5707,132879,44334,809],"plugin_category":[45],"plugin_contributors":[199625],"plugin_business_model":[],"class_list":["post-140990","plugin","type-plugin","status-publish","hentry","plugin_tags-3d-model","plugin_tags-chat","plugin_tags-gltf","plugin_tags-multiplayer","plugin_tags-threejs","plugin_category-ecommerce","plugin_contributors-kerryoco","plugin_committers-kerryoco"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/threepress\/assets\/icon-128x128.png?rev=2535082","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/threepress\/assets\/screenshot-1.png?rev=2615530","caption":"A GUI for quickly creating scenes, with many features planned to be added"},{"src":"https:\/\/ps.w.org\/threepress\/assets\/screenshot-2.png?rev=2615530","caption":"Added in v1.0 - heightmaps, fog and sunlight"},{"src":"https:\/\/ps.w.org\/threepress\/assets\/screenshot-3.png?rev=3025377","caption":"Experimenting with 'readymade' models in Threepress World"},{"src":"https:\/\/ps.w.org\/threepress\/assets\/screenshot-4.png?rev=3025377","caption":"An artist installing their own artworks in a Threepress World"}],"raw_content":"<!--section=description-->\n<p>Easily embed <a href=\"https:\/\/threejs.org\">three.js<\/a> in <a href=\"https:\/\/github.com\/Wordpress\/Wordpress\">Wordpress<\/a><\/p>\n\n<h3>What you can do:<\/h3>\n\n<h3>Create three.js galleries anywhere<\/h3>\n\n<p>Create galleries using the shortcode generator in the Threepress admin, and then paste the shortcode wherever you want - the javascript that renders the shortcodes is loaded on all public pages.<\/p>\n\n<p>A gallery renders one three.js Scene.<\/p>\n\n<p>To customize the layout or dimensions of your gallery, use CSS.  An id tag of form <code>#threepress-gallery-[gallery name]<\/code> is put on the <em>wrapper<\/em> of the <code>&lt;canvas&gt;<\/code> element, or use class <code>.threepress-gallery<\/code> \/ <code>.threepress-gallery canvas<\/code> to target all galleries.<\/p>\n\n<p>The gallery renderer (three.js object) should adjust to match your given dimensions automatically to prevent skewing or blurring.<\/p>\n\n<p>If you want to custom code your own gallery, scroll down to 'javascript devs'.<\/p>\n\n<h3>Notes<\/h3>\n\n<p>All models must be in \".glb\" format - most 3d programs can export to this.<\/p>\n\n<p>They are stored in the Media Library like everything else, but can be found easily through the Threepress library, which simply filters for \".glb\" extensions.<\/p>\n\n<h4>For javascript devs:<\/h4>\n\n<p>All the galleries on a given page will be available in the global variable <code>THREEPRESS<\/code>, in the <code>galleries<\/code> property.  See the <code>Gallery<\/code> class (<code>static\/js\/ThreepressGallery.js<\/code>) for insight on interacting with these.<\/p>\n\n<!--section=installation-->\n<p>The plugin will create one database table to store your galleries:\n    threepress_shortcodes,<\/p>\n\n<p>This remains in place upon deactivation, so if you want to remove it you must do so manually.<\/p>\n\n<!--section=changelog-->\n<h4>1.8.5<\/h4>\n\n<ul>\n<li>clearer UX for logged \/ non-logged, edit \/ cannot edit toons in Threepress World<\/li>\n<\/ul>\n\n<h4>1.8.3<\/h4>\n\n<ul>\n<li>better toon management both for users and admins in Threepress World.   <\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>typo!  version was omitted previously<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>fixes glb uploads for hosts which required model\/gltf-binary mime types (this should fix wordpress.com uploads)<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>fixed bug when previewing some galleries in admin<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>added a loading bar to all on-page galleries<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>escape shortcode attributes on save \/ load to ensure validity<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>feature: allow Threepress World admins more backend controls<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>feature: global settings - allow conditional loading by post \/ page<\/li>\n<li>fix: clearer model load errors in admin<\/li>\n<\/ul>\n\n<h4>1.6.7<\/h4>\n\n<ul>\n<li>fixed versioning<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li>feature: World: allow extensible section of 'readymades'<\/li>\n<li>fix: World: OrbitControls and object transforms fixes<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>feature: change World controls to OrbitControls instead of custom<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>fix: prevent mobile panning on zoom<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>fix: allow GLTFloader to load compressed models using 'meshopt_decoder.js' module<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>feature: basic support for multiplayer model uploading in Threepress Worlds<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>fix: some animation names were not getting decoded, so, would not play.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>feature: Media Library will now preview glb files<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>require jquery<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>ongoing updates to Threepress World<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Threepress World procedurally generated worlds and terrain<\/li>\n<li>Threepress World image and model installs<\/li>\n<li>Threepress World image and model controls<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Threepress World, multiplayer chat, beta<\/li>\n<li>non-fatal undefined variable in threepress.php fixed<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>activation error fixed<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>basic HDR images available<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>animation display bugfix<\/li>\n<li>multiple threejs versions<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>animation GUI bugfixes<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>ambient lights<\/li>\n<li>animations<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>added snow<\/li>\n<li>saving coordinates bugfix<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>cleaner cam \/ light \/ ground positioning code, and bugfixes<\/li>\n<li>UI tweaks<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>allow 10x more model 'float' granularity for ground contact<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>core features added to editor - fog, heightmaps, shadows.  Also editor UI update.<\/li>\n<\/ul>","raw_excerpt":"3d model gallery uploader and viewer powered by three.js","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/140990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=140990"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kerryoco"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=140990"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=140990"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=140990"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=140990"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=140990"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=140990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}