Developing category-driven pages
Video: Developing category-driven pagesIn separate previous lessons, we covered WordPress Pages and WordPress Categories. In this lesson, I will show you how much more you can do with them when you combine their power. Let's get started. So the first step is to create an index page for a specific category. The easiest way to handle that chore is to duplicate the index.php page that's found in our Roux theme folder, and I can easily do that in Dreamweaver's File panel. Let me expand it so we can see what's going on here, and we are in the blog folder, I am going to expand wp-content and then drill down into themes, and once more I have roux already open.
- Working with web fonts
- Styling a header
- Adding header functions
- Setting up content columns
- Changing the main content
- Managing the content code
- Customizing the sidebar
- Styling search
- Working with search text
- Integrating the footer
- Next steps
Viewers: in countries Watching now:
In this course, author Joseph Lowery shows how to combine the utility of WordPress and the power of Adobe Dreamweaver to transition existing websites to the WordPress platform. The course demonstrates how to create new blog posts and pages, customize WordPress themes, and extend WordPress editable pages from within Dreamweaver. It also covers how to add Spry elements, add and customize plugins, and enhance WordPress-stored content with Dreamweaver's dynamic pages. Plus, a chapter on responsive design shows how you can adapt your layouts for tablets and mobile devices.
- 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
Developing category-driven pages
In separate previous lessons, we covered WordPress Pages and WordPress Categories. In this lesson, I will show you how much more you can do with them when you combine their power. Let's get started. So the first step is to create an index page for a specific category. The easiest way to handle that chore is to duplicate the index.php page that's found in our Roux theme folder, and I can easily do that in Dreamweaver's File panel. Let me expand it so we can see what's going on here, and we are in the blog folder, I am going to expand wp-content and then drill down into themes, and once more I have roux already open.
So I am going to go ahead and just create a duplicate of this, and you can do it with a Command+D or if you are not familiar with the keyboard shortcuts, right-click, choose Edit and then Duplicate, and Dreamweaver will make an index or whatever the file name is -copy. So I am going to rename that now to conference.php, and we will use this page template eventually for all of our conference postings. Okay, I am going to go ahead and open that up and reduce the Files panel.
Now let me switch into Code view, and I need to add some code to the top to tell WordPress that this is actually a template, and what template it is, and that's going to be done within the PHP code block, and just as with the style.css we will use a /* comment, and within that we will put the key phrase template name and then a colon and the name of the template, which is going to be Conference.
Let me save that page. Let's add some content specific to this page, so it distinguishes it as well as some code so that only posts in a particular category are displayed on the page. So the content is easy. We will just change Blog to Conference, and now I'll have to set up the loop in WordPress a little bit differently, so I am going to need to add in a line right above the if (have_posts()), again we will just use a PHP code block, and in that code block we will establish a new variable called cat_posts, and we are going to make that equal to a new WP_Query.
So this is setting up a new object using WP_Query, and there it is in code hint, and we will follow that with an open and closed parenthesis and a closing out semicolon there, and within the parentheses we name the category. So we will put in quotes: category_name=conference. Now what is this category name that I am referring to? Well, remember when we established the category we had to give it a slug name? The conference value that I have here is that slug name.
So if I wanted to do video production instead of category, I would put in video-production. Okay, we have a few more changes to make, mostly to apply this variable here, so let's go ahead and just copy cat_posts. Make sure you get the Dollar sign as well, and instead of a general if you have_posts, we want to check and see if there are any posts within this specific query that we've set up. So I am just going to paste in cat_posts, and this is for checking an array, put in a hyphen and a greater-than sign, so it looks a little bit like an arrow, and now that we have that let's copy that whole construct and add it to our while (have_posts()) as well as the post.
Let me shrink this down just for a moment so you can see the entire line more easily. So again what we are doing is we set up a variable cat_posts and then we append that to have_posts and while have_posts, and finally if we do have those posts, then add that to the post. Okay, we are done on the Dreamweaver side of the operation once I saved the page, which I've just done. Let's head back over to the Dashboard to create a new page so that we can use our just created template. So I will go to Pages > Add New, so I am going to name my new page Conference, press Tab to create a Permalink.
I am not going to add any body content here, I am, however, going to go over to template and choose from the list my newly added conference option. Once that's done, I'll click Publish, and let's see how things are shaping up now. So will click view page, and you can see my new Roux Academy Conference H1 tag there, but it also shows up another problem that here I have my text, and it's stretching all the way across, and it's pushing down the Sidebar. Now this is likely because in the custom theme that we based Roux theme on, the parent theme, there is a rule that governs what the content should look like when the body has a class named page which represents a single page.
So to solve this, let's go back to Dreamweaver, and now I'll go to index.php and click my style.css stylesheet. Make sure that's the one for the Roux folder. It is. And I am going to scroll down until I find the content rule which should be near the top, there it is, so now I am just going to add another selector to this so that we will handle that case when there is a page class added to the body tag automatically by WordPress and the other selector content.
All right, so that should handle this situation. Let's go ahead and save the style.css sheet, head back to our Browser, and Refresh the page. Well, there it is looking really good now. All right, now that we have a Conference template, let's take advantage of it with our existing content. I am going to head to the Dashboard, and you will remember that we do have a page called Conference Schedule At-A-Glance. Rather than set the At-A-Glance page to the Conference template, the better approach is to convert it to a post and then apply the conference category.
So I am going to open up my Conference Schedule At-A-Glance, I can remember the title, so I don't need to copy that, but I want to get all of this body copy, so I am just going to put my cursor in there and do a Command+A to select everything and then a Command+C to copy it. Now before I leave here, I am just going to change the Publish Status here from Published to Draft. That will take it off the board but keep it in our WordPress system in case we need to access it later. So I will click Update, and now let's go to Posts > Add New, we will put it in our title Conference Schedule At-A-Glance, and we will paste it in our content.
Now next, we want to set the Category to Conference, and if I publish this right now, what's going to happen is this Conference Schedule At-A-Glance would become the first post because if you recall we have our posts set up to show in descending order, so the newest post will show up first. One way to work around that is to change the publication date, and you can do that right over here on the right where it says Publish immediately, and there is an Edit link, click that Edit link and here we have the option for changing the date. I am just going to go ahead and change it, let's move it back a whole month, and then click OK, now I will click Publish.
Now before we check out how that's looking, we have one more thing I want to take care of, and that's the Sidebar menu. You may remember that when we first created the Sidebar, we used WordPress' built-in menu tool to create one with our only page at the time, which was Conference At-A-Glance. That was the sole entry. Now that we've moved that content to a post, let's adjust the menu and add another entry. So I am going to go down to Appearance > Menus, and here is my Sidebar menu, and as I said I do have Conference At-A-Glance here, let me extend that, and we are just going to go ahead and remove the existing one.
Now let's add in our Conference page. I'll add that to the menu, save the menu. Now to add in the Conference At-A-Glance, which is a post, I am going to need to pull up its Permalink. So let's head back over to Posts for just a quick second, and we will do Conference At-A-Glance, I am going to click the Edit button and then copy the Permalink which you see here. With that copied we can go back to our menu, and we're going to add this in as a custom link, and we will give it the label of Conference Schedule At-A-Glance.
Okay, click Add to menu, and I should have those two items now. Let's go ahead and click Save menu, now let's head back to Dreamweaver, and I will go into Design view, click Refresh, and here you can see my menu. Under Hot Links I now have Conference and Conference Schedule At-A-Glance. Let me enable under Live view options Follow Links Continuously, and let's see what do we have under Conference, and this will pull up the Roux Academy Conference with whatever posts that we have there.
There is the first post that we assign the Conference category to and then below it is
Conference Schedule At-A-Glance, and it looks like there is still a little bit of CSS work
that we will need to do to take care of that unordered list.
So you know what to do to handle this? You turn on Inspect mode--let me open up my CSS
Styles panel--and then let's take a look at what it is that we have to work with here.
I will hover over the list items and then go off the DOM a little bit.
I should have a
entry here. Let's go into the stylesheet, scroll down to just under
the content area, so I'll put in my content selector, add a ul and a comma so we can
do .page #content ul, and we will set the margin left to 20 pixels.
All right, I will click over here to refresh the page, and everything is lined up again. Excellent. So let me save style.css, so I want to make sure that my Live view options are set to Follow Links Continuously, and then we can click on Conference Schedule At-A-Glance, and there is that solo post all by itself, looking okay. All right, we are in pretty good shape, but there is more that we can do to make a Category page really stand out, and we will tackle that chore in the next lesson.
Find answers to the most frequently asked questions about Dreamweaver and WordPress: Core Concepts .
Here are the FAQs that matched your search "" :
- 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\phpmyadmin220.127.116.11 (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.
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.