Router redirecting to unwanted Adobe Flash update malware site – Moon Virus?

1000wmainBear with me, for now this will be a tiny post, a placeholder, but I am looking for feedback, ideas, comments and I will keep this post updated.

The scenario: My local sandwich shop where I often hang out and work remotely has a wireless router that started to redirect me to a fake “update your flash” and download a “Install flashplayer_10924_i13445851_il345.exe” malware file. There are no viruses, rootkits, or malware on my PC. This affects their PoS (Point of Sale) system, tablets, iPhones. Also, it’s not a DNS hijack, as the URL from the HTTP doesn’t change. It’s a MitM attack (Man in the Middle) where x number of HTTP GETs work fine and then every few hundred the router returns it’s own HTML. The requestor doesn’t know the difference.

The router he has is a V1000W Wireless N VDSL Modem Router. I’m suspecting the “Moon” virus but I’m not sure, as this isn’t a Linksys. The firmware is ancient from 2009 and that’s the latest one I can find.

Before you reply:

  • I’m technical, but the public is often not. Comments like “run openwrt” are certainly valid for a techie, but I’d like to know something more populist:
    • Can this router (and others like it) be fixed? Or is this bricked? Can I flash it with the original firmware to restore?
    • Remote management isn’t enabled. What port did the attack happen on?
    • How can I confirm it has it (all signs point to it) with some curl command?
  • What routers have this? What is the source?
  • What can a regular Jane/Joe do about this if they have Frontier/FIOs/CenturyLink, etc?

Thoughts?


© 2015 Scott Hanselman. All rights reserved.
     

1000wmainBear with me, for now this will be a tiny post, a placeholder, but I am looking for feedback, ideas, comments and I will keep this post updated.

The scenario: My local sandwich shop where I often hang out and work remotely has a wireless router that started to redirect me to a fake "update your flash" and download a "Install flashplayer_10924_i13445851_il345.exe" malware file. There are no viruses, rootkits, or malware on my PC. This affects their PoS (Point of Sale) system, tablets, iPhones. Also, it's not a DNS hijack, as the URL from the HTTP doesn't change. It's a MitM attack (Man in the Middle) where x number of HTTP GETs work fine and then every few hundred the router returns it's own HTML. The requestor doesn't know the difference.

The router he has is a V1000W Wireless N VDSL Modem Router. I'm suspecting the "Moon" virus but I'm not sure, as this isn't a Linksys. The firmware is ancient from 2009 and that's the latest one I can find.

Before you reply:

  • I'm technical, but the public is often not. Comments like "run openwrt" are certainly valid for a techie, but I'd like to know something more populist:
    • Can this router (and others like it) be fixed? Or is this bricked? Can I flash it with the original firmware to restore?
    • Remote management isn't enabled. What port did the attack happen on?
    • How can I confirm it has it (all signs point to it) with some curl command?
  • What routers have this? What is the source?
  • What can a regular Jane/Joe do about this if they have Frontier/FIOs/CenturyLink, etc?

Thoughts?



© 2015 Scott Hanselman. All rights reserved.
     

7 Free WordPress Admin Themes and Plugins

WordPress admin themes aren’t as popular because most folks think they’re unnecessary. However if you’re developing a WordPress site for a client, then you could benefit from customizing the experience. In this article, we will show you some of the best free WordPress admin themes… Read More »

To leave a comment please visit 7 Free WordPress Admin Themes and Plugins on WPBeginner.

WordPress admin themes aren’t as popular because most folks think they’re unnecessary. However if you’re developing a WordPress site for a client, then you could benefit from customizing the experience. In this article, we will show you some of the best free WordPress admin themes that you can try right away.

Difference Between WordPress Admin Themes and Admin Color Schemes

WordPress Admin themes are not the same as WordPress admin color scheme. Users can go to their profile page and select one of the built-in WordPress admin color schemes to use for their admin area. This color scheme does not change the width, height, padding, spacing of the WordPress admin UI.

WordPress admin themes on the other hand can go one step ahead and change the width, padding, margin, borders of WordPress admin user interface. Admin themes can style and control the appearance of different elements like buttons, menus, links, and even typography in your WordPress admin area.

Now that we have covered the differences, lets take a look at some ready to use and free WordPress admin themes.

Note: all admin themes here are actually plugins. You will need to install them just like you would install any WordPress plugin.

1. Blue Admin

Blue Admin

Blue Admin is a simple minimalistic admin theme for WordPress. As the name suggests it uses Blue as the primary color for the WordPress admin bar. It changes the admin bar on the right to the white instead of matching the top bar color.

2. Tamed Admin Theme

Tamed Admin Theme

Tamed Admin Theme aims to simplify the WordPress admin user interface. This minimalist WordPress admin theme uses a more soothing and calmer approach for the UI colors. It looks very clean and simple while still providing a much familiar looking admin interface.

3. Slate Admin Theme

Slate Admin Theme

Slate is a clean and simple admin theme for WordPress. It uses a dark brown admin bar with blue color for links, buttons, and menus. Slate focuses on improving the content writing experience for bloggers by providing a lean admin user interface.

4. Fancy Admin UI

Fancy Admin UI is a neat WordPress admin theme with a blue top admin bar and soft gray menu bar. Users can change these primary and secondary colors from Settings » General page.

Fancy Admin UI

5. Reimagined Admin

Reimagined Admin

Reimagined Admin is a bold and dark WordPress admin theme. It gives the admin area a more fun look which could be appealing for some users. Its refreshing and strong at the same time.

6. Admin Color Schemer

Admin Color Schemer plugin

Admin Color Schemer is not exactly a WordPress admin theme. It allows you to change the WordPress admin color scheme from an easy to use interface. This means you can create an unlimited number of color combinations to use as your WordPress admin scheme.

7. White Label CMS

White Label CMS

White Label CMS is not an admin theme, but it allows you to customize and rebrand the WordPress admin area. You can remove WordPress logos and change the admin area to meet your needs. It is perfect for users who are developing sites for clients and want to offer them exactly what they asked for.

We hope this article helped you find a new WordPress admin theme for your site. You may also want to check out our tutorial on how to hide unnecessary menu items from WordPress admin area using Adminimize.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit 7 Free WordPress Admin Themes and Plugins on WPBeginner.

Totally stressed out? Sync to Paper

Messy Moleskine photo by Alexandre Dulaunoy and used under Creative Commons

One of the things I often talk about when I give presentations on Personal Productivity is that more people should Sync To Paper. I first had this idea in 2006 while working on a completely overwhelming project at my last job. I was already deeply into using OneNote, which was rather new at the time, so I was putting everything onto my laptop. I was convinced that my unorganized brain could “get organized” if I just wrote everything down in some cloud-based text file.

The problem is, at least for me, is that there isn’t a great way to see the big picture when you’ve just got pixels to look at. Life is much higher resolution than I think folks realize. I’m frankly surprised that so many of you can feel organized and productive on those 11″ laptops. What a tiny window into your life!

Anyway, when I was working on this huge project the database was extremely complex. Hundreds of tables and relationships to manage. It was far too much for anyone to keep in their heads or view on a screen. So they turned to the plotter. Remember those? The database team would print out massive posters and hang them on the wall. They’d stand together in front of them and stare and think.

You see syncing to paper a lot with user interface/user experience teams (UI/UX). We’ll wallpaper entire hallways with mockups of what the system should look like, putting them in high traffic areas so everyone can absorb them and collaborate.

When my life is overwhelming and I am at PEAK STRESS, I do a three things.

  • I get a haircut, because at least I got that handled.
  • I clean my office, so I’m not reminded of the chaos of my life by the chaos of clutter around me.
  • And I sync to paper. I get a Moleskine notebook (Here’s how to pronounce Moleskine, BTW) and I find a clear page and I write down what’s stressing me out. I sync all my devices to paper. Calendars, Todos, thoughts, life, to paper.

The physicality of it is very satisfying in a visceral way. I’ve tried to do the same on a Surface or iPad with a stylus, but it doesn’t work for me. The removal of technology and the scratch of a good quality pen on paper (I use a space pen) is very cathartic. Often I’m working on solving a technical problem so stepping away from tech is as important as the paper. It’s a forced context switch. Even more, as a kinesthetic learner I feel like the moving of my hands differently, even if I never refer to the written notes again, the process helps cement the issues.

True Story: If you watch the Microsoft BUILD Keynote (a big deal, in tech circles) you’ll see me come out for my 15 minute demo holding my Moleskine notebook. No one else does this. In fact, they tease me a little about my notebook. In fact, I’m usually given a 30 page typed script to memorize. It includes screenshots, talking points, gotchas, demo instructions, passwords, all the stuff I need for my demo. Folks work on these scripts for weeks and then deliver them to me. It’s VERY stressful for everyone. We sit together for days and go over these huge documents and I freak out and panic and then get out my Moleskine and synthesize 30 pages into one. Here’s what I took on stage with me for the BUILD 2015 keynote. Insane isn’t it? But without it I would have freaked out. Now the stage crew knows me as “the guy with the notebook.” And yes, I know my handwriting sucks and that this is an unintelligible pile. It still worked, and worked well. 😉

I have horrible handwriting

When I’m completely a mess OR I’m trying to get my head around a large problem, I’ll cover the floor with paper, or find a wall or large whiteboard and try to work it out.

We focus on touchscreen and pinch gestures a lot these days, but for me “zoom out” means literally and figuratively taking a step back from a piece of paper and trying to absorb the big picture.

Paper is the cheapest retina display you’ll ever use. Give it a try, at least until I can afford a Surface Hub for my office. 😉

Microsoft Surface Hub

Do you sync to paper? How does it work for you?

UPDATE: I was pointed to a post from Robert Greiner who promotes the same idea! Great minds think alike. I encourage you to also read his thoughts on the concept, as they are different from mine. He likes the temporary aspect of paper, and the pain of writing as ways to keep one focused.

Related Links

* Messy Moleskine photo by Alexandre Dulaunoy and used under Creative Commons


© 2015 Scott Hanselman. All rights reserved.
     
Messy Moleskine photo by Alexandre Dulaunoy and used under Creative Commons

One of the things I often talk about when I give presentations on Personal Productivity is that more people should Sync To Paper. I first had this idea in 2006 while working on a completely overwhelming project at my last job. I was already deeply into using OneNote, which was rather new at the time, so I was putting everything onto my laptop. I was convinced that my unorganized brain could "get organized" if I just wrote everything down in some cloud-based text file.

The problem is, at least for me, is that there isn't a great way to see the big picture when you've just got pixels to look at. Life is much higher resolution than I think folks realize. I'm frankly surprised that so many of you can feel organized and productive on those 11" laptops. What a tiny window into your life!

Anyway, when I was working on this huge project the database was extremely complex. Hundreds of tables and relationships to manage. It was far too much for anyone to keep in their heads or view on a screen. So they turned to the plotter. Remember those? The database team would print out massive posters and hang them on the wall. They'd stand together in front of them and stare and think.

You see syncing to paper a lot with user interface/user experience teams (UI/UX). We'll wallpaper entire hallways with mockups of what the system should look like, putting them in high traffic areas so everyone can absorb them and collaborate.

When my life is overwhelming and I am at PEAK STRESS, I do a three things.

  • I get a haircut, because at least I got that handled.
  • I clean my office, so I'm not reminded of the chaos of my life by the chaos of clutter around me.
  • And I sync to paper. I get a Moleskine notebook (Here's how to pronounce Moleskine, BTW) and I find a clear page and I write down what's stressing me out. I sync all my devices to paper. Calendars, Todos, thoughts, life, to paper.

The physicality of it is very satisfying in a visceral way. I've tried to do the same on a Surface or iPad with a stylus, but it doesn't work for me. The removal of technology and the scratch of a good quality pen on paper (I use a space pen) is very cathartic. Often I'm working on solving a technical problem so stepping away from tech is as important as the paper. It's a forced context switch. Even more, as a kinesthetic learner I feel like the moving of my hands differently, even if I never refer to the written notes again, the process helps cement the issues.

True Story: If you watch the Microsoft BUILD Keynote (a big deal, in tech circles) you'll see me come out for my 15 minute demo holding my Moleskine notebook. No one else does this. In fact, they tease me a little about my notebook. In fact, I'm usually given a 30 page typed script to memorize. It includes screenshots, talking points, gotchas, demo instructions, passwords, all the stuff I need for my demo. Folks work on these scripts for weeks and then deliver them to me. It's VERY stressful for everyone. We sit together for days and go over these huge documents and I freak out and panic and then get out my Moleskine and synthesize 30 pages into one. Here's what I took on stage with me for the BUILD 2015 keynote. Insane isn't it? But without it I would have freaked out. Now the stage crew knows me as "the guy with the notebook." And yes, I know my handwriting sucks and that this is an unintelligible pile. It still worked, and worked well. ;)

I have horrible handwriting

When I'm completely a mess OR I'm trying to get my head around a large problem, I'll cover the floor with paper, or find a wall or large whiteboard and try to work it out.

We focus on touchscreen and pinch gestures a lot these days, but for me "zoom out" means literally and figuratively taking a step back from a piece of paper and trying to absorb the big picture.

Paper is the cheapest retina display you'll ever use. Give it a try, at least until I can afford a Surface Hub for my office. ;)

Microsoft Surface Hub

Do you sync to paper? How does it work for you?

UPDATE: I was pointed to a post from Robert Greiner who promotes the same idea! Great minds think alike. I encourage you to also read his thoughts on the concept, as they are different from mine. He likes the temporary aspect of paper, and the pain of writing as ways to keep one focused.

Related Links

* Messy Moleskine photo by Alexandre Dulaunoy and used under Creative Commons



© 2015 Scott Hanselman. All rights reserved.
     

How to Add A Restaurant Reservation System in WordPress

Are you looking to build a restaurant website with WordPress? You’re not alone. Thousands of restaurant websites use WordPress restaurant themes to power their website. However most of those sites just display the menu and a simple contact form. In this article, we will show… Read More »

To leave a comment please visit How to Add A Restaurant Reservation System in WordPress on WPBeginner.

Are you looking to build a restaurant website with WordPress? You’re not alone. Thousands of restaurant websites use WordPress restaurant themes to power their website. However most of those sites just display the menu and a simple contact form. In this article, we will show you how to add a restaurant reservation system in WordPress.

Restaurant Reservation WordPress

Note: You need to install the self-hosted WordPress to use this plugin. See the differences between WordPress.com vs WordPress.org. If you’re looking for WordPress hosting, then we recommend Bluehost or Siteground.

First thing you need to do is install and activate the Restaurant Reservations plugin. Upon activation, the plugin will add a new menu item labeled ‘Bookings’ in your WordPress admin bar.

Before you start configuring the plugin, you need to create a new WordPress page to handle your bookings. Go to Pages » Add New and create a new page. You can give this page any title you want. It’s important that you leave the content area empty and click on the publish button.

Once your booking page is ready, you can head over to Bookings » Settings to configure the restaurant reservations plugin.

Setting up restaurant reservation and booking system

Restaurant Reservations settings page is divided into three different sections.

On the general tab, you need to select the booking page you just created. Next, you need to select the maximum party size your restaurant can handle. You can also add a custom success message that users will see upon successful booking.

Once you are done with the settings click on the save changes button.

Add Booking Schedule and Timings

The difference between a proper restaurant reservation system and contact form is that your contact form does not allow users to choose booking time.

With Restaurant Reservation plugin, you can schedule your working hours allowing users to make their reservations accordingly.

Simply click on the Booking Schedule tab to enter booking times, schedule and exceptions. Don’t forget to click on the save changes button when you are done.

Add restaurant booking timings and schedules

Customizing Restaurant Reservation Notifications

Restaurant Reservations comes with a built-in notification system which sends email alerts to customers and administrators about bookings.

You can customize these email notifications by visiting the plugin’s settings page and clicking on the notifications tab.

Customizing booking notifications for restaurant reservations

First you need to provide a reply-to name. Ideally, this should be your restaurant’s name. The plugin will automatically use your WordPress site’s admin email address as the reply-to address for outgoing emails. You can change it if you want to receive replies on a different email address.

If you want to receive new booking notifications, then check the box next to the admin notification. The plugin will use your default WordPress admin address, but you can change it to any other address you want.

You will see a number of template tags that you can use in the outgoing email templates. Each tag will display some information. For example, {user_name} tag will display the name of the user who placed the booking.

After that you will find default email messages that will be sent to users and customers. Feel free to customize these messages as needed. If you are having trouble sending email notifications, then you may want to check our guide on how to fix WordPress not sending email issue.

Email templates for booking notifications

Displaying Restaurant Booking Form on The Front End

The plugin will automatically display the booking form on the booking page you created earlier. You can add this page to your site’s navigation menus by visiting Appearance » Menus>.

All you need to do is select the booking page from the left hand column and click on the add to menu button. The menu will appear in the right hand column.

You can drag and drop to adjust the menu location. Click on save menu button when you are done.

Here’s what the final preview of the reservations page looks like on the Twenty Fifteen Theme:

WordPress Restaurant Reservations Preview

We hope this article helped you add a restaurant reservation system in WordPress. You may also want to check out our guide on how to add Google Maps in WordPress to display your restaurant location.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit How to Add A Restaurant Reservation System in WordPress on WPBeginner.

Publishing an ASP.NET 5 app to Docker on Linux with Visual Studio

Docker Apps are mostly portableIt’s early days, but this is a nice preview of the possibilities of things to come. I often use LEGO bricks in the way of an analogy when talking about software systems. I like the idea of choice, flexibility, and plug-ability. Choosing your language, operating system, deployment method and style, etc are all important.

There is a preview of an extension for Visual Studio 2015 (the release candidate at the time of this writing) that adds Docker support. If you have VS2015 RC you can get the Docker Extension here. You can certainly manage things from the command line, but I think as you go through this post you’ll appreciate the convenience of this extension.

NOTE: It’s also worth pointing out that there is a Windows client command line for Docker as well. You can “choco install dockerand read about it here.

The Brief What’s Docker Explanation

If you aren’t familiar with Docker, here’s the super basics.

  • Virtual Machines: You likely know what a virtual machine is. It’s the whole operating system, the whole computer, virtualized. If you have a 10 megabyte app you want to run, you may end up putting it in a 10 gigabyte virtual machine and carrying it around. That gives great security and isolation as your app is all alone on its own private VM, but it’s a little overkill. Now you want to deploy 100 apps, and you’ve got space, CPU, and other things to think about. VMs also start slow and have to be actively maintained.
  • Docker/Linux Containers (and Windows containers “Docker for Windows Server”): Containers let you share most of that 10 gigabytes of support software between lots of apps, giving you less isolation but also using a LOT fewer resources. Containers start fast and the underlying shared resources are what’s maintained and kept up to date.

Docker also is a way to package up an app and push it out in a reliable and reproducible way. So you can say that Docker is a technology, but also a philosophy and a process.

Docker will work on Windows and Linux

Docker and Visual Studio

Once you have the Docker for Visual Studio 2015 extension (preview) installed, go ahead and make an ASP.NET 5 app. Right click the project and hit Publish.

Publishing to Docker from Visual Studio

Note the Docker Containers section that’s been added? You still have PAAS (Platform as a Service) and can also publish to VMs within Azure as well. Select Docker and you’ll be here:

Selecting a Docker VM

We’ll make a new VM to host our Docker stuff. This VM will have be the host for our containers. Today it’ll be an Ubuntu LTS VM. Note that the dialog includes all the setup for Docker, ports, certs, etc. I could use existing VMs, of course.

Making a Docker VM

If you don’t have a VM, then the initial create takes a while (5-10 min or more) so hang back. If you already have one, or the one you created is ready, then march on.

Visual Studio put in all our Docker details

Make special note of the Dockerfile option. You’ll usually want to select your own manually created Dockerfile, assuming you’re doing more than just a Hello World like I am.

The ASP.NET Dockerfile is up on GitHub: https://github.com/aspnet/aspnet-docker and in the Docker registry: https://registry.hub.docker.com/u/microsoft/aspnet/

In the build window you’ll see lots of docker-related output. Here’s a snipped version for flavor.

VERBOSE: Replacing tokens in Dockerfile: C:UsersScottAppDataLocalTempPublishTempapprootsrcWebApplication6PropertiesPublishProfilesDockerfile
VERBOSE: Package output path: C:UsersScottAppDataLocalTempPublishTemp
VERBOSE: DockerHost: tcp://hanseldocker.cloudapp.net:2376
VERBOSE: DockerImageName: webapplication6
VERBOSE: DockerPublishHostPort: 80
VERBOSE: DockerPublishContainerPort: 80
VERBOSE: DockerAuthOptions: --tls
VERBOSE: DockerAppType: Web
VERBOSE: DockerBuildOnly: False
VERBOSE: DockerRemoveConflictingContainers: True
VERBOSE: LaunchSiteAfterPublish: True
VERBOSE: SiteUrlToLaunchAfterPublish:
VERBOSE: Querying for conflicting containers which has the same port mapped to the host...
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 ps -a | select-string -pattern ":80->" | foreach { Write-Output $_.ToString().split()[0] }]
VERBOSE: Building Docker image: webapplication6
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 build -t webapplication6 -f "C:UsersScottAppDataLocalTempPublishTempapprootsrcWebApplication6PropertiesPublishProfilesDockerfile" "C:UsersScottAppDataLocalTempPublishTemp"]
VERBOSE: time="2015-05-27T10:59:06-07:00" level=warning msg="SECURITY WARNING: You are building a Docker image from Windows against a Linux Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories."
VERBOSE: Sending build context to Docker daemon 28.01 MB
VERBOSE: Step 0 : FROM microsoft/aspnet:vs-1.0.0-beta4
VERBOSE: vs-1.0.0-beta4: Pulling from microsoft/aspnet
VERBOSE: e5c30fef7918: Pulling fs layer
VERBOSE: e5c30fef7918: Pull complete
VERBOSE: e5c30fef7918: Already exists
VERBOSE: Digest: sha256:27fbe2377b5d4e66c4aaf3c984ef03d22afbfee3d4e78e10ff38cac7ff162d2e
VERBOSE: Status: Downloaded newer image for microsoft/aspnet:vs-1.0.0-beta4
VERBOSE: ---> e5c30fef7918
VERBOSE: Step 1 : ADD . /app
VERBOSE: ---> cf1f788321b3
VERBOSE: Removing intermediate container dd345cdcc5d9
VERBOSE: Step 2 : WORKDIR /app/approot/src/WebApplication6
VERBOSE: ---> Running in f22027140233
VERBOSE: ---> 7eabc0da4645
VERBOSE: Removing intermediate container f22027140233
VERBOSE: Step 3 : ENTRYPOINT dnx . Kestrel --server.urls http://localhost:80
VERBOSE: ---> Running in 4810324d32a5
VERBOSE: ---> e0a7ad38eb34
VERBOSE: Removing intermediate container 4810324d32a5
VERBOSE: Successfully built e0a7ad38eb34
The Docker image "webapplication6" was created successfully.
VERBOSE: Starting Docker container: webapplication6
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 run -t -d -p 80:80 webapplication6]
Docker container started with ID: 6d4820044df200e87f08cb5becbec879d1b58fcab73145ca3aa99a424c162054
To see standard output from your application, open a command line window and execute the following command:
docker --tls -H tcp://hanseldocker.cloudapp.net:2376 logs --follow 6d4820044df200e87f08cb5becbec879d1b58fcab73145ca3aa99a424c162054
VERBOSE: received -1-byte response of content type text/html; charset=utf-8
Executing command [Start-Process -FilePath "http://hanseldocker.cloudapp.net/"]
Publish completed successfully.

The interesting parts are the calls to dnx (the .NET Execution host), the warning that I started on Windows and I’m going to Linux, as well as the fact that we’re using the “microsoft/aspnet” docker image.

ASP.NET in a Linux Docker Container

It worked great. I’m looking forward a cross-platform cross-tools choice-filled future. Finally, there’s a great 7 part video series here called “Docker for .NET Developers” that you should check out on Channel 9.


Sponsor: Big thanks to Atalasoft for sponsoring the blog and feed this week! If your company works with documents, definitely check out Atalasoft’s developer tools for web & mobile viewing, capture, and transformation. They’ve got free trials and a remarkable support team, too.


© 2015 Scott Hanselman. All rights reserved.
     

Docker Apps are mostly portableIt's early days, but this is a nice preview of the possibilities of things to come. I often use LEGO bricks in the way of an analogy when talking about software systems. I like the idea of choice, flexibility, and plug-ability. Choosing your language, operating system, deployment method and style, etc are all important.

There is a preview of an extension for Visual Studio 2015 (the release candidate at the time of this writing) that adds Docker support. If you have VS2015 RC you can get the Docker Extension here. You can certainly manage things from the command line, but I think as you go through this post you'll appreciate the convenience of this extension.

NOTE: It's also worth pointing out that there is a Windows client command line for Docker as well. You can "choco install docker" and read about it here.

The Brief What's Docker Explanation

If you aren't familiar with Docker, here's the super basics.

  • Virtual Machines: You likely know what a virtual machine is. It's the whole operating system, the whole computer, virtualized. If you have a 10 megabyte app you want to run, you may end up putting it in a 10 gigabyte virtual machine and carrying it around. That gives great security and isolation as your app is all alone on its own private VM, but it's a little overkill. Now you want to deploy 100 apps, and you've got space, CPU, and other things to think about. VMs also start slow and have to be actively maintained.
  • Docker/Linux Containers (and Windows containers "Docker for Windows Server"): Containers let you share most of that 10 gigabytes of support software between lots of apps, giving you less isolation but also using a LOT fewer resources. Containers start fast and the underlying shared resources are what's maintained and kept up to date.

Docker also is a way to package up an app and push it out in a reliable and reproducible way. So you can say that Docker is a technology, but also a philosophy and a process.

Docker will work on Windows and Linux

Docker and Visual Studio

Once you have the Docker for Visual Studio 2015 extension (preview) installed, go ahead and make an ASP.NET 5 app. Right click the project and hit Publish.

Publishing to Docker from Visual Studio

Note the Docker Containers section that's been added? You still have PAAS (Platform as a Service) and can also publish to VMs within Azure as well. Select Docker and you'll be here:

Selecting a Docker VM

We'll make a new VM to host our Docker stuff. This VM will have be the host for our containers. Today it'll be an Ubuntu LTS VM. Note that the dialog includes all the setup for Docker, ports, certs, etc. I could use existing VMs, of course.

Making a Docker VM

If you don't have a VM, then the initial create takes a while (5-10 min or more) so hang back. If you already have one, or the one you created is ready, then march on.

Visual Studio put in all our Docker details

Make special note of the Dockerfile option. You'll usually want to select your own manually created Dockerfile, assuming you're doing more than just a Hello World like I am.

The ASP.NET Dockerfile is up on GitHub: https://github.com/aspnet/aspnet-docker and in the Docker registry: https://registry.hub.docker.com/u/microsoft/aspnet/

In the build window you'll see lots of docker-related output. Here's a snipped version for flavor.

VERBOSE: Replacing tokens in Dockerfile: C:UsersScottAppDataLocalTempPublishTempapprootsrcWebApplication6PropertiesPublishProfilesDockerfile

VERBOSE: Package output path: C:UsersScottAppDataLocalTempPublishTemp
VERBOSE: DockerHost: tcp://hanseldocker.cloudapp.net:2376
VERBOSE: DockerImageName: webapplication6
VERBOSE: DockerPublishHostPort: 80
VERBOSE: DockerPublishContainerPort: 80
VERBOSE: DockerAuthOptions: --tls
VERBOSE: DockerAppType: Web
VERBOSE: DockerBuildOnly: False
VERBOSE: DockerRemoveConflictingContainers: True
VERBOSE: LaunchSiteAfterPublish: True
VERBOSE: SiteUrlToLaunchAfterPublish:
VERBOSE: Querying for conflicting containers which has the same port mapped to the host...
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 ps -a | select-string -pattern ":80->" | foreach { Write-Output $_.ToString().split()[0] }]
VERBOSE: Building Docker image: webapplication6
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 build -t webapplication6 -f "C:UsersScottAppDataLocalTempPublishTempapprootsrcWebApplication6PropertiesPublishProfilesDockerfile" "C:UsersScottAppDataLocalTempPublishTemp"]
VERBOSE: time="2015-05-27T10:59:06-07:00" level=warning msg="SECURITY WARNING: You are building a Docker image from Windows against a Linux Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories."
VERBOSE: Sending build context to Docker daemon 28.01 MB
VERBOSE: Step 0 : FROM microsoft/aspnet:vs-1.0.0-beta4
VERBOSE: vs-1.0.0-beta4: Pulling from microsoft/aspnet
VERBOSE: e5c30fef7918: Pulling fs layer
VERBOSE: e5c30fef7918: Pull complete
VERBOSE: e5c30fef7918: Already exists
VERBOSE: Digest: sha256:27fbe2377b5d4e66c4aaf3c984ef03d22afbfee3d4e78e10ff38cac7ff162d2e
VERBOSE: Status: Downloaded newer image for microsoft/aspnet:vs-1.0.0-beta4
VERBOSE: ---> e5c30fef7918
VERBOSE: Step 1 : ADD . /app
VERBOSE: ---> cf1f788321b3
VERBOSE: Removing intermediate container dd345cdcc5d9
VERBOSE: Step 2 : WORKDIR /app/approot/src/WebApplication6
VERBOSE: ---> Running in f22027140233
VERBOSE: ---> 7eabc0da4645
VERBOSE: Removing intermediate container f22027140233
VERBOSE: Step 3 : ENTRYPOINT dnx . Kestrel --server.urls http://localhost:80
VERBOSE: ---> Running in 4810324d32a5
VERBOSE: ---> e0a7ad38eb34
VERBOSE: Removing intermediate container 4810324d32a5
VERBOSE: Successfully built e0a7ad38eb34
The Docker image "webapplication6" was created successfully.
VERBOSE: Starting Docker container: webapplication6
Executing command [docker --tls -H tcp://hanseldocker.cloudapp.net:2376 run -t -d -p 80:80 webapplication6]
Docker container started with ID: 6d4820044df200e87f08cb5becbec879d1b58fcab73145ca3aa99a424c162054
To see standard output from your application, open a command line window and execute the following command:
docker --tls -H tcp://hanseldocker.cloudapp.net:2376 logs --follow 6d4820044df200e87f08cb5becbec879d1b58fcab73145ca3aa99a424c162054
VERBOSE: received -1-byte response of content type text/html; charset=utf-8
Executing command [Start-Process -FilePath "http://hanseldocker.cloudapp.net/"]
Publish completed successfully.

The interesting parts are the calls to dnx (the .NET Execution host), the warning that I started on Windows and I'm going to Linux, as well as the fact that we're using the "microsoft/aspnet" docker image.

ASP.NET in a Linux Docker Container

It worked great. I'm looking forward a cross-platform cross-tools choice-filled future. Finally, there's a great 7 part video series here called "Docker for .NET Developers" that you should check out on Channel 9.


Sponsor: Big thanks to Atalasoft for sponsoring the blog and feed this week! If your company works with documents, definitely check out Atalasoft's developer tools for web & mobile viewing, capture, and transformation. They've got free trials and a remarkable support team, too.


© 2015 Scott Hanselman. All rights reserved.
     

How to Create a Duplicate Menu in WordPress with One Click

WordPress comes with a built-in system to add navigation menus to your website. Even though it is very effecient, it doesn’t allow you to create a duplicate menu. If you wanted to create a similar menu quickly, then you will have to manually replicate it.… Read More »

To leave a comment please visit How to Create a Duplicate Menu in WordPress with One Click on WPBeginner.

WordPress comes with a built-in system to add navigation menus to your website. Even though it is very effecient, it doesn’t allow you to create a duplicate menu. If you wanted to create a similar menu quickly, then you will have to manually replicate it. In this article, we will show how to create a duplicate menu in WordPress with just one click.

Duplicate WordPress Menu

Why and When You Need a Duplicate Menu?

When you are trying a new theme, and your old theme had a perfectly configured menu, you have two options.

Change the original menu or quickly create a duplicate menu and make your changes there.

Duplicate menus can also be useful if you want to use conditional tags to show different menus to different users. For example showing a different menu to logged in users in WordPress.

Quickly Add Duplicate Menus in WordPress

First thing you need to do is install and activate the Duplicate Menu plugin. Upon activation, simply go to Appearance » Duplicate Menu to quickly duplicate a menu in WordPress.

Creating a duplicate menu in WordPress

You need to select the menu you want to copy, and then provide a name for the new copy. Click on Duplicate Menu button and you are done.

Now you can visit Appearance » Menus, and you can select your duplicate menu from the drop down menus.

Select menu

We hope this article helped you add a duplicate menu in WordPress with just one click. You may also want to checkout our guide on how to style WordPress navigation menus.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit How to Create a Duplicate Menu in WordPress with One Click on WPBeginner.

21 Best Free WordPress Business Themes

Looking for the best free WordPress business theme for your website? There are tons of great WordPress themes available for all industries. In this article, we have hand-picked some of the best free wordPress business themes for you to choose from. All these themes are… Read More »

To leave a comment please visit 21 Best Free WordPress Business Themes on WPBeginner.

Looking for the best free WordPress business theme for your website? There are tons of great WordPress themes available for all industries. In this article, we have hand-picked some of the best free wordPress business themes for you to choose from. All these themes are fully responsive and mobile-friendly.

1. Hueman

Hueman

Hueman is a multi-purpose free WordPress business theme. It is highly customizable and comes with easy to use options panel. It has multiple layout choices, you can choose single, two, or three column layouts. It has two navigation menu locations and social media menu built right into theme.

2. Dazzling

Dazzling

Dazzling is a simple business theme for WordPress. It comes with a featured slider, call to action buttons, flexible widgets, and unlimited color choices. Apart from that, Dazzling is also WooCommerce ready, so if you want to add an online store to your business theme you can do that without losing consistency between your main site and the store.

3. Zerif Lite

Zerif Lite - Free WordPress Business Theme

Built on powerful Bootstrap framework, Zerif Lite is an awesome WordPress business theme. It comes with parallax support, allowing you to add full screen background images. You can add call to action buttons, portfolio, and create a beautiful business website.

4. Customizr

Customizr

Customizr is one of the most popular and highly customizable WordPress business theme. It is fully responsive and mobile friendly. It comes with a featured slider, multiple page templates, layout choices, and colors.

5. Make

Make - Business Theme for WordPress Free

Make is an awesome drag and drop page builder tool that allows you to build your own business theme. It comes with multiple layout choices and it is fully responsive.

6. Vantage

Vantage

Vantage is a fully responsive free WordPress business theme that can be used for almost any kind of website. It is highly customizable by using the Page Builder plugin which adds drag and drop site design feature for the theme.

7. Colorway

Colorway

Colorway is a simple WordPress business theme with easy to use customization options. It comes custom background, multiple layouts, analytics support, and you can also add dummy content to setup the theme just like the demo.

8. Enigma

Enigma

Enigma is a responsive business theme for WordPress based on Bootstrap. It comes with featured slider on the homepage. It is fully mobile-friendly and comes with many options which allow you to set up for your design needs.

9. Pinnacle

Pinnacle

A bold WordPress business theme, Pinnacle features a flat design with fully responsive layout. It is loaded with features which allow you to customize the site into a unique design. Pinnacle also supports WooCommerce allowing you to extend your business site into an eCommerce store.

10. SinglePage

SinglePage

As the name suggests, SinglePage is a landing-page theme built on Bootstrap CSS. The homepage has four pre-designed sections which you can setup to your own requirements. Each section has full screen parallax background support. It is easy to set up and can be used for small business sites or as product site.

11. Start Point

Start Point

Start Point is another single-page theme for small business websites. It comes with several built-in features which allow you to quickly and easily setup your business homepage. It is also highly customizable allowing you to add your own logo, photos, and content while setting up the theme.

12. Enlightenment

Enlightenment

Based on the Enlightenment Theme Framework, this multi-purpose WordPress business theme is loaded with features. It is fully responsive and comes with unlimited choice of layouts and colors.

13. Spacious

Spacious

Spacious is a feature rich WordPress responsive business theme. It comes with a homepage slider, 5 custom widgets suitable for business websites, and 2 page layouts. You can choose between a lighter or darker color schemes. It is fully responsive and looks nice on devices and screen sizes.

14. Onetone

Onetone

If you like darker color schemes then Onetone is perfect for you. It is a single page fully responsive WordPress business theme. It features custom backgrounds, parallax support, multiple sections and a comprehensive theme options panel.

15. Moesia

Moesia

Moesia is a responsive WordPress business theme with full parallax support. It is mobile responsive and comes with 11 pre-defined blocks that you can use to build your homepage. Each block can have its own parallax background which creates beautiful experience for your users.

16. Zerius

Zerius

Zerius is the child theme of Zerif Lite (mentioned earlier in this list) so it inherits all its features. It is a mobile responsive multi-purpose WordPress theme ideal for a business website.

17. Engrave Lite

Engrave

An ideal WordPress theme for business sites, Engrave features a full-width layout with a large slider on the homepage. It comes with theme options panel loaded with features.

18. Full Frame

Full Frame

As the name suggests, Full Frame is a full-width responsive WordPress theme for business sites. It comes with a built-in featured content slider, call to action button, custom widgets, and multiple page layouts.

19. Adamos

Adamos

Adamos is a full-width responsive business theme for WordPress. It comes with a featured slider, featured content area, custom background, custom header, and multiple page layouts.

20. Minamaze

Minamaze

Minamaze features a custom theme options panel allowing you to set up your theme easily. It is fully responsive and comes with an easy to customize homepage template. It also comes with a full-width slider and custom logo upload.

21. Sydney

Sydney

Sydney is a featured pack WordPress business theme. It comes with full width slider, custom logo, unlimited color options, and access to all Google fonts.

We hope this article helped you find the best free WordPress business theme for your website. You may also want to take a look at our guide on 10 best affiliate marketing tools and plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit 21 Best Free WordPress Business Themes on WPBeginner.

How to Cloak Affiliate Links on Your WordPress Site

Do you want to cloak affiliate links on your WordPress site? Not sure what does link cloaking means? In this article, we will explain what is link cloaking, and how you can cloak affiliate links in WordPress. What is Link Cloaking and When do you… Read More »

To leave a comment please visit How to Cloak Affiliate Links on Your WordPress Site on WPBeginner.

Do you want to cloak affiliate links on your WordPress site? Not sure what does link cloaking means? In this article, we will explain what is link cloaking, and how you can cloak affiliate links in WordPress.

Link Cloaking

What is Link Cloaking and When do you need it?

Link cloaking is a technique used to make long affiliate links into a shorter and more branded link.

Often affiliate links are lengthy, hard to remember, and show your affiliate username or ID like this:

http://www.affiliatesite.com/products/?product_id=123&affiliate=123

Link cloaking allows you to shorten these lengthy ugly link into branded URLs like these:

http://www.yoursite.com/refer/productname

You can use anything as base URL. We use refer in our cloaked links on WPBeginner. Some other popular URL bases are out, go, recommends, etc.

If you are someone who uses affiliate links in your blogs to make money, then you should to cloak links. Many site owners cloak links to properly manage their affiliate links.

Link cloaking allows you to create easy to understand URLs for your outgoing affiliate links. It can also help you add an additional layer of click tracking to ensure you are getting paid for every sale you refer.

You can also protect your affiliate links from getting hijacked by using link cloaking. Lastly, cloaked links allow you to easily manage your affiliate links from your WordPress admin interface.

How to Cloak Affiliate Links in WordPress

Since affiliate marketing is an important source of income for many bloggers, there are many WordPress plugins available that allows you to cloak your affiliate links and easily manage them.

We have hand-picked some of the best WordPress link cloaking plugins for you.

You can use any one of these plugins to easily add your affiliate links into WordPress and cloak them to get maximum benefits.

1. ThirstyAffiliates

ThirstyAffiliates is one of the best affiliate link manager and link cloaking plugin for WordPress. It allows you to easily add your affiliate links in WordPress and manage them from one single dashboard.

You can insert your affiliate links in any WordPress posts or pages from the buttons on the post editor screen.

Another great feature is that you can automatically replace selected keywords with affiliate links. Aside from that you can choose the base URL, automatically nofollow links, A/B test your offers, geo-target your offers, get stats, and so much more.

We use ThirstyAffiliates on WPBeginner. See our guide on how to add affiliate links in WordPress using ThirstyAffiliates.

2. Pretty Link Lite

Pretty Link Lite

Pretty Link Lite is another WordPress link cloaking plugin. It allows you to easily manage your affiliate links. You can auto add nofollow tag to affiliate links, shorten links, and redirect them properly.

Pretty Link Lite also provides analytics with an easier way to purge older hits from your database. This ensures that these hit logs don’t take too much space on your database and backup files.

3. Easy Affiliate Links

Easy Affiliate Links settings

Easy Affiliate Links is an easy to use link cloaking plugin for affiliate marketers. It allows you to cloak links, add and manage all your affiliate links from a single dashboard.

Basically it has all the features that you would want from a link management plugin with a nicer and easier interface.

4. WP Wizard Cloak

WP Wizard Cloak

WP Wizard Cloak is another WordPress affiliate link management plugin. It comes with all the whistles and bells you would need from an affiliate link management tool.

It provides URL shortening and link cloaking with easy to use tools to add and manage your affiliate links in WordPress.

5. Links Auto Replacer

Link Auto Replacer

Links Auto Replacer is a bit different than most other plugins in the list. As the name suggests, its main use is to automatically add links for certain keywords. You can manage your links and add new links just like any other link management plugin.

6. WooCommerce Cloak Affiliate Links

WooCommerce Cloak Affiliate Links

As the name suggests, WooCommerce Cloak Affiliate Links plugin is for eCommerce sites built on WooCommerce platform.

This plugin cloaks all external links on a WooCommerce site automatically. You can choose a URL slug by visiting Settings » Permalinks page. You can also change the redirect type. But that’s about it, this plugin is not a link manager so you cannot use it to add or manage your affiliate links.

7. Affiliate Link Manager

Affiliate link manager

Affiliate Link Manager plugin takes a different approach for link cloaking. It does not add a URL base like most other plugins in the list. Instead it allows you to use a keyword as the URL slug for the cloaked link. In terms of features it is very limited, but it does the job. It also offers some basic stats for your cloaked link views.

We hope this article helped you learn how to cloak links on your WordPress site. You may also want to check out our list of the 10 best affiliate marketing tools and plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit How to Cloak Affiliate Links on Your WordPress Site on WPBeginner.

How to Import and Export Custom Post Types in WordPress

It is extremely easy to move your WordPress site using a backup plugin. But what if you only wanted to move a custom post type? In this article, we will show you how to import and export custom post types in WordPress. We will also… Read More »

To leave a comment please visit How to Import and Export Custom Post Types in WordPress on WPBeginner.

It is extremely easy to move your WordPress site using a backup plugin. But what if you only wanted to move a custom post type? In this article, we will show you how to import and export custom post types in WordPress. We will also show you how to import any custom taxonomies associated with your post types.

There are two steps involved in exporting and importing a custom post type in WordPress. First step involves migrating the actual custom post type and taxonomies. The second step is to import the post type data.

Often custom post types in WordPress are associated with their own custom taxonomies. We will show you how to export/import your custom taxonomies along with your post type.

Migrate Custom Post Types

Exporting Custom Post Types and Taxonomies in WordPress

Some users prefer to create their custom post types and taxonomies by adding code in their theme’s functions.php file or a site-specific plugin. In that case, all you need to do is copy that code and paste it on the site where you want to import them.

However, in some cases you may not be able to locate the code. Don’t worry you can still create the same custom post type on the new site.

All you need to know is the post key value. This is the name used for the post type in your WordPress database. You can find it by simply visiting the post type in your WordPress admin area.

Getting the post type key

Once you have the post key, visit the site where you want to import the post type and use Custom Post Types UI plugin to create your custom post type.

Creating post type in CPT UI

You can also get custom taxonomy key by simply viewing the custom taxonomy in the admin area.

Getting taxonomy key in WordPress

Use CPT UI plugin to create the same taxonomy on the target site where you want to import the taxonomy.

Create Taxonomy in CPT UI plugin

Repeat the process for all custom post types and taxonomies that you want to import.

Bonus Tip: If you used the CPT UI plugin to create your post type, then you can also use it to migrate them. But this only works if the original custom post type was created using this plugin. Visit the Import / Export section in the plugin settings and follow onscreen instructions.

Custom Post Types & Taxonomies Created by Plugins

Many popular WordPress plugins use custom post types and taxonomies to handle custom content types. For example, Soliloquy uses them to create sliders, eCommere plugins use them to create products, etc.

If you want to keep using those plugins, then you don’t need to import CPTs. Simply install the plugin on the target site, and you will have the custom post types and taxonomies ready on your site.

Many such plugins come with their own import/export features but if a plugin does not have that feature you can still export the data.

Exporting / Importing Custom Post Type and Taxonomies Data in WordPress

WordPress comes with a powerful import/export tool which allows you to export and import WordPress data. Simply go to Tools » Export.

Exporting custom post type in an XML file using WordPress built in export tool

You will see all your post types listed there. Select the post types you want to export and press the Download Export File button.

WordPress will now prepare an XML export file and your browser will start downloading it.

Now switch to your target site where you want to import this data. Go to Tools » Import. You will see a number of options, click on WordPress.

WordPress import tool

This will bring up a popup asking you to install WordPress importer plugin. Click on the install button and then click on Activate Plugin & Run importer link.

Installing WordPress importer plugin

On the importer screen, you need to click on the choose file button and then select the XML file you downloaded earlier. Next, click on the upload file and export button.

Importing WordPress using XML export file

WordPress will now import your custom post type data. All the custom post types you selected earlier will be imported. WordPress will also automatically add terms to the custom taxonomies.

That’s all, we hope this article helped you import and export custom post types and taxonomies in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit How to Import and Export Custom Post Types in WordPress on WPBeginner.

14 Best Featured Image Plugins and Tutorials for WordPress

Featured images play an important role in most modern WordPress themes. While you can find beautiful royalty free images to use on your WordPress site as featured images, there is a lot more you can do with featured images. In this article, we will show… Read More »

To leave a comment please visit 14 Best Featured Image Plugins and Tutorials for WordPress on WPBeginner.

Featured images play an important role in most modern WordPress themes. While you can find beautiful royalty free images to use on your WordPress site as featured images, there is a lot more you can do with featured images. In this article, we will show you some of the best featured image plugins and tools for WordPress.

1. Soliloquy

Soliloquy featured content slider

Soliloquy is the best WordPress slider plugin on the market. It comes with a featured content add-on that allows you to easily add featured content slider to any WordPress theme.

It automatically gets the featured image from your article and uses it as the slide with your post’s title and excerpt. See our tutorial on how to add featured content slider in WordPress for step by step instructions.

2. Quick Featured Images

Bulk edit featured images in WordPress

Quick Featured Images is a powerful WordPress plugin that lets you perform bulk editing actions on your featured images. You can replace, remove, or add featured images with bulk actions.

You can also set a default image to be used as featured image or instruct the plugin to automatically use the first image in a post as the featured image. Take a look at our tutorial on how to bulk edit featured images in WordPress for more detailed instructions.

3. Multiple Post Thumbnails

Multiple Featured Images

As the name suggests, this plugin allows you to add multiple featured images or post thumbnails in your WordPress posts. You will need to edit your theme files to display the secondary featured image.

See this tutorial on how to add multiple post thumbnails in WordPress for step by step instructions.

4. Require Featured Image

Require Featured Image

Many WordPress themes are designed in a way that your posts look strange without a featured image. Sometimes you or other authors on your site may forget to add featured image for a post.

This plugin simply stops authors on your site from publishing a post without a featured image. Take a look at how to require featured images for posts in WordPress for more instructions.

5. Featured Image Column

Featured image column

By default, WordPress does not tell you whether a post has featured image or not until you open the post in the post editor. This plugin simply adds a featured image column on your WordPress posts page.

It makes it easy for you to quickly see featured images set for posts. The plugin works for all post types, and you can exclude post types where you don’t want to display a featured image column. See our tutorial on how to add a featured image column in WordPress for details.

6. Default Featured Image

Default Featured Image

It is possible to display a default featured image in WordPress by adding code into your WordPress theme. However, many beginners don’t want to edit their theme. Default Featured Image plugin provides an easy way to do that.

Simply add a default featured image from WordPress media library. To learn more, take a look at our tutorial on how to set a default featured image in WordPress using a plugin.

7. Easy Add Thumbnail

Setting up featured images for old posts that do not have a featured image can be tricky. Easy Add Thumbnail plugin solves this problem by automatically setting up the first image in a post as featured image. Even if you or other authors on your site forget to set a featured image, this plugin will automatically set one for you.

For older posts, it sets a featured image when the post is viewed on the front-end. See our tutorial on how to add post attachment as featured image in WordPress.

8. Video Thumbnails

Video Thumbnails

If you are creating a video site with WordPress, then you may want to show video thumbnails as featured images for your posts. Video Thumbnails plugin automatically checks your posts for a YouTube, Vimeo, or DailyMotion video and then automatically sets video thumbnail as the featured image for the post.

See our guide on how to add thumbnails for YouTube videos in WordPress.

9. Featured Video Plus

Featured Video Plus

If you run a site where your main content is in video format, then you might want to set featured videos instead of featured images. Featured Videos Plugin allows you to easily add YouTube, Vimeo, or DailyMotion videos as featured videos.

The plugin will display your featured video in your WordPress theme where it displays featured images. See our tutorial on how to add featured video thumbnails in WordPress for more details.

10. Post Thumbnail Editor

Post Thumbnail Editor

Many WordPress themes automatically crop an image from the middle which ruins your featured image. Post Thumbnail Editor plugin allows you to edit featured images and crop them inside WordPress.

You can then use your cropped image as the featured image. See our tutorial on how to crop and edit WordPress post thumbnails for detailed instructions.

10. Default Fallback Featured Image in WordPress

An easier way to display a placeholder image for posts that do not have a featured image is by adding a default fallback featured image. Beginners can use the Default Featured Image plugin. But if you want to do it without installing a plugin, then here is what you need to do.

Simply upload your default image to your theme’s images folder and rename it to default-image.jpg. Now you will need to edit your theme files and in templates where it displays post thumbnail you will need to replace it with this code.

<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
} else { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" />
<?php } ?>

For a more detailed explanation check out our tutorial on how to set a default fallback image for WordPress post thumbnail.

11. Fallback Featured Image by Category

Fallback featured image based on category

One problem with setting up a single image as the default fallback featured image is that one image does not fit all posts. However, if you set a fallback featured image based on post’s category, then it can solve that problem.

First you would need to create your category images. Then upload all category images to WordPress using the default media uploader. This will allow WordPress to prepare image sizes used by your theme. Now you need to download all category images and their sizes to your computer.

Create a new folder and name it category-images. Upload this folder to /wp-content/uploads/ directory on your website using FTP. Finally, you need to add this code in your theme files where post thumbnails are displayed.

<?php if ( has_post_thumbnail() ) : ?>

<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
</div>

<?php else : 
$category = get_the_category(); 
?>
<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('url'); ?>/wp-content/uploads/category-images/<?php echo $category[0]->category_nicename ; ?>-150x150.jpg" alt="<?php the_title(); ?>" /></a>
</div>

<?php endif; ?>

For more detailed explanation, take a look at our tutorial on how to set fallback featured image based on category in WordPress.

12. Post Thumbnails in WordPress RSS Feeds

By default, WordPress does not display featured images or post thumbnails in RSS feeds. However, this can be easily resolved by adding this simple code snippet in your theme’s functions.php file or a site-specific plugin.

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Troubleshooting Featured Images and Post Thumbnail Issues in WordPress

Post thumbnails and featured images are handled by WordPress media library. Many issues related to the display of featured images in WordPress can be solved by solutions described in our troubleshooting guide on how to fix common image issues in WordPress. However, there are some specific issues that you may come across.

13. Regenerate Thumbnails

When you upload an image, WordPress automatically stores several copies of the same image in different sizes. Some of these sizes are defined by your theme and used as post thumbnail or featured image.

However, if you change your WordPress theme and the new theme uses a different size, then your older posts will show the wrong post thumbnail size.

Regenerate Thumbnails resolves this issue by generating new image sizes in WordPress. For detailed instructions take a look at our tutorial on how to regenerate thumbnails and create new image sizes in WordPress.

14. Fix Facebook Incorrect Thumbnail Issue in WordPress

Facebook incorrect thumbnail issue

One of the most common issues with featured images in WordPress is that sometimes Facebook does not pick up the right image when a post is shared. To resolve this issue, you can use Yoast’s WordPress SEO plugin’s social feature to explicitly tell Facebook which image to use as post thumbnail.

See our tutorial on how to fix Facebook incorrect thumbnail issue in WordPress.

We hope this article helped you find the best WordPress featured image plugins and tutorials. You may also want to take a look at our list of 10 most wanted category hacks and plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

To leave a comment please visit 14 Best Featured Image Plugins and Tutorials for WordPress on WPBeginner.