{"id":332097,"date":"2026-07-15T08:04:17","date_gmt":"2026-07-15T08:04:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dinofolio\/"},"modified":"2026-07-15T08:04:09","modified_gmt":"2026-07-15T08:04:09","slug":"dinofolio","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/dinofolio\/","author":23317560,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.6","requires_php":"7.0","requires_plugins":null,"header_name":"DinoFolio","header_author":"WPDINO","header_description":"Create and display portfolio projects with a custom post type, Gutenberg block, Elementor widget, shortcodes, and category archive templates.","assets_banners_color":"c8d1c9","last_updated":"2026-07-15 08:04:09","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/dinostd\/10usd","header_plugin_uri":"https:\/\/www.wpdino.com\/plugins\/dinofolio\/","header_author_uri":"https:\/\/www.wpdino.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wpdino","date":"2026-07-15 08:04:09"}},"upgrade_notice":{"1.0.0":"<p>Initial release of DinoFolio. Install to create portfolio items and display them with the block editor, Elementor, WPBakery, or shortcodes.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3608415,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3608415,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3608415,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3608415,"resolution":"1","location":"assets","locale":"","width":1915,"height":1740},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3608415,"resolution":"2","location":"assets","locale":"","width":1917,"height":1493},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3608415,"resolution":"3","location":"assets","locale":"","width":1920,"height":961},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3608415,"resolution":"4","location":"assets","locale":"","width":1917,"height":1571},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3608415,"resolution":"5","location":"assets","locale":"","width":1920,"height":2289}},"screenshots":{"1":"Portfolio grid layout on the front end","2":"Portfolio Listing block in the Gutenberg editor","3":"Display and Query settings in the block sidebar","4":"Elementor Portfolio Listing widget controls","5":"DinoFolio admin settings page","6":"Single portfolio project page with meta and related items"}},"plugin_section":[],"plugin_tags":[76538,210,148076,789,1116],"plugin_category":[43,50],"plugin_contributors":[250007],"plugin_business_model":[],"class_list":["post-332097","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor","plugin_tags-gallery","plugin_tags-gutenberg","plugin_tags-portfolio","plugin_tags-showcase","plugin_category-customization","plugin_category-media","plugin_contributors-wpdino","plugin_committers-wpdino"],"banners":{"banner":"https:\/\/ps.w.org\/dinofolio\/assets\/banner-772x250.png?rev=3608415","banner_2x":"https:\/\/ps.w.org\/dinofolio\/assets\/banner-1544x500.png?rev=3608415","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dinofolio\/assets\/icon-256x256.png?rev=3608415","icon_2x":"https:\/\/ps.w.org\/dinofolio\/assets\/icon-256x256.png?rev=3608415","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dinofolio\/assets\/screenshot-1.png?rev=3608415","caption":"Portfolio grid layout on the front end"},{"src":"https:\/\/ps.w.org\/dinofolio\/assets\/screenshot-2.png?rev=3608415","caption":"Portfolio Listing block in the Gutenberg editor"},{"src":"https:\/\/ps.w.org\/dinofolio\/assets\/screenshot-3.png?rev=3608415","caption":"Display and Query settings in the block sidebar"},{"src":"https:\/\/ps.w.org\/dinofolio\/assets\/screenshot-4.png?rev=3608415","caption":"Elementor Portfolio Listing widget controls"},{"src":"https:\/\/ps.w.org\/dinofolio\/assets\/screenshot-5.png?rev=3608415","caption":"DinoFolio admin settings page"}],"raw_content":"<!--section=description-->\n<p>DinoFolio adds a portfolio custom post type to WordPress and gives you several ways to display projects on your site: the block editor, Elementor, WPBakery, shortcodes, and built-in category or tag archive templates.<\/p>\n\n<p>After activation, you can add portfolio items, organize them with categories and tags, configure global defaults in the settings screen, and embed a portfolio listing on any page or post.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Portfolio Custom Post Type<\/strong> - Dedicated portfolio items with featured images, excerpts, categories, and tags<\/li>\n<li><strong>Portfolio Listing Block<\/strong> - Native Gutenberg block with live server-side preview and inspector controls<\/li>\n<li><strong>Elementor Widget<\/strong> - Drag-and-drop Portfolio Listing widget with the same options as the block<\/li>\n<li><strong>WPBakery Module<\/strong> - Portfolio listing module for WPBakery Page Builder sites<\/li>\n<li><strong>Shortcode Support<\/strong> - Embed listings anywhere with <code>[dinofolio]<\/code> and <code>[dinofolio_portfolio]<\/code><\/li>\n<li><strong>Multiple Layouts<\/strong> - Grid, Masonry, and List layouts with responsive columns<\/li>\n<li><strong>Query Controls<\/strong> - Filter by portfolio category or tag, set item count, and control sort order<\/li>\n<li><strong>Display Options<\/strong> - Toggle title, categories, excerpt, read more button, pagination, and view-all link<\/li>\n<li><strong>Image Lightbox<\/strong> - Optional lightbox on thumbnails with zoom icon on hover<\/li>\n<li><strong>Category Filter Bar<\/strong> - Optional front-end filter tabs by portfolio category<\/li>\n<li><strong>Single Portfolio Templates<\/strong> - Rich single-project meta (attributes, social links, related projects) with theme override support<\/li>\n<li><strong>Admin Settings<\/strong> - Global defaults for layout, columns, image size, lightbox, permalinks, and more<\/li>\n<li><strong>Translation Ready<\/strong> - Text domain <code>dinofolio<\/code> with POT file included<\/li>\n<\/ul>\n\n<h4>Portfolio Listing Options<\/h4>\n\n<ul>\n<li><strong>Display<\/strong> - Layout, columns, image size, title, categories, excerpt, read more label, lightbox, category filter, pagination, view-all button<\/li>\n<li><strong>Query<\/strong> - Include categories, include tags, posts to show, order by (date, title, menu order, modified, random), sort direction<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.6 or higher<\/li>\n<li>PHP 7.0 or higher<\/li>\n<li>Elementor (optional, for the Elementor widget)<\/li>\n<li>WPBakery Page Builder (optional, for the WPBakery module)<\/li>\n<\/ul>\n\n<h3>Getting Started<\/h3>\n\n<p>Follow these steps after a fresh install:<\/p>\n\n<ol>\n<li><strong>Open settings<\/strong> \u2014 In the admin menu, go to <strong>DinoFolio<\/strong> &gt; <strong>Settings<\/strong>. Review the <strong>General<\/strong> tab for permalink slugs and default portfolio item options. Save your changes.<\/li>\n<li><strong>Refresh permalinks<\/strong> \u2014 If you change the portfolio or taxonomy slug, visit <strong>Settings<\/strong> &gt; <strong>Permalinks<\/strong> in WordPress and click <strong>Save Changes<\/strong> once so archive URLs work correctly.<\/li>\n<li><strong>Add categories (optional)<\/strong> \u2014 Go to <strong>DinoFolio<\/strong> &gt; <strong>Categories<\/strong> and create the groups you want to use for filtering and archives.<\/li>\n<li><strong>Create portfolio items<\/strong> \u2014 Go to <strong>DinoFolio<\/strong> &gt; <strong>Portfolio Items<\/strong> &gt; <strong>Add New<\/strong>. Add a title, featured image, excerpt, categories, and any project details in the portfolio meta boxes.<\/li>\n<li><strong>Display a listing on a page<\/strong> \u2014 Edit a page or post and add the <strong>Portfolio Listing<\/strong> block (block editor), the <strong>Portfolio Listing<\/strong> Elementor widget, the WPBakery module, or a shortcode such as <code>[dinofolio layout=\"grid\" columns=\"3\"]<\/code>.<\/li>\n<li><strong>Adjust listing options<\/strong> \u2014 In the block or widget sidebar, use the <strong>Display<\/strong> and <strong>Query<\/strong> panels to choose layout, columns, filters, sorting, and what information appears on each card.<\/li>\n<li><strong>Configure archive templates (optional)<\/strong> \u2014 In <strong>DinoFolio<\/strong> &gt; <strong>Settings<\/strong> &gt; <strong>Taxonomy Archive<\/strong>, enable the plugin taxonomy template and set listing options for category and tag archive pages.<\/li>\n<\/ol>\n\n<p>Single portfolio pages use your theme template plus the plugin\u2019s portfolio meta output. To customize that markup, copy <code>templates\/single-portfolio-meta.php<\/code> to <code>your-theme\/dinofolio\/single-portfolio-meta.php<\/code>.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For support, documentation, and updates, visit <a href=\"https:\/\/www.wpdino.com\">wpdino.com<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>DinoFolio can connect to third-party video services (YouTube and Vimeo) when you use its optional video features. It does not send any data to external services unless you add a YouTube or Vimeo video to a portfolio item. No data is sent for portfolio items that do not use a video.<\/p>\n\n<h4>YouTube (provided by Google LLC)<\/h4>\n\n<p>The plugin uses YouTube in two situations:<\/p>\n\n<ul>\n<li><strong>Fetching a video thumbnail (admin).<\/strong> When you add a YouTube video to a portfolio item and choose to use its thumbnail as the featured image, the plugin sends the video ID to YouTube by requesting thumbnail image URLs (for example <code>https:\/\/img.youtube.com\/vi\/VIDEO_ID\/maxresdefault.jpg<\/code>) and, where available, the WordPress oEmbed endpoint, to determine the best available thumbnail. The image is then downloaded to your own Media Library. This happens only when you trigger the thumbnail action in the editor.<\/li>\n<li><strong>Playing a video (front end).<\/strong> When a visitor opens a portfolio item that uses a YouTube video in the lightbox player, their browser loads the YouTube embed directly from YouTube. This sends the visitor's IP address and player\/browser data to YouTube, subject to YouTube's own policies.<\/li>\n<\/ul>\n\n<p>YouTube terms of service: https:\/\/www.youtube.com\/t\/terms\nGoogle privacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Vimeo (provided by Vimeo.com, Inc.)<\/h4>\n\n<p>The plugin uses Vimeo in two situations:<\/p>\n\n<ul>\n<li><strong>Fetching a video thumbnail (admin).<\/strong> When you add a Vimeo video to a portfolio item and choose to use its thumbnail as the featured image, the plugin sends the video URL to Vimeo through the WordPress oEmbed endpoint to retrieve the thumbnail URL. The image is then downloaded to your own Media Library. This happens only when you trigger the thumbnail action in the editor.<\/li>\n<li><strong>Playing a video (front end).<\/strong> When a visitor opens a portfolio item that uses a Vimeo video in the lightbox player, their browser loads the Vimeo embed directly from Vimeo. This sends the visitor's IP address and player\/browser data to Vimeo, subject to Vimeo's own policies.<\/li>\n<\/ul>\n\n<p>Vimeo terms of service: https:\/\/vimeo.com\/terms\nVimeo privacy policy: https:\/\/vimeo.com\/privacy<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>By default, this plugin does not collect, store, or transmit personal data to external servers. External requests are made only when you use the optional video features described in the <strong>External services<\/strong> section above.<\/p>\n\n<p><strong>Data stored on your site:<\/strong>\n* Portfolio posts, categories, tags, and media you create in WordPress\n* Plugin settings saved in the WordPress options table\n* Block and widget settings stored in post content<\/p>\n\n<p><strong>Third-party libraries:<\/strong>\n* GLightbox (bundled) is used on the front end when the image lightbox option is enabled. For image lightboxes, images are loaded from your own site and no third-party API calls are made. For video lightboxes, GLightbox loads the YouTube or Vimeo embed from those services (see the <strong>External services<\/strong> section).<\/p>\n\n<p><strong>Optional integrations:<\/strong>\n* Elementor and WPBakery are optional. When used, their respective editors load only on pages where you build content with those tools.<\/p>\n\n<p>No analytics, tracking, or account registration is included in this plugin.<\/p>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>This plugin bundles the following third-party libraries:<\/p>\n\n<ul>\n<li>GLightbox - https:\/\/github.com\/biati-digital\/glightbox - MIT License<\/li>\n<li>Plyr - https:\/\/github.com\/sampotts\/plyr - MIT License<\/li>\n<li>Isotope - https:\/\/isotope.metafizzy.co\/ - Commercial \/ GPLv3 dual license<\/li>\n<li>imagesLoaded - https:\/\/imagesloaded.desandro.com\/ - MIT License<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/dinofolio<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20elementor%20to%20use%20dinofolio%3F\"><h3>Do I need Elementor to use DinoFolio?<\/h3><\/dt>\n<dd><p>No. The portfolio post type, Gutenberg block, shortcodes, and front-end templates work without Elementor. Elementor is only required if you want to use the Elementor widget.<\/p><\/dd>\n<dt id=\"do%20i%20need%20wpbakery%3F\"><h3>Do I need WPBakery?<\/h3><\/dt>\n<dd><p>No. WPBakery support is optional and loads only when WPBakery Page Builder is active.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20portfolio%20listing%20to%20a%20page%3F\"><h3>How do I add a portfolio listing to a page?<\/h3><\/dt>\n<dd><p>In the block editor, add the <strong>Portfolio Listing<\/strong> block from the DinoFolio category. In Elementor, search for <strong>Portfolio Listing<\/strong> in the widget panel. You can also use the shortcode <code>[dinofolio]<\/code> or <code>[dinofolio_portfolio]<\/code> with optional attributes, for example: <code>[dinofolio layout=\"grid\" columns=\"3\" posts_to_show=\"9\" categories=\"design\"]<\/code>.<\/p><\/dd>\n<dt id=\"where%20do%20i%20change%20global%20defaults%3F\"><h3>Where do I change global defaults?<\/h3><\/dt>\n<dd><p>Go to <strong>DinoFolio<\/strong> &gt; <strong>Settings<\/strong>. The <strong>General<\/strong> tab controls permalink slugs, default values for new portfolio items, and which Elementor widgets are enabled. The <strong>Taxonomy Archive<\/strong> tab controls category and tag archive listings. Use the <strong>Tools<\/strong> tab to export or import settings.<\/p><\/dd>\n<dt id=\"can%20i%20filter%20projects%20by%20category%20or%20tag%3F\"><h3>Can I filter projects by category or tag?<\/h3><\/dt>\n<dd><p>Yes. In the block or widget <strong>Query<\/strong> panel, use <strong>Categories<\/strong> and <strong>Tags<\/strong> to limit which projects appear. Leave them empty to show all published items.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20single%20portfolio%20page%3F\"><h3>Can I customize the single portfolio page?<\/h3><\/dt>\n<dd><p>Yes. Copy <code>templates\/single-portfolio-meta.php<\/code> to <code>your-theme\/dinofolio\/single-portfolio-meta.php<\/code> to override the single-project meta markup. Related project cards use <code>templates\/parts\/related-project-card.php<\/code>.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20compatible%20with%20my%20theme%3F\"><h3>Is the plugin compatible with my theme?<\/h3><\/dt>\n<dd><p>DinoFolio is built to work with any well-coded WordPress theme. Listing markup uses plugin styles that you can override in your theme CSS.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20mobile-friendly%3F\"><h3>Is the plugin mobile-friendly?<\/h3><\/dt>\n<dd><p>Yes. Grid, masonry, and list layouts are responsive and adapt to smaller screens.<\/p><\/dd>\n<dt id=\"do%20you%20provide%20support%3F\"><h3>Do you provide support?<\/h3><\/dt>\n<dd><p>Support and documentation are available at <a href=\"https:\/\/www.wpdino.com\">wpdino.com<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org<\/li>\n<li>Portfolio custom post type with categories and tags<\/li>\n<li>Portfolio Listing Gutenberg block with server-side render preview<\/li>\n<li>Elementor Portfolio Listing widget<\/li>\n<li>WPBakery Portfolio Listing module<\/li>\n<li>Shortcodes: <code>[dinofolio]<\/code> and <code>[dinofolio_portfolio]<\/code><\/li>\n<li>Grid, Masonry, and List layouts<\/li>\n<li>Query filters: categories, tags, item count, order by, sort direction<\/li>\n<li>Display toggles: title, categories, excerpt, read more, lightbox, filter bar, pagination, view-all link<\/li>\n<li>Category icon on listing cards and lightbox zoom icon on hover<\/li>\n<li>Single portfolio meta template with theme override support<\/li>\n<li>Admin settings for defaults, permalinks, and features<\/li>\n<li>Translation-ready with <code>languages\/dinofolio.pot<\/code><\/li>\n<\/ul>","raw_excerpt":"A WordPress portfolio plugin with a custom post type, Gutenberg block, Elementor widget, shortcodes, and archive templates.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/332097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=332097"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpdino"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=332097"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=332097"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=332097"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=332097"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=332097"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=332097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}