Embed Piwigo
The Embed Piwigo plugin adds support for embedding photos from whitelisted Piwigo websites. This means that you can add the URL (a.k.a. ‘web address’) of a photo in a Piwigo site to a WordPress post or page, and a medium-sized, centered image will be inserted in its place. The standard WordPress captioning system will be used (as for the Caption Shortcode), with the photo’s title, date, and description added if they’re available for a given image. For example, if you have https://piwigo.org/demo in your Piwigo site URLs list, and add the following URL on its own line in a post or page on your blog: https://piwigo.org/demo/picture.php?/1382/category/111 then a photo of a mountain in Kerzers will be inserted, with the caption “Colline de Chiètres (May 6, 2016)”. The date format will match whatever your WordPress installation is configured to use.
Insert Pages
Insert Pages lets you embed any WordPress content (e.g., pages, posts, custom post types) into other WordPress content using the Shortcode API. It also includes a widget for inserting pages into any widget area. The real power of Insert Pages comes when you start creating custom post types, either programmatically in your theme, or using another plugin like Custom Post Type UI. You can then abstract away common data types (like videos, quizzes, due dates) into their own custom post types, and then show those pieces of content within your normal pages and posts by Inserting them as a shortcode. Advanced Tutorial Contributor Wes Modes has graciously written an updated tutorial for the Gutenberg era, focused on creating a custom post type with custom fields and a custom template for rendering content. Read it here: https://medium.com/@wesmodes/using-wordpress-insert-pages-plugin-with-your-custom-post-types-and-custom-templates-535c141f9635 Example: Normal Use Case Say you teach a course and you’re constantly referring to an assignment due date in your course website. The next semester the due date changes, and you have to go change all of the locations you referred to it. Instead, you’d rather just change the date once! With Insert Pages, you can do the following: Create a custom post type called Due Date. Create a new Due Date called Assignment 1 Due Date with Fri Nov 22, 2013 as its content. Edit all the pages where the due date occurs and use the Insert Pages toolbar button to insert a reference to the Due Date you just created. Be sure to set the Display to Content so Fri Nov 22, 2013 shows wherever you insert it. The shortcode you just created should look something like this: [insert page='assignment-1-due-date' display='content'] That’s it! Now, when you want to change the due date, just edit the Assignment 1 Due Date custom post you created, and it will automatically be updated on all the pages you inserted it on. Example: Advanced Use Case Say your site has a lot of video content, and you want to include video transcripts and video lengths along with the videos wherever you show them. You could just paste the transcripts into the page content under the video, but then you’d have to do this on every page the video showed on. (It’s also just a bad idea, architecturally!) With Insert Pages, you can use a custom post type and create a custom theme template to display your videos+transcripts+lengths just the way you want! Create a custom post type called Video. Use a plugin like Advanced Custom Fields to add extra fields to your new Video custom post type. Add a Video URL field, a Transcript field, and a Video Length field. Create a new Video called My Awesome Video with the following values in its fields: Video URL: http://www.youtube.com/watch?v=oHg5SJYRHA0 Transcript: We’re no strangers to love, You know the rules and so do I… Video Length: 3:34 Create a template in your theme so we can display the video content as we want. I won’t cover this step here since it’s pretty involved, but you can find more help in the WordPress Codex. Let’s assume you created a template called Video with transcript (video-with-transcript.php) that shows the youtube video in a fancybox, and includes a button that shows the text transcript when a user clicks on it. Edit the pages where you want the video to show up and use the Insert Pages toolbar button to insert a reference to the Video you just created. Be sure to set the Display to Use a custom template, and select your new template Video with transcript. The shortcode you just created should look something like this: [insert page='my-awesome-video' display='video-with-transcript.php'] That’s it! Now you can create all sorts of video content and know that it’s being tracked cleanly in the database as its own custom post type, and you can place videos all over your site and not worry about lots of duplicate content. The possibilities are endless!