Join Joseph Lowery for an in-depth discussion in this video Restricting access to specific WordPress pages, part of Dreamweaver and WordPress: Core Concepts.
While WordPress is great for communicating across the Internet, all pages within your site don't have to be accessible to everyone. With the help of a plug-in, you can determine who sees what Pages, Posts, and even what Content within a Post. I'm going to go in and install a new plug-in by switching to the Plugins category and choosing Add New, and we're going to search for a plug-in called restrict content. Then one I'm looking for is right up the top of the page, and it's by a gentleman named Pippin Williamson.
As you can see, he also has a number of other versions that have specific purposes as well as a Pro version of the general Restrict Content plug-in. But this one is free, and we can take a look at the Details if you like. I always recommend that you check out the details before you install a plug-in, because it will have ratings as well as specific information of when it was updated and whether there have been any problems encountered with compatibility of most recent WordPress versions, so this was very recently updated, just 6 days ago. We're ready to go ahead and click Install Now.
Once it's installed, I can activate the plug-in. If you're interested more details about this particular plug-in, I recommend you go to his website, pippinsplug-ins.com, where you can find information about a variety of free plug-ins, as well as his commercial ones. To show you how this plug-in works, let's add a new post. I'm going to call this Private Showing and add just a little bit of content. Of course, you could put in more details later, but the point is that we have a new post here, and if I scroll down--I'll click Exhibits just so it shows up there--you'll see a new widget category called Restrict this content, and that was added by the plug-in.
Here we can set the User Level, which right now it's set to None which means everybody can see it, but if I expand the list, here you see my standard WordPress user roles, and let's say that I want to restrict it to just Administrators, and I also want to hide it from the RSS feed which is a good point, because you don't want to broadcast this generally to everyone. So now I'll scroll up a little bit, click Publish, and I can view the post, which I do of course see because I'm logged in as the Administrator.
So I'm just going to copy this link very quickly, head back to the Dashboard, now I'm going to Log Out. Now once I've logged out, let me put that link back in and go back to that same page and here you'll see the title of the post but no content. Okay, that's pretty good, it gives us a simple way of restricting the content of a post, but we can actually do a little bit better here. So I'm going to go back, actually log back in, and let's go to our Posts and do an Edit.
Now I'm going to add a second line, "Please join us for a private reception at 8pm." Now to make sure that only certain people see this, I'm going to enter in the short code that's part of this plug-in. Short codes are maintained within a square bracket, so I'm going to put my opening short code in front. So it's a square bracket and then keyword restrict, and I also want to set a User Level, so I'm going to enter in userlevel, all one word = and then whatever role that I want to restrict it to, then we want to add in the name of the user level, in this case administrator is actually shortened to admin, so I'll type that in and enter it in another quote.
And then we want to put in the closing restrict also in square brackets and like HTML tags it uses a forward slash to indicate that it's the end of the tag, and then the keyword restrict, okay. So let's click Update and check out our post, I'll click refresh to bring everything in, and here you see both lines of the Private Showing post. Now let me go ahead and Log Out, and then I'll hit the back button and refresh one more time, and now because I'm not a logged in Administrator, I don't see that bit of content.
But I found that this is a pretty effective way of handling access to your various web pages and their particular content, and it really adds to the flexibility of your WordPress site.
- Using the Dynamically-Related Files feature in Dreamweaver to design WordPress pages
- Applying WordPress themes
- Customizing themes
- Adding Spry widgets
- Adding WordPress dynamic data
- Populating the WordPress database
- Publishing a WordPress site
Skill Level Intermediate
Q: While trying to set up a Dreamweaver site, an error occurs that says Dreamweaver cannot resolve the dynamic files because the site definition is incorrect. What is causing this? This is using WAMP on a Windows 7 computer.
A: When setting up the site in Dreamweaver and creating a local testing server, make sure to point it to the folder in c:/wamp/www/ that is being used for the site. If using the same naming convention as shown in the videos, the server folder should be pointing to C:\wamp\www\explore_ca\ and the Web URL field should read http://localhost/explore_ca/, like the picture here:
Q: How do I set the password for WAMP Server 2?
A: The WAMP server does not include a password for MySQL when first installed. You’ll need to add a password by modifying a configuration text file and set up a password in the MySQL server.
Setting a password on the MySQL server:
- From the Start menu, enter CMD to open the command line interface.
- Switch to the bin directory of your MySQL folder, installed by WAMP. For version 5.1.36 of MySQL, for example, enter cd c:\wamp\bin\mysql\mysql5.1.36\bin
Navigate within the WAMP folder installed on your system to find the proper path.
- Enter the following: mysql -u root
- The command line for MySQL will open with a mysql prompt like this: mysql>
- Enter the following:
SET PASSWORD for 'root'@'localhost' = PASSWORD('yourPassword');
- replace 'yourPassword' with the password you want to use.
- Close the CMD window.
After you change the MySQL password you will have to edit the config.inc.php file. Here's how:
- In Windows Explorer, navigate to C:\wamp\apps\phpmyadmin188.8.131.52 (version number may vary).
- Open the file config.inc.php in Dreamweaver or another text editor.
- Locate the following line:
$cfg['Servers'][$i]['password'] = '';
- Enter your password between the quotes; make sure the password is the same as the one you set in the MySQL server.
- Save the file.
- From the system tray icon for WAMP, choose Restart All Services.
- To test, choose phpMyAdmin from the WAMP system tray icon.
Q: After creating a template following the instructions in the Chapter 5 video “Creating a page template in Dreamweaver,” I am unable to select the template. In the video, the instructor’s page shows a heading of Template, with a dropdown menu, but my version shows only a dropdown labeled “Attributes,” and the newly created template does not appear. What is causing this issue?
A: This seems to be a bug in WordPress that occurs occasionally. Although a cause has yet to be determined, a possible workaround to get the Template option to appear is switch themes. Switching to the default theme and then back again to Explore_California should reveal the Template option.
Q: While following along with the instructions in the "Setting up a MySQL password for Windows," I encountered this error: MySQL said: "#1045 – Access denied for user ‘root’@’localhost’ (using password: NO)" What is causing this error?
A: This error occurs when trying to enter the MySQL monitor with a password for a user who has not set a password yet. In that case, removing the “-u root” part should resolve the problem.
Q: While following along to the chapter 2 movie "Using dynamically related files," I get an error message that reads: "Dynamically-related files could not be resolved because the site definition is not correct for this server." What is causing this error?
A: This is a known issue with Dreamweaver, and relates to the permalink settings in the WordPress installation. If the permalink setting is set to something other than the default, like “Month & Name,” for example, Dreamweaver is unable to resolve the dynamic files, and the described error will occur. Changing the permalink setting back to Default will clear the error.
Q: I am bit confused as to my need to use MAMP with a WordPress site in Dreamweaver. If I am going to use a separate commercial hosting site as my server, do I still need to use MAMP in my WordPress site?
A: MAMP is installed to provide an easy-to-use development server capable of handling MySQL and PHP on your local computer. It's also possible to set up MySQL and PHP servers separately, but it requires many more steps and is not as "user-friendly" as the described process. Your hosting server will have MySQL/PHP enabled on their servers for the remote live setup, but that doesn't have anything to do with developing and testing pages on your own computer.
Q: I can't find the file named commevents.php in the exercise files. I need it to set up an online database in the last chapter.
A: This is a file you create yourself when you first connect to a database. Refer to the "Adding WordPress dynamic data to pages" video in Chapter 7. commevents.php should appear in the Connections folder once you establish a connection.
Q: In "Setting up a MySQL password for Windows", I'm getting the error "#1045 - Access denied for user 'root'@'localhost'" when testing the phpMyAdmin.
If I try and re-do the steps, I get the following error "ERROR 1044 (42000): Access denied for user ''@'localhost' to database mysql'" when I try to change the password.
A: This seems to be happening because of the combination of Windows 7 and a
new version of WampServer 2.1. Here's another approach that should work
for the new combination.
Follow these steps instead of the ones using the CMD prompt. (As a bonus, they're much easier!)
- Left-click on the WampServer icon tray.
- Choose phpMyAdmin.
- When the phpMyAdmin page opens in your browser, click the Privileges tab found after the Engines tab.
- Locate the line in the User table with "root - localhost - No..." (probably the last one).
- Click the Edit icon (the final item in the row).
- Scroll down to the Change Password section.
- Select Password and enter your password twice. (If you're following the exercises, enter root).
- Click Go in the lower-right corner.
Q: I want to setup the practice files and site on my localhost, as described; however, I already have my current WordPress site (under development) running on my localhost. How do I run two WordPress sites on my localhost?
A: You can easily do it by setting up another site in Dreamweaver. Just copy the WordPress files to that folder as described and establish a new database via phpMyAdmin. You can set up as many WordPress sites as you need to. The author has upwards of 80 on his system, all for different clients.
Q: This course was updated on 10/23/2012. What changed?
A: The course was thoroughly revised and uses the most current versions of both programs. We added chapters on responsive design and creating a custom administration panel in WordPress, new movies about concepts and taxonomies, and extended the Spry chapter to include jQuery, among other changes. New movies are indicated by the NEW tag next to the movie name.