WordPress

8K

Solutions

54

Articles & Videos

4K

Contributors

WordPress is a free and open-source content management system (CMS) based on PHP and MySQL for creating websites and blogs. Features include a plugin architecture, a template system and strong management, customization and search systems; through its dynamic presentation of content, webmasters have the flexibility to create websites easily.

Share tech news, updates, or what's on your mind.

Sign up to Post

This article shows the steps required to install WordPress on Azure. Web Apps, Mobile Apps, API Apps, or Functions, in Azure all these run in an App Service plan. WordPress is no exception and requires an App Service Plan and Database to install
0
Don't Cry: How Liquid Web is Ensuring Security
Don't Cry: How Liquid Web is Ensuring Security

WannaCry is just the start. Read how Liquid Web is protecting itself and its customers against new threats.

In order to have all security and back ups taken care of, WordPress users can sign up for services with WP Engine.
2
 
LVL 16

Expert Comment

by:Kyle Santos
Comment Utility
Great job!
0
Publications banner
I annotated my article on ransomware somewhat extensively, but I keep adding new references and wanted to put a link to the reference library.  Despite all the reference tools I have on hand, it was not easy to find a way to do this easily. I finally found a way that suited my needs.
1
 
LVL 12

Expert Comment

by:William Nettmann
Comment Utility
I learned something from the article|blog post|diary entry no matter how it is categorised or what you call it. I am not academically trained, and this may have just opened up a new world for (to?) me.

Thanks!
0
 
LVL 28

Author Comment

by:Thomas Zucker-Scharff
Comment Utility
William,

You are welcome. I wanted to somehow share my experience so that others could go right to the solution,  instead of having to plod through the same process.
0
So you have coded your own WordPress plugin and now you want to allow users to upload images to a folder in the plugin folder rather than the default media location? Follow along and this article will show you how to do just that!
2
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
1
 
LVL 17

Expert Comment

by:kadadi_v
Comment Utility
Please make sure IIS_USRS having the Full Control to your Wordpress folder recursively.

Regards,
VK
0
With Wordpress gaining more and more popularity not only as blogging platform but as a shopping or CMS solution, it's worth to know which plugins are the first ones to grab and integrate with your website. We will briefly go over the most useful plugins such as TablePress or Google Analytics.
22
 
LVL 70

Expert Comment

by:Jason C. Levine
Comment Utility
Jetpack contact form does not allow you to use reCaptcha anti-spam protection out of the box

No, but the better form plugins use a honeypot or timer-based approach which is a vastly better UX than any captcha. Captchas suck for the users and there's a growing body of bots that blow right through recaptcha like it isn't there.

I used Jetpack as an example because for one plugin you get a ton of functionality that could replace a few plugins in your list.  Perhaps a better example would have Formidable (free) or Ninja Forms.

Jason, I hope I addressed at least some of your concerns!

You tried, and I appreciate it and the article isn't terrible at all...it's well-written and engaging and you clearly have a passion for WordPress.  Mostly I'm skeptical of "top X you should Y-ing because Z" articles because they have to be general and unspecific almost by definition.  Each of the areas you touch on (analytics, layout/content, utility, e-commerce, caching, backup and migration) is a universe unto itself and could be the subject of a compare-and-contrast piece that really educates a reader on why you recommend a particular plugin over the competition.

What this current piece doesn't do all that well is account for different use cases. Recommending WooCommerce is a no-brainer for large applications but if you are only selling 3-5 things, it's massive overkill and would send a neophyte down a rabbit hole that they may not find their way out of.  You also don't mention any of the drawbacks or criticisms leveled at particular plugins.  TablePress is a fantastic plugin but you don't mention the absolutely massive overhead it adds to sites because it loads its own js and css to handle what is a relatively simple use case for most users.  While SuperCache creates static pages and appropriately handles rewrites, it doesn't easily allow for minification or async/deferred loading which becomes critical when trying to eliminate render blocking.  It's also under-documented like crazy.  

When recommending anything, I think we have a responsibility as experts to make sure our recommendations are well-thought out and defensible.  This is especially important with something like WordPress which is picked up and used by people with very little knowledge of programming, security, application design, and the mechanics behind serving web pages and turn to plugins to cover up that knowledge gap.

*I* know why you are using the above because I've used them myself and, like you, I understand their strengths and limitations.  I'm not 100% sure someone who is not at our level would be able to feel confident in these choices.  If you feel like pushing yourself a little further on this, you could have a truly great article on your hands, or a series of them :)
0
 
LVL 11

Author Comment

by:Radek Baranowski
Comment Utility
I know where you are coming from, I think, and agree it has a bit one-sided approach. What I am trying to address however, is "how to set up wordpress quickly and get it to do things I want" which is a question I often try to answer myself (not only about Wordpress) and which is, I believe, the purpose of Top 10... kind of articles. These are for people who want to build things on their own, instead of turning to experienced (and pricey ;) professionals who have the matter thought through in and out. I completely agree with you that every single functionality I listed might be a separate article. Might as well evolve into something like that, should my (or yours) time allow.
0
WordPress.com goes down
First things first, I say this in many of my articles, but in this one you can take it as fact. I am not in any way an expert when it comes to WordPress. I am strictly a user. I don't know the programming languages involved, and although I could probably glean what is going on from the code, I have never done so.

For many years I did work as a website developer. I did a lot of coding (pre-CSS) in HTML (that is kind of like saying you write programs in DOS -- it means next to nothing, except possibly that you have just dated yourself). Because of this I do have a little bit of a handle on how things work, but obviously not enough. I will admit up front that I did what I tell everyone I work with not to do, under any circumstances, change things directly in your production environment - but I will get back to that.

For a couple of months my blog was down. I take complete responsibility. I was adding plugins, everything was working fine until I logged out and couldn't log back in. I think it had something to do with the functions.php file I edited (I never should have done that, but I am a great Monday morning quarterback ...). During a plugin install, it was suggested that I add a line to this file. Everything seemed to be working fine after the edits so I logged out (I have a feeling that I edited the wrong functions.php file, there are so many ...).

I am a computer analyst as my day job and specialize in computer security
2
google-analytics-logo.png

The Challenge

I was developing a new website for a client the other week in WordPress and they asked me if it was possible to track the clicks of the sponsor images they include on their home page. My first port of call was to use the Yoast Google Analytics plugin but for some reason, it didn't work and I wanted finer control of how my events were presented in the Google Analytics (GA) dashboard.

So, I was left wondering how difficult it would be to write some JavaScript to dynamically assign the event push to Google Analytics using the onclick event.

This article describes how I solved that and as it's JavaScript, the solution can be used in any website design.

The Solution

The method relies on the addEventListener() method which attaches an event handler to the chosen document element. A good introduction to this method can be found at w3schools:
http://www.w3schools.com/js/js_htmldom_eventlistener.asp

The syntax for adding the event listener is:
 
document.addEventListener(event, function, useCapture)

Open in new window


So the starting point of the solution creates the event in the bubbling phase:
if (document.addEventListener)
    document.addEventListener('click', callback, false);
else
    document.attachEvent('onclick', callback);

Open in new window

Note that the attachEvent method is used to create a cross-browser compatible solutuion for browsers that don't support the addEventListener method eg. IE8 and earlier.

Once this is done, whenever a user clicks on the page the function callback will be executed.

So we next need to define what the callback function will do.

The first thing to do is to pass the user's event to the function:
 

Open in new window

3
 
LVL 12

Author Comment

by:Jamie Garroch
Comment Utility
Hi Jim. I saw that weird hyperlink thing after posting the draft. I didn't put it in there and it appears to be a link to nothing when I checked the source of the page:

<a href="http://" target="_blank">

So, as I don't know how it got there I'm not sure how to delete it but I'll give it a go now.
0
 
LVL 12

Author Comment

by:Jamie Garroch
Comment Utility
Thank you Team EE :-)
0

Disclaimer

This article is only about protecting your site from login-based hacks. There are a number of other methods which hackers use to attack sites. Be sure to research other ways to handle other vulnerabilities and keep your software versions current.

No one, including me, can guarantee that you and your web-site will not become a victim of malicious attack. The information I provide in this article is based on my experience with technology and securing computers in the last 30+ years. This information is presented in an effort to educate people and help them protect themselves.

Brand and product names mentioned within this article are property of their respective organizations. The presence of these names does not imply edorsement by the organization of me or this article.
 

Currently WordPress is the most popular content management system (CMS) and a common target for hackers. When I started using WordPress for my blog, I looked for an easy and inexpensive way to protect the site from login-based hacking.

In comes Clef. The FREE tier is all I needed to protect my logins and possibly all you need too, though premium features are available to add support and monitoring.

Clef is a unique authentication method that is simple to use and provides two-factor protection. Running on an RSA key architecture, an application on your smartphone uses a PIN or your fingerprint plus your phone's camera and the image on your computer screen to login to …
3
 
LVL 19

Author Comment

by:Delphineous Silverwing
Comment Utility
Unfortunately, Clef has announced that it is shutting down, effective 06 June 2017. I have enjoyed using the product to help protect my sites.
0
 
LVL 70

Expert Comment

by:Jason C. Levine
Comment Utility
Switch to WordFence premium.  They have a two-factor SMS or Google Authenticator option.
0
An earlier version of this article was originally posted on my personal blog at: ​http://www.brianjmatis.com/2014/07/07/enabling-nextprevious-post-links-in-wordpress/


Introduction

In most blogs, a fairly common navigational element is to have links at the bottom of article pages for going to the next and/or previous entry in the blog. This gives readers an easy way to navigate between individual posts, without needing to jump back up to the main blog page each time. If you're using WordPress, as I am, most themes will likely already include this feature for you. However, it's still up to the individual theme, and as I discovered with the one I chose, it might not be there! This meant it was time to roll up my sleeves, and create it myself.

Example of Next/Previous post links at the bottom of a blog entry:
nextAndPrevLinks.png


Generating the Links

Fortunately, doing it is pretty easy. The key is to make use of the following two WordPress functions:

  • previous_post_link()
  • next_post_link()

These functions do pretty much what they sound like: add a link to the next post and a link to the previous post. The default behavior for these is actually pretty good and might work just fine for you. Each function would display the following (without the bullets):
 
  • « Title of Previous Post
  • Title of Next Post »

Where each one was a link to …
2
Why Off-Site Backups Are The Only Way To Go
Why Off-Site Backups Are The Only Way To Go

You are probably backing up your data—but how and where? Ransomware is on the rise and there are variants that specifically target backups. Read on to discover why off-site is the way to go.

WordPress is a free and open source PHP/MySQL based blogging software and content management platform that has become the most popular blogging software on the web. Recent improvements to the platform are sure to popularize it further. With the multitude of available themes and plugins, along with the ability to custom write your own special add on requirements, WordPress has become a powerful website content management system (CMS).

Two recent updates to the WordPress platform further increase its capabilities. Additionally, these two releases constitute a new wave of WordPress development. They were both announced at the same time under the concept that "deadlines are not arbitrary" and "plugins first, then core". The deadline concept was announced with firm, pre-announced dates of each release. The "plugins first" concept includes making many of the WordPress features plugins instead of part of the "core" WordPress code (think of an operating systems kernel), which means those features can be modified, updated, and improved without affecting the main functionality and affecting the stability of WordPress installation.

The new path appears to be working as both were released on schedule. This may not be revolutionary to many, but to have stable releases on schedule for an open source project allows those on the cutting edge of features or plugin developers to plan development activities around release upgrades to the main WordPress …
6
 
LVL 38

Expert Comment

by:lherrou
Comment Utility
Great, informative article, I gave it a "Yes" vote, above.
0
 
LVL 38

Administrative Comment

by:lherrou
Comment Utility
Matthew,

When two or more editors agree that an article is of particularly high quality, we can award the Experts Exchange Approved award. I am pleased to do so for you.
0
WordPress is an incredibly popular PHP/MySQL CMS system. According to the 2011 Open Source Market Share Report, it is the number one most installed CMS and also ranks number one in downloads.  However, popularity combined with open source means that WordPress is a prime target to be hacked.  This article will detail some basic and broad steps you can take to recover a hacked site and get it back to (hopefully) an unhacked state.  It will also discuss what you can do to prevent your site from being hacked in the first place.
 

How Do I Know If My Site Is Hacked?


Not all hacks are readily visible and not all site owners check their sites on a regular basis.  The most obvious sign of a hack is defaced or injected content on your posts and pages but there can be a number of other signs.  Be on the lookout for any of the following:
 
  • If your traffic drops suddenly, it may be due to Google or other malware blacklists reporting your site as infected.  
  • You may get emails from your users asking (or blaming) you why your site is attempting to download malware.  
  • Your site may begin running very slowly
  • If your email is tied to your web hosting (common in shared hosting), you may see your legitamite email being rejected as spam or receive notification that your IP address is on a public blacklist
These are all passive signs of a …
10
 
LVL 15

Administrative Comment

by:ericpete
Comment Utility
jason1178,

Congratulations; your article has been published. A well-written clear primer on keeping oneself from interminable headaches... really nice.

ericpete
Page Editor
0
 
LVL 6

Expert Comment

by:uzzidesign
Comment Utility
Jason, superb. Thank you for this!
0
Many times I have found myself needing to insert dynamic HTML in the middle of a WordPress Page or Post. I was using WordPress plugins, such as Inline PHP (http://wordpress.org/extend/plugins/inline-php/) to insert this content. Inline PHP is a WordPress plugin which allows you to put PHP code directly into a page or post. However, I was finding many times that I needed to use the same code on multiple pages, or was having non-technical members posting content (who are easily confused by seeing PHP code). To resolve these issues, I like to create simple plugins that allow me to use Wordpress short codes (http://codex.wordpress.org/Shortcode_API).

Wordpress short codes allow plugin developers to create "special kinds of content (e.g. forms or content generators) that users can attach to certain pages by adding the corresponding shortcode into the page text".

Creating a simple plugin which can be called with a shortcode is a very easy process.

To show how easy it is, I will walk through the steps to create a plugin that will allow you to put the Wordpress search in the middle of pages or posts:

1. Create a folder in "wp-content/wp-plugins" called "wp-search"

2. Create a file in that folder called "wp-search.php"

3. Save the following text in the wp-search.php file
<?php 
/* 
Plugin Name: WP Search Plugin 
URI: http://www.matthewstevenkelly.com/ 
Description: A search to add to posts/pages. 
Author: Matthew Steven Kelly 
Version: 1.0 
Author URI: 

Open in new window

1
 
LVL 15

Administrative Comment

by:ericpete
Comment Utility
matthewstevenkelly,

Congratulations; your article has now been published.

Thank you for a very clear, simple article about something that has always been a bother for me; I know just enough PHP and WordPress to be dangerous, and this proved to be very helpful.

ericpete
Page Editor
0

Introduction

WordPress currently holds more than 54% of the Content Management System (CMS) market, and powers a staggering 73,000,000+ sites..  This makes WordPress a tempting target for spammers.

If you are running a WordPress site that allows pingbacks, comments on posts/pages, or allows registrations so users can start their own posts then it is likely that you have been spammed at some point and have had to spend a portion of your valuable time moderating and deleting the spammy content.  Spam is not just an annoyance or a time suck; Google can also penalize you for having links to spam sites in your comments or posts and this is even more true since the Penguin update. This article will go through some settings and strategies to help reduce spam and also cover two free/paid services that can prevent spam from being posted.

Summary (or tl;dr)


If you are in a hurry and just want the good stuff:

The best way to prevent spam is not allow comments, pingbacks, public registrations
Use Akismet to protect against comment and pingback spam
Use WangGuard to protect against registration spam
CAPTCHAs are not preferred

For the rest of you, keep reading and enjoy.  Please share this article with anyone you think can benefit from it and if you are an Experts Exchange member, please vote this helpful if you find it so.

Three Different Types of Spam

7

Introduction

WordPress currently holds more than 54% of the Content Management System (CMS) market, and powers a staggering 73,000,000+ sites.  If you are a web developer, the chances are excellent that you will be asked to work on the WordPress platform at some time in the future if you are not currently working on it already.

With that kind of market share, you would think that the core developers would have made  migration of a WordPress site from one domain name to another a simple, one-click operation.  Unfortunately, this isn't the case so it has fallen to the community to create solutions for moving a WordPress site from one place to another.

This is a common task for WordPress developers. I typically begin working on a new site on my local machine running WAMP so the site is accessible at http://localhost/sitename.  However, the end result has to be http://www.clientdomain.com and getting from the development server to the production server requires some knowledge or willingness to spend a little money. This article will present two generic methods to move a site...one free and one that requires the use of a paid plugin.

When moving a WordPress website from one place to another, you are really talking about transferring three things:

1) The site's theme
2) Plugins
3) Content

All three items…
19
 
LVL 38

Expert Comment

by:younghv
Comment Utility
Your recent EE Articles seem to be focusing on ways to save clients (or yourself) money - always a good thing and moreso now.

"Yes" vote above.
0
 
LVL 70

Author Comment

by:Jason C. Levine
Comment Utility
Your recent EE Articles seem to be focusing on ways to save clients (or yourself) money

My new goal in life is to make myself obsolete.
0
WordPress is constantly evolving, and with each evolution appears to get better and better.  One of the big drawbacks prior to version 3 was that there was no way to be able to set up a custom menu from the backend.

The Old Way

Adding menus is not hard for anyone adept at HTML and CSS.  The basic structure for all menus is the same:
 
<ul>
<li><a href=”http://somesite.com/menu-item-1”>Menu Item 1</a></li>
<li><a href=”http://somesite.com/menu-item-2”>Menu Item 2</a></li>
<li><a href=”http://somesite.com/menu-item-3”>Menu Item 3</a></li>
</ul>

Open in new window


To add a submenu item to any menu item, simply include another unordered list tag <ul></ul> within the list-item <li></li> menu item you wish to add the submenu to:
 
<ul>
<li><a href=”http://somesite.com/menu-item-1”>Menu Item 1</a>
<ul>
<li><a href=”http://somesite.com/submenu-item-1”>Submenu Item 1</a></li>
<li><a href=”http://somesite.com/submenu-item-2”>Submenu Item 2</a></li>
</ul>
</li>
<li><a href=”http://somesite.com/menu-item-2”>Menu Item 2</a></li>
<li><a href=”http://somesite.com/menu-item-3”>Menu Item 3</a></li>
</ul>

Open in new window


You can carry this as far and as deep as you like by just repeating the above step:
 
<ul>
<li><a href=”http://somesite.com/menu-item-1”>Menu Item 1</a>
<ul>
<li><a href=”http://somesite.com/submenu-item-1”>Submenu Item 1</a>
<ul>
<li><a href=”http://somesite.com/sub-submenu-item-1”>Sub -submenu Item 1</a></li>
<li><a href=”http://somesite.com/sub-submenu-item-2”>Sub-submenu Item 2</a></li>
</ul>
</li>
<li><a href=”http://somesite.com/submenu-item-2”>Submenu Item 2</a></li>
</ul>
</li>
<li><a href=”http://somesite.com/menu-item-2”>Menu Item 2</a></li>
<li><a href=”http://somesite.com/menu-item-3”>Menu Item 3</a></li>
</ul>

Open in new window


From there, it is just a simple matter of adding classes and id’s as necessary to the tags and applying some well placed CSS.

The New Way

The new way still requires some good knowledge of CSS, but will do all the work of setting up the unordered list for you.

First off, check in your WordPress backend under Appearance->Menu to see if your theme supports custom menus.  If you see the notice:

“The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.”

Then you will need to do the following:

Assuming that you have upgraded to WordPress 3 (or above), you will need to add a couple lines of code to your theme files.

First add the following lines to your functions.php file:
 

Open in new window

3
In Part I, I introduced you to the powerful WordPress backend, the WordPress administrative Dashboard.  In Part II, I will introduce you to a simple default theme that you can customize and use to create basically any type of a website.

Attached to the bottom of this article is a zip file of the files necessary in order to create a default theme.  The basic WordPress default theme that I have included with this article consists of the following files, all of which can be customized to your taste:

404.php – This file is used when someone tries to access a non-existent url on your site.
archive.php – This file is used if you take advantage of WordPress’ blog capabilities.  This file is used to display a post archive.  Even if you don’t plan on using WordPress as a blog, you should have this file, as well as every other file in this list, present in your theme folder as WordPress will try to access it if someone uses the right url.  You can change the programming of this file to display anything you want should such an event happen.
archives.php – This file is related to archive.php and is used to search the blog archives.  Once again, it, as well as every file in this theme, can be customized to your specific needs.
comments.php – This file is used to display the post comment box.
comments-popup.php – This file is used to display comments in a pop-up.
default.js
5
WordPress can be pretty daunting, especially for a beginner, so I thought it might be a good idea to write an article to show how easy it is to get started in WordPress and to design a custom theme.  The first step is to check with your hosting company and see if they support WordPress.  If they do, then they should be able to assist you in uploading and setting up WordPress on your server.  It is not absolutely necessary to understand everything about WordPress’ setup at this point.  The important thing is to just ensure that WordPress is installed right, and that you can see WordPress’ default theme when you access your url.  All this can be handled by working with your hosting company.

WordPress Dashboard

Next, I would like to take a moment to introduce you to the powerful WordPress Dashboard.  This is a fully customizable dashboard that gives you complete control over just about every aspect of your site.  To access the Dashboard, simply type the url of your site followed by “/wp-admin/”.  For example, if your site was “somesite.com”, you would access the Dashboard at “http://somesite.com/wp-admin/”.

When you access this url, you will see the WordPress login page.  Type in the username and password you used to set up WordPress with your host.

After you have logged in, you will see WordPress’ administrative Dashboard.  I’ve included a screenshot of what this looks like in WordPress version 3.2.1 below:

 WordPress Dashboard
As you can see, …
5
Do you think that WordPress is just for blogs?  Think again!  WordPress is really a fantastic all around platform that you can use to develop websites on.  Integrated into its basic functionality is the ability to create pages using your choice of a Visual Editor or HTML Editor.  These editors allow you to upload and insert images, videos, audio, as well as other multi-media. Absolutely great for creating simple text and media layouts.

What happens though, when you need more dynamic interaction than that which simple html could provide?  What happens if you want a page that will change based on inputs or calculations?  What do you do then?

Well, there are two choices.  One would be to install one of WordPress' great plugins, called Exec-PHP.  Exec-PHP allows you to stick code directly into your post or page and it will interpret the code correctly for execution.  There are several disadvantages to using this though.

1. You cannot use the Visual Editor

Exec-PHP can only operate correctly using the HTML Editor.  In order to use it, you must disable the Visual Editor.

2. Neither the Visual Editor nor the HTML Editor provide search functions

Writing code generally necessitates the ability to go back and debug coding.  A search feature is sorely lacking to help with this.

3. Debugging Code is difficult

The HTML editor was designed for HTML, not PHP.  If you write really complicated coding it could become very difficult to debug.…
5
 
LVL 18

Expert Comment

by:WaterStreet
Comment Utility

Voted Yes, above, for this article.
0
 
LVL 17

Author Comment

by:OmniUnlimited
Comment Utility
Thanks!
0
Online Training Solution
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Transferring a wordpress site from a host or local dev server to another host can be a pain. So I've included my steps on how I have accomplished this task.

Steps include an assumption that you have Cpanel access or Ftp access.. If you do not have either, I will also include other ways around this using Wp Plugins.  :)

1. Back up FIles
----------------------

Log into Cpanel, goto Filemanager. Select all file in the wordpress root (public_html). after select all files and folders, click the compress button- this will zip all you files so you can download it to you computer.

OR

Log into your ftp account and download all files in the wp root (public_html) to your computer.

OR

Log into Wordpress, download a plugins called WP Migrate DB (to get a mysql dump), or DBBackWPup (to backup your files) You can install the plugins right into the working wordpress from the admin area.


2. Backup database dump
------------------------------------

Log into Cpanel, click phpmyadmin..choose the database, then click export..save to file. (This will download a sql dump which is needed in order to reinstall you wordpress as it is to another server or host).

OR

If you are unable to login to Cpanel. Log into your wordpress account. install plugin(s) called: WP Migrate and/or DBBackWPup and MyFTP (which allow you to view any live code in the php files, including the config.php for db credential reasons)


3. Remap your SQL file
--------------------------------
1
 
LVL 30

Expert Comment

by:captain
Comment Utility
Thank you, simple and concise!
0

Wordpress Horizontal Drop-Down Menu


In this tutorial I will show you had to add a WordPress horizontal navigation menu to your theme. I have searched and searched for a good tutorial on creating a WordPress nav menu without adding a plug-in or using the SuckerFish menu. I couldn't find a good tutorial, so I decided to write one.

For this tutorial I am using the theme I built for the Experts Exchange article I wrote called "Create Your Own WordPress Theme". This theme is very basic as I wanted to keep it simple for those without much or any WordPress experience. I thought it would also be a good opportunity to cover adding additional features to a WordPress theme. If you would like to use the theme to walk through this tutorial, you can get the code here: Experts Exchange WordPress Theme Tutorial

This tutorial should work with any WordPress theme. Before you begin, I strongly recommend backing up the original theme files. If you run into any problems you will be able to restore your theme to its original design.

1. GETTING STARTED:

Open the header.php file.
Find the current navigation menu for the theme in the header files.
Here are a few examples of what to look for:

<ul>
<?php wp_list_pages('exclude=17,38' ); ?>
</ul>

Open in new window


<ul id="nav">  
<?php wp_list_pages('title_li=&depth=1'); ?>  
</ul> 

Open in new window


It may look like this if the menu has been hard coded into the theme:
<ul id="menu-main">
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
    <li><a href="#">Blog</a></li>
</ul>

Open in new window


And here is what it looks like if you are using the EE-Tutorial Theme:

Open in new window

4
 
LVL 23

Author Comment

by:jeremyjared74
Comment Utility
Thank you WaterStreet. If you ever need any help you you decide to go back to WordPress, just let me know.
0
 
LVL 18

Expert Comment

by:WaterStreet
Comment Utility


I'll then post in the form of an EE question.  Thanks.
0

How to create your own WordPress Theme


Before I begin with the theme design tutorial, I would like to give you the basics of what is required to make a WordPress Theme. The most basic WordPress theme only requires 2 files: a style.css file and an index.php file. The index.php file is the page that will hold the loop. The loop is the piece of code that WordPress uses to import your content, either posts, or pages. The style.css file is required by WordPress because it is what tells WordPress that the theme exists. The style.css file only has to contain the theme header information. You could technically create a style.css file with no CSS at all.

View the picture below to gain a better understanding of the parts of a WordPress theme.Page Parts
 
Here is the basic information that is required to be in the style.css file:
/*
Theme Name: Your Theme Name
Theme URI: http://yoursite.com/
Description: Your custom website description *(not required unless you are submitting it to the WordPress theme repository)
Author: You *(not required unless you are submitting it to the WordPress theme repository)
Author URI: http://your-website.com/ *(not required unless you are submitting it to the WordPress theme repository)
Version: 1.0 *(not required unless you are submitting it to the WordPress theme repository)
Tags: black, blue, white, two-columns, * (this isn't required either. The description Tags are what WordPress uses in the theme 

Open in new window

17
 
LVL 23

Author Comment

by:jeremyjared74
Comment Utility
Sounds like you're on the right track. One of the mistakes I made starting out was jumping in over my head. If you have the patience and are able to focus on the basics without wandering of on custom functions it'll take a lot less time to "figure it out". There are a lot of bad tutorials on the internet that can set you back and teach bad practices. Be sure of your sources, and avoid tweaking the WordPress core functions and you'll be coding like a WP All-Star  ; )
0
 
LVL 70

Expert Comment

by:Jason C. Levine
Comment Utility
What Jeremy said.  Despite what the rankings currently reflect, he and gwkg are the true Experts :)
0

What's this?


As a volunteer Page Editor for Experts-Exchange.com, I have noticed that many authors also have blogs, and pull articles from their blogs to post at Experts-Exchange. I appreciate each author sharing their blog content with our site members, and have developed this plugin to help them transition their articles from their Wordpress based blogs to Experts-Exchange.com's article system.

Get the Plugin!

Download Wordpress EE Articles Plugin

What it Does


The plugin translates your Wordpress based blog to text compatible with Experts-Exchange.com's article system's shortcode markup, which saves you the hassle of most of the reformatting of your article. It is extremely easy to use, just activate the plugin, and it will appear on your admin panel for pages and posts on the right hand side:

Screenshot

Requirements:


This plugin creates a text file called eedownload.txt in your base uploads directory for wordpress. Please make sure your uploads directory is writable!

Supported Tag Translations:


Check back to this article (or the official plugin URI here) for updates to functionality.

bold
italic
hyperlinks
bullets
h1,h2,h3 (all converted to subtitle)
Removal of &lt;!--more--&gt; tags

Graphics and pictures are currently supported and unhandled because experts exchange requires you upload then embed your graphics into an article instead of using links.

How to Install the Plugin

5
 
LVL 70

Expert Comment

by:Jason C. Levine
Comment Utility
Holy usefulness, DrDamnit!

What a great idea.  I'm awed and jealous that I didn't think of it first.  +1 and thank you.
0
 
LVL 92

Expert Comment

by:Patrick Matthews
Comment Utility
Great stuff!

Think I'll stick with this, though :)

+1 from me
0

I want to start by talking about the use of plug-ins for WordPress. I started a web-site for a company I was working for a few years ago; I had extremely basic knowledge of HTML. I am a Graphic Designer by trade so I invited the opportunity as a challenge and a chance to learn another skill and get paid for it. Content Management Systems (CMS) are a good tool for beginners and seasoned pros as well. These tips will be most useful for beginners to mid-range bloggers or designers.


With the simple WYSIWYG (what you see is what you get) visual HTML editors you can start designing with little or no experience. First of all what is a plug-in? A plug-in in this case is a website program or a script that has been designed for a specific function involving web-design. Plug-in uses can range from a photo viewer or image gallery to a script that performs a specific function for your blog or website, such as adding a sidebar or what is commonly referred to as a "widget."

Let’s start off with some things that should be avoided while searching for and installing a plug-in.


THE PROBLEM:
1. Not every plug-in is tested by the WordPress, or the CMS system you are using.

2. Plug-ins can crash your blog or web-site.

3. Authors of Plug-ins can include damaging code that installs on your blog or web-site. This doesn't necessarily have to be on purpose. Someone might have good intentions but not have the skill required to do correct scripting.

4.
2
 
LVL 23

Author Comment

by:jeremyjared74
Comment Utility
Thank you ericpete, I will apply your suggestions. When I do, how do I implement them into the article. If you will tell me how this is done, I will improve the article ASAP. Again thank you for reading and suggesting on my article.
0
 
LVL 15

Administrative Comment

by:ericpete
Comment Utility
jeremyjared74,

You should be able to edit your article. I'll get a notification of it, and we can go from there.

The main thing, of course, is that adding the URLs to the specific "recommendation" pages for WordPress, Joomla, Drupal, etc. will give people an idea of where to look, and what to look for.

ep
0
If you are looking for plug-ins to add functions to your WordPress small business web site, take some time to read though this comprehensive list.  These are all the plugins I use for my customers WordPress web sites, as well as my own.  Be sure to visit my technology blog at ConnectToRemoteSupport.com to see most of these plugins in action.

AddToAny: Share/Bookmark/Email Button - Help readers share, bookmark, and email your posts and pages using any social networking service.

Contact Form 7 – Be sure to install this comprehensive contact form plug-in; simple to use and very flexible – a must have.

Really Simple CAPTCHA - Module that works with Contact Form 7 to generate CAPTCHA text

Google Analytics for WordPress - This plug-in adds Google Analytics code as well as automatic clickout and download tracking.

Google XML Sitemaps - This plug-in generates a special XML sitemap which helps search engines like Google, Yahoo, Bing and Ask.com to better index your blog.

Lightbox 2 – Automatic photo lightbox used to overlay images on any page or post.

Simple Tags - Adds suggested tags, mass edit tags, auto completion, tag cloud widgets, related posts, related tags and a lot more.

Visitor Maps and Who's Online - Displays visitor maps with location pins for the visitors estimated location. Includes who’s online sidebar to show current and previous user details.  Widget available to display visitor stats to your users.

WP-Polls
4

WordPress

8K

Solutions

54

Articles & Videos

4K

Contributors

WordPress is a free and open-source content management system (CMS) based on PHP and MySQL for creating websites and blogs. Features include a plugin architecture, a template system and strong management, customization and search systems; through its dynamic presentation of content, webmasters have the flexibility to create websites easily.