DobsonDev Shortcodes
Add to ListA collection of helpful shortcodes that I use in my own work that I wanted to share with the WordPress Community. If you want to suggest any shortcodes please email me at [email protected]. Please download from the Offical WordPress Repository for easiest installation. If you would like to donate please click here.
As of version 2.0.0 DobsonDev Shortcodes includes a TinyMCE Plugin that provides a button and user interface for adding the shortcodes. The button is the DobsonDev Shortcodes logo and if you click on it you will see a dropdown menu with all of the different shortcodes available to you. Click on the shortcode you want and a popup will appear (for the most part – three of the shortcodes just appear in the editor and you can fill their content in) containing the different attributes for that shortcode. The required attributes are marked with stars and you must fill them in. The other optional attributes can either be filled in to include them or left blank to leave them out.
Shortcodes Included
- Embed PDFs – Embeds PDFs into pages rather than separate links.
- Embed GitHub Gists – Easily add GitHub gists to your site or blog.
- Embed GitHub Repo Readme – Easily add the content from your GitHub repository README.md file.
- Embed GitHub Repo File Contents – Easily add the content from a file from any GitHub repository.
- Embed Twitch Stream – Embeds a Twitch Stream into the page.
- Embed Twitch Stream Chat – Embeds the chat from a Twitch Stream into the page.
- Embed YouTube Video – Embeds a YouTube Video into the page.
- Embed Vimeo Video – Embeds a Vimeo Video into the page.
- Inline Code – Displays inline code snippets that are visually different than the body text.
- Code Block – Displays a simple code block for simple, small pieces of code.
- Button – Displays a purely CSS button with choice of color, text and link.
- User Interaction Messages – Displays a message with appropriate color that you can use to notify users of how their interaction is working.
- Related Posts – Displays manually entered related posts on your post’s page that cycle through in a little slideshow. Only for use with posts, NOT pages!
- Social Share – Displays a section for sharing your page on social media, shows links for Twitter, Facebook, Google Plus and Linkedin.
Embed PDF
[embedPDF source=”http://yoursite.com/path-to-the-pdf.pdf” width=”###” height=”###”]
This Shortcode will embed a PDF into the page rather than making it a seperate link that must be clicked to be viewed. It is displayed in the browsers default PDF reader since it is embedded as an application. The source attribute is the URL of the PDF and is required. The width and height attribute will set the size of the embedded application, and are both optional. If they are not entered then the width is set to 100% and the height to 600.
Please note that setting the width to “auto” will not work. Rather, please set the width to “100%” to get the same effect. If you are looking to add your own custom CSS to the container around the PDF embed, the class is “div.dobdev-pdf-container”. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Embed GitHub Gists
[embedGist source=”http://gist.github.com/your-account/gist-id”]
This Shortcode will embed a GitHub Gist into the page. The Gist will be embedded in a little box that makes it easy to share code samples with other developers (or whoever you want to share them with). The source attribute is the URL to the Gist and is required.
If you are looking to add some custom CSS to the Gists, they are automatically put into “div.gist” by GitHub. Use that class when doing any CSS changes. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Embed GitHub Repo Readme
[embedGitHubReadme owner=”Owner_of_Repo” repo=”Repo_Name” cache_id=”id”]
This shortcode will display the contents of any GitHub repository’s README file. The markdown will displayed as HTML output onto the page. This shortcode uses GitHub API calls to ensure that as you update you README file the output from this shortcode will also update.
The style will match that of your default page style, but if you want to change the style just wrap the shortcode inside of a div and then edit as much as the style as you want.
If you want to take advantage of WordPress’ transient API for caching, simply enter an ID for the cache_id argument. Note that this ID can be anything other than “NULL”, it doesn’t necessarily have to be a number. Once entered this will cause the shortcode to cache the results of the API call for 24 hours. This means the shortcode will use those cached results and speed up the load times for 24 hours, at which point it will then call the API again to get any updates and use those cached results for another 24 hours.
If you’re receiving an error similar to “SSL certificate : unable to get local issuer certificate” then please add the attribute insecure=”true” to your shortcode. This stops cURL from verifying the peer’s certificate which may be required in some cases depending on your server. If you would rather you can instead sdd the root CA (the CA signing the server certificate) to etc/ssl/certs/ca-certificates.crt which will allow secure connections to work. By default the shortcode will use secure connections.
Embed GitHub Repo File Contents
[embedGitHubContent owner=”Owner_of_Repo” repo=”Repo_Name” path=”Path_to_File” markdown=”Yes/No” cache_id=”id”]
This shortcode will display the contents of a file from any GitHub repository. You must include the Owner of the repository, the repository name and the path to the file. Optionally, if the file is a markdown file you can put markdown=”yes” and the plugin will output the markdown as HTML onto the page. If you give the shortcode a path to a folder rather than to a file it will output an array of the folders contents.
If you want to take advantage of WordPress’ transient API for caching, simply enter an ID for the cache_id argument. Note that this ID can be anything other than “NULL”, it doesn’t necessarily have to be a number. Once entered this will cause the shortcode to cache the results of the API call for 24 hours. This means the shortcode will use those cached results and speed up the load times for 24 hours, at which point it will then call the API again to get any updates and use those cached results for another 24 hours.
If you’re receiving an error similar to “SSL certificate : unable to get local issuer certificate” then please add the attribute insecure=”true” to your shortcode. This stops cURL from verifying the peer’s certificate which may be required in some cases depending on your server. If you would rather you can instead sdd the root CA (the CA signing the server certificate) to etc/ssl/certs/ca-certificates.crt which will allow secure connections to work. By default the shortcode will use secure connections.
Embed Twitch Stream
[embedTwitch username=”your-username” width=”###” height=”###”]
This Shortcode will embed a Twitch stream into the page. The username attribute is the Twitch Stream’s username, which can be found at the end of the URL of the stream. An example would be http://twitch.tv/day9tv. The username for this stream is “day9tv”, so that would be entered. The username is a required attribute. The width and height attributes will set the size of the embedded stream, and both are optional attributes. If they are not entered the width will default to 100% and the height will default to 378.
Please note that setting the width to “auto” will not work. Rather, please set the width to “100%” to get the same effect. If you are looking to add your own custom CSS to the container around the Twitch Stream embed, the class is “div.dobdev-twitch-container”. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Embed Twitch Stream Chat
[embedTwitchChat username=”your-username” width=”###” height=”###”]
This Shortcode will embed a Twitch stream’s chat into the page. The username attribute is the Twitch Stream’s username, which can be found at the end of the URL of the stream. An example would be http://twitch.tv/day9tv. The username for this stream is “day9tv”, so that would be entered. The username is a required attribute. The width and height attributes will set the size of the embedded chat, and both are optional attributes. If they are not entered the width will default to 350 and the height will default to 500.
If you are looking to add your own custom CSS to the container around the Twitch Chat embed, the class is “div.dobdev-twitch-chat-container”. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Embed YouTube Video
[embedYouTube video=”video-id” width=”###” height=”###”]
This Shortcode will embed a YouTube video into the page. The video attribute is the YouTube video ID of the video you want to embed into the page. It can be found at the end of the URL on YouTube. For example, the video located at https://www.youtube.com/watch?v=uCdfze1etec has the video ID “uCdfze1etec”. You will always find the video ID after the “watch?v=”. The video attribute is required. The width and height attributes will set the size of the embedded video, and both are optional attributes. If they are not entered the width will default to 560 and the height will default to 315.
Please note that setting the width to “auto” will not work. Rather, please set the width to “100%” to get the same effect. If you are looking to add your own custom CSS to the container around the YouTube video embed, the class is “div.dobdev-youtube-container”. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Embed Vimeo Video
[embedVimeo video=”video-id” width=”###” height=”###”]
This Shortcode will embed a Vimeo video into the page. The video attribute is the Vimeo video ID of the video you want to embed into the page. It can be found at the end of the URL on Vimeo. For example, the video located at https://vimeo.com/14651522 has the video ID “14651522”. You will always find the video ID after the “/” in the Vimeo URL. The video attribute is required. The width and height attributes will set the size of the embedded video, and both are optional attributes. If they are not entered the width will default to 560 and the height will default to 315.
Please note that setting the width to “auto” will not work. Rather, please set the width to “100%” to get the same effect. If you are looking to add your own custom CSS to the container around the Vimeo video embed, the class is “div.dobdev-vimeo-container”. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Inline Code Snippets
[startCode]
This shortcode will create the start tags for an inline code snippet which will then be ended using the [endCode] shortcode. If you use these two together you can create small inline code samples that look great, are easy to copy, and distinguish themselves from the rest of your text content in appearance. These make it easy to include code snippets without having to switch to the HTML editor in WordPress.
[endCode]
This shortcode will create the end tags for the inline code snippet started by [startCode]. If you use these two together you can create small inline code samples that look great, are esay to copy, and distinguish themselves from the rest of your text content in appearance. These make it easy to include code snippets without having to switch to the HTML editor in WordPress.
If you want to change any of the styling for the inline code snippets, please use the CSS class “code.dobdev-code-inline”. From here you can change font size, font family, and even colour using your theme’s (hopefully child theme’s) stylesheet. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Code Blocks
[startCodeBlock]
This shortcode will create the start tags for a code block which will then be ended using the [endCodeBlock] shortcode. If you use these two together you can create small, simple code blocks that have a black background with white text, which is the common convention for code blocks. This is great for showing Terminal commands or very small code snippets (I recommend using the embed GitHub Gists shortcode for longer code samples).
[endCodeBlock]
This shortcode will create the end tags for the code snippet started by [startCode]. If you use these two together you can create small, simple code blocks that have a black background with white text, which is the common convention. This is great for showing Terminal commands or very small code snippets (I recommend using the embed GitHub Gists shortcode for longer code samples).
If you want to change any of the styling for the code blocks, please use the CSS class “pre.dobdev-code-block”. From here you can change font size, font family, background color, padding and even the actual text color using your theme’s (hopefully child theme’s) stylesheet. This should only be done by someone experienced using CSS, otherwise the results could cause harm to the layout of your site.
Buttons
[button text=”buttonText” color=”color” link=”#”]
This shortcode will create a purely CSS button where ever you place it. The text attribute is the text that will appear within the button. The color atrribute defines what color will show – the choices for color are red, blue, green, orange, purple, and turquoise. The link attribute is what link the user wants to redirect to when the button is clicked. If you do not want a redirect on the button click, just use a “#” and the button will do nothing when clicked.
User Interaction Messages
[infoMessage text=”your-message”]
[successMessage text=”your-message”]
[warningMessage text=”your-message”]
[errorMessage text=”your-message”]
These shortcodes will display a message with an appropriate color that will notify users of how their interaction is working. The color scheme follows that of many other websites – blue is for information, green is for success, yellow is a warning and red signifies an error.
Related Posts
[relatedPosts posts=”1stPostID; 2ndPostID; 3rdPostID”]
eg. [relatedPosts post=”1; 2; 3; 4″]
This shortcode will create a small slideshow of related posts wherever you put it. Note that you must enter the post ID’s yourself, as this shortcode will not automatically index and display related posts for you. Although this is more work it has a significantly smaller load time than plugins which do automatically index them for you. I would recommend this to people who run their own personal blogs with fewer articles. The slideshow is made using only CSS and jQuery.
Please note that this shortcode should only be used on posts, NOT pages. It will cause pages to hang.
Social Share
[socialShare]
This shortcode will create a section with links for sharing your page or post to Twitter, Facebook, Google Plus and Linkedin. The links are color coded to match the colors of each of their respective websites. You can use this like a normal shortcode in your page/post’s content or you can add it to your template files by using “echo do_shortcode(‘[socialShare]’);”.