Adding header functions
Video: Adding header functionsLet's say I try to click on something, I'll make sure that my Follow Links Continuously is set up, and if I go to about, you will see that the file is not found. Because what it's doing is it's going to the about path within the blog, not what we want at all. So to tackle this issue, we are going to need to integrate a little WordPress specific PHP code. The first area I want to address is the logo link.
- 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
Adding header functions
Let's say I try to click on something, I'll make sure that my Follow Links Continuously is set up, and if I go to about, you will see that the file is not found. Because what it's doing is it's going to the about path within the blog, not what we want at all. So to tackle this issue, we are going to need to integrate a little WordPress specific PHP code. The first area I want to address is the logo link.
This goes to the site home and not the blog home. So to handle this situation, we are going to need to bring in a custom function. Luckily they are pretty easy to write just basic PHP and even easier to implement. Now if you look at the custom theme folder, which we can do pretty easily by expanding the Files panel, you can see a file called functions.php. Unlike with the header.php and other related files like footer.php and index.php, we don't want to paste a copy of that file into our child theme folder.
Having the same functions twice breaks WordPress. So, what we need to do is to create a new PHP file, name it functions.php, and save it in our child theme folder. Then we can add any custom functions that we need to. So let's collapse the Files panel. I'll go to File > New, choose PHP under the Page Type, make sure None is selected under Layout, and click Create. Now I am going to go ahead and save that, and we want to save this in the Site Root, and we'll drill down to the blog, to wp-content > themes > roux, and we are going to name it functions.php, same name as the other file.
So I'll go to Code view, and we are going to strip out all of the HTML here. This is a pure PHP page. So I am going to save that one more time, so we have our file pristine and ready to go. Now, let's open the Code Snippet, which you'll be able to find in the exercise files, so I'll go to File > Open. So here's my custom function. Let me quickly walk you through the function so you know how to apply it. Function name is siteRoot. It brings in an argument called theFolder and then the first line sets up a variable home that uses a WordPress function that returns the entire blog URL.
Next, thePosition, another variable, is set to a string function called string pose or string position that finds where that argument is located in the string. So basically what we have here is the entire home URL, which is going to be something like http://localhostrouxacademy/blog, and it's going to find where the folder name, the folder string, which will be blog, is passed in and then the next line, code line 7, sets up another variable that extracts everything except for that particular passed in bit of string, the folder name, so we get just the first part of the path, which is exactly what we want. All right.
So let's copy this, move over to functions.php, paste it in, save the file, and I am going to go ahead and just close down these files. And now with these functions in place, we can actually go back to Dreamweaver and add the necessary code to the links. So we are going to be doing this in Code view in header.php. So let's scroll up a bit until we find the a tag that links the logo which is right here in the h1.
So I'll put in my opening code block and just to get rid of the little syntax error messages, let's close off that code block, and now I want to display the results of my function so I'll type in echo and then my function name, which is siteRoot and an opening and closing parentheses as well as the closing Semicolon. Now we want to pass in the path of the folder name that we are going to extract, and this is blog. All right.
So let me save the file, and we'll take a look and make sure that that's working. So I'll go into Design view, and I'll click Refresh here to make sure that I've got all the latest updates, and now I want to go ahead and make sure that when I click the logo here, it's going to go to the website homepage, not the blog homepage. Let's make sure that my Follow Link Continuously is selected, so it is. And when I hover over the logo and click on it once, it does in fact go to my homepage. So my function seems to be working properly. Now let's go back and finish off the coding.
I'll click on home here and then click on header and go to code. All right. Now since almost all of my main navigation links reference locations based on the site home, I can reuse this same PHP code. So I am going to go up, copy it quickly, and then place it in front of all of my links, except for one. So there is Programs, Admissions, Student Portal, Campus Portal, Alumni, and I am going to skip over the blog page and then do about. The one exception, of course, is that blog link.
Here I can take advantage of a WordPress function that provides the URL for where WordPress is stored within the blog site, and that function is site_url. In this case, the word site refers to the WordPress site, not the overall site. So I am going to put my cursor right in front of where it says blog/index and put in another PHP code block. We'll also want to use the echo term, and this time we are echoing that WordPress function site_url with an open and close parentheses, no arguments, and a closing Semicolon.
Now my last action is to adjust the path a little bit. Because it's pointing to the site_url, which is Roux Academy/blog, I don't want to leave the word blog here. So I'm going to remove that, and I am going to keep this trailing slash here. WordPress functions that return site locations always leave the trailing slash off, so you will need to add that in. My custom function siteRoot on the other hand includes the blog and only extracts whatever it is that you had included as an argument. Okay, we are ready to check the work.
So I am going to save our files and go back to Design view. Let's click Refresh to make sure we've got the latest version, and now I'll click on about, and we go to the about page, that's great. Let me go back a page, our logo link to home works, that's great, let's go back a page. Now let's just try out the blog link, which should just refresh this page. And there we are, perfect. In this lesson, you saw how to bring code in from your comp, both HTML and CSS rules to whip the header into shape.
You also got a chance to incorporate some WordPress PHP functions to make the links work correctly. Good job.
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\phpmyadmin22.214.171.124 (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.