How to Build WP Site with Hierarchical Content and Using Custom Design? - wordpress

A client asked me to redesign her web site, built several years ago in WP by another developer. Although I've never worked with WP before, I'm pretty comfortable with html, css, and php, and I more or less understand how WP stores content and dynamically builds pages. But I'm wondering how to approach these challenges:
My client's site has about 75 pages. There are about 25 that are static (i.e. the content changes infrequently if at all; things like "about us" and "faqs") and there are about 50 pages that are more "blog-like", except that instead of posts, the content contains directory-type info (e.g. 12 DJs in the area) or event-related info (e.g. upcoming shows at local theaters). Both of these categories contain many sub (and sometimes sub-sub) categories (e.g. medical services > pediatric > kid allergy specialists) and the content updates fairly frequently.
I understand the difference in WP between "pages" and "posts". But I need to find out the best way to structure the static content. Should I just set up a parent/child hierarchy of pages, changing the permalinks to something that makes sense? Or is it better / easier to just build the static pages outside WP and somehow link to them from the common navigation?
As a web designer, I want to "wow" my client with a great design. While there are loads of wonderful WP themes available, I really need to create something unique. But I'm wary of breaking something, so what's the best way to take an existing theme and just tweak it enough to make it look a little different?
Finally, other than mounting a massive "copy and paste" effort when the new site is built, is there a way to transfer content from the original site to the new one?

By reading your question, it seems to me that choosing WP for this kind of website was a bad choice.
Redesigning it, though, won't be that hard if it's using page templates for pages.
And yes, there's a import/export tool in WP to tranfer content. (see administration panel)
I, really, advise you to read this great tutorial about creating WP themes.

I've a blog-like WP site myself (contains RPG development articles). Here's what I did. Nested static pages simply have parent-child hierarchy: /about/mingos - that's easy to understand and i value this kind of content organisation (personal opinion).
As for themes, there's a no-brainer tool that, while not exactly apt for real business, has the capability of letting you see how stuff will look in seconds, and can sometimes give you great ideas. It's called Artisteer and there's a demo on its site that you can have a look at. Try your design ideas with it, see how stuff will look like. I'm sure you can come up with some great ideas for a "wow" design :).
Exporting content, as Soufiane Hassou remarked, is possible from within the admin panel.

Don't rule out using categories to create your hierarchy. That way you'd get the benefit of cross categorization of DJs and venues by location to create a robust cross reference system. Pages don't get this benefit without extra work.
To make this in to a directory, though, is gonna either be heavy work on managing the pages or heavy work on creating a solution that will cross reference everything and bring the content together in a usable way on the front end.

Related

what is the difference between parent theme and child theme

A client asked me to redesign her web site, built several years ago in WP by another developer. Although I've never worked with WP before, I'm pretty comfortable with html, css, and php, and I more or less understand how WP stores content and dynamically builds pages. But I'm wondering how to approach these challenges:
My client's site has about 75 pages. There are about 25 that are static (i.e. the content changes infrequently if at all; things like "about us" and "faqs") and there are about 50 pages that are more "blog-like", except that instead of posts, the content contains directory-type info (e.g. 12 DJs in the area) or event-related info (e.g. upcoming shows at local theaters). Both of these categories contain many sub (and sometimes sub-sub) categories (e.g. medical services > pediatric > kid allergy specialists) and the content updates fairly frequently.
I understand the difference in WP between "pages" and "posts". But I need to find out the best way to structure the static content. Should I just set up a parent/child hierarchy of pages, changing the permalinks to something that makes sense? Or is it better / easier to just build the static pages outside WP and somehow link to them from the common navigation?
As a web designer, I want to "wow" my client with a great design. While there are loads of wonderful WP themes available, I really need to create something unique. But I'm wary of breaking something, so what's the best way to take an existing theme and just tweak it enough to make it look a little different?
Finally, other than mounting a massive "copy and paste" effort when the new site is built, is there a way to transfer content from the original site to the new one?
I would create a Child Theme (https://www.hostinger.com/tutorials/how-to-create-wordpress-child-theme). And just do your changes in this theme.
You can download the complete Website with a plugin like duplicator and install it local (xampp).
Is hard to give you the right way. There are so many ways a theme can look like. Different page builder plugins or Advanced Custom Fields.
Maybe the only thing you can do, is to update (Theme, Plugin)everything and lift the page. Especially if it is a purchased theme with any page builder. But don't change anything in the main theme. Create a child theme!
I understand the difference in WP between "pages" and "posts". But I
need to find out the best way to structure the static content. Should
I just set up a parent/child hierarchy of pages, changing the
permalinks to something that makes sense? Or is it better / easier to
just build the static pages outside WP and somehow link to them from
the common navigation?
It's not something like that. Consider the child theme as inherited (like a PHP class) from the parent theme. Imagine every .php file in a child theme is like overriding a function from parent class which is parent theme in this example.
For more information check the codex out or google "wordpress theme vs child theme" there are lots of articles explaining the difference.

What is the difference between building a site on wordpress vs hand coding?

So I'm a beginner to coding and I am wondering what is the difference between building a site using wordpress (which I am not familiar with) as opposed to just hand coding from a text editor like sublime and then hosting it. Should I be using Wordpress? What exactly are the benefits? Thank you.
It all depends on what you want the website for.
I've both hand coded and used Wordpress (and before that Moveable Type) over the past 15 years. When I was doing infrequent updates to my website then hand coding was perfect. I could make it look exactly as I wanted, it had only the elements that I needed and nothing heavy in the backend to slow it all down.
When that all changed to being frequently updated Wordpress was much easier. The ability to schedule posts was one of the big things that got me into using it. If you're doing frequent updates, which, say need to post at the same time every day or multiple times in a week, but you're not necessarily available, then it's great. If you're short on time, then it's also useful because you choose once how you want the site to look then type your information and publish it. You don't need to amend any code or use FTP.
What you do lack is the personalisation. Unless you're also going to learn how to make Wordpress themes to properly personalise a Wordpress site, then you're stuck with the templates available for download. Some are great, some are mediocre and some are very simple.
My next project is to get my sports team online properly, and because there are about five or so people who would need to edit it Wordpress works for this. I can give people limited access to allow them to post/edit posts but know that because they're restricted, they're not going to break it all, unlike if I allowed them FTP access, which could be a massive disaster with people who aren't familiar with that.
You need to consider what you're really trying to achieve. If the website is really you and needs to reflect you and you don't update it relentlessly, then hand coding would be my first choice. If other (perhaps inexperienced) people are involved or you need to do things quickly, then I'd choose Wordpress.
If you want to create your first website, you should use a CMS like WordPress, because it will be easiest for you to publish content online and you will find many free plugins and themes at the wordpress website.
The main difference between a CMS like WordPress and a hand coded website is the first is not create for you. WordPress can be used in many way, but you will have to learn the WordPress codex to create your own themes and plugins.
With the hand coded, you will create a website optimized for what you need.
But you have to consider, you will have to code again each time you want to edit something, and for some features it will be a lot of work.
WordPress already include many "must have" features like seo friendly URLs, categories and tags etc..
But you can also look for another CMS, smaller than Wordpress

Are there good tools which help migrating an existing Website to a CMS-based site?

I'm looking for tools or libraries that load simple but old existing websites and produce an output which can be loaded into wordpress or other CMS. The goal is to keep the existing websites navigating structure and content.
Any hints?
What I've discovered is that it really depends upon the CMS. I would recommend a "tag-pair"-based CMS like the new Craft or ExpressionEngine's free Core version (there're others too) where you drop in a looping control area, replace the fields with the tags and then it just runs. I personally like those because they offer a cleaner separation between content and design.
I'm trying to learn Wordpress now and it's backwards of what you want - you create template environments and half the design seems to be controlled by the code. Great if you want to swap generic templates around, but if you customize them you're doing a lot of work. I'm looking at a site I inherited and conditional statements are a nightmare - half in the templates and other in the plugins themselves (Events, I'm looking at you).

Should Wordpress be used to create a real estate listing site?

I have a real estate agent client who wants a website to list the properties he's selling. Although there are great 3rd party web apps out there that do this, he adamantly demands that I recreate a simple and custom website for him.
I can do this quickly with a php framework like Code Igniter that comes with MVC, data access objects and data bind controllers. The database would be straightforward:
t_page: generic content pages
t_property: for each property on the market, has fields like address, price, #of bed rooms etc..
However, the client has heard many great things about Wordpress, and strongly advises that I build his real estate site with it. I've only used Wordpress to create blogs and relatively straightforward websites. SO I dont know how effective it is as a real estate property content management system or how effective it is for users to search for real estate properties based on attributes such as "# of bedrooms, square footage, is basement finished etc..."
So my question is, is it a good idea to build a real estate agent website with Wordpress? Or should I try harder to convince him to build it with web framework like Code Igniter?
Rather than argue with your client about the future platform or CMS or listen to people for/opposed to WP out of principle, sit down with your client and map out exactly what he/she wants to do in terms of the site. How do they want to add material or blog posts? How easy should it be? How do they they want users to be able to search: by price range, location, etc? Get them to show you on other sites how they want things to work.
Then look at the capabilities of various CMS's, frameworks and the like. Investigate search and MLS plugins, property XML feeds, maps. Determine what other real estate sites use (esp. his/her competitors).
Then explain your decision with evidence as to what they want to do compared to what's possible with different systems. They may talk themselves in or out of systems without your help.
It's called working with a client so they get what they want in terms of usability and end-user functions, not imposing what you want on their project. Sure, you know what you are talking about in terms of getting things to work, but they don't care; they want it to work in a certain way: their way.
(And see what's already out there in terms of Real Estate WordPress Plugins and WordPress Real Estate Themes).
I've developed several real estate sites using Joomla and openRealty, and I have tried to create a decent real estate site for my wife using Wordpress due to it's ease of use for end-users, but unfortunately programming a real estate site in Wordpress is tricky. It's a blogging engine and not terribly good at "directory" based information. So I find that the ease of use goes out the window as you try to hack together real estate functionality. Then you are asking your end-users to create custom-fields, etc and it becomes a pain and you end spending too much time managing your end-users.
I love WP. But, a directory style site is not it's highest and best use.
If the client is so adamant that you use WP for his site then let him do it. Then wait till he comes crawling back to you when he can't get it to do what he wants and you can build in properly in CI.
You wouldn't tell a plumber to fix your toilet with a socket set...
Check out ExpressionEngine, it's perfect for this as you can create custom fields (# bedrooms, square footage etc.) and retrieve content by any of these custom fields using the {exp:channel:entries} tag.
So basically you'd create a channel for these listings and then use "custom fields" for the data about each of these listings (specified by the needs of your client).
If you need design for this site "City Guide" from WooThemes will be available for EE as of tonight ;-)
And since you mention CodeIgniter - EE 2.0 is built on CI and if you need some custom functionality it's all CI so that should feel like home.
Wordpress custom post types would work well for this sort of site.. A custom page template and modified WP_Query would provide the basis of the site.
As mentioned by everyone else, WP probably isn't the absolute best tool for the job, but it would not be a bad choice. I've done weirder things with it.
Old question but still relevant. My opinion is that WordPress is not a good option for creating real estate listing sites. The main reason is that it is designed primarily as a blogging engine so it requires a lot of work to set up and is susceptible to getting hacked. More detailed explanation here:
https://smallbusinessforum.co/why-an-alternative-to-wordpress-is-needed-for-real-estate-websites-ff82de096d93#.j2cduk4xs
I think that using Wordpress is a plus, not because it is the best program to use, but if you make the site properly, and he wants to add/change something, you (and many other people out there) can mold it to his needs.
There are a lot of plugins you could extract some php code from and make a good listing. You also have the option of using post_types (which are saved as posts), custom fields (which all the fields are saved in one table but indexed), or creating your own tables (adding tables function or using a plugin like PODS).
I think you will save time on coding if you go with Wordpress, and customization is pretty okay (not anywhere near decent, but I am pretty sure this site will be the next craigslist). Wordpress is the 1995 Toyota Tercel of CMSs: it won't be great, but it gets the job done, and almost everyone has worked on it at some point in their live.
If the money is good, then try to wow him with a CI demo. But with WP, could probably accomplish your task in a few hours. There are ways to set up CI around Wordpress, but that is beyond me.

Drupal vs Some Other CMS

I'm going to be moving my website to a CMS in the coming months I'd I need some help on choosing an appropriate CMS. Many of the websites I've seen tend to say "use Drupal, hands down". However, my website truly doesn't have a need for commenting or community features. Its pages will need to be modified occasionally, but not extensively. My website will also consist of many programs, each with their own sub-pages and menus.
There are probably 25 people that will need access to the content on my website and will need the ability to update it.
I do like the idea of being able to tag and categorize the content, and the modular aspect of Drupal but is it really right for my website? If not, which CMS may fit my needs better?
It sounds like Drupal would be an excellent solution to your company's needs. I used to recommend WordPress for smaller, single-blog type sites, but now, even for those, I recommend Drupal because you can start small and scale up as your needs grow. It has a very dedicated community and there is a module for just about any need you may have.
I would agree with Drupal. The thing about Drupal is that you start out very small and add on as you need things. There is a ton of documentation, it is well coded, always being expanded on, good forum support, and free. It's the easiest to install, most problem free, and most maintainable CMS system I've seen so far.
You can turn Drupal commenting off with the press of a button, and if/when you decide to add onto your website, perhaps you want an ad rotator, more extensive user permissions, etc, etc, it is all already developed for you and ready to go.
I am not sure if Wordpress supports multiple users on a site.
The smallest you can go for a CMS is something like 10kCMS or the more popular TinyMCE
If it is something small I will go with WordPress as it is easily themed and extensible. There are a lot of community plugins and support. Their documentation is also fairly simple as they don't have a thousand of functions and stuff you need to remember and understand. With some creativity the basic functionality of WordPress is sufficient to solve almost all problems that might arise in small to mid-size website.
I also like Drupal, but you may consider Umbraco as well. http://umbraco.org/ I'd use Umbraco over Drupal if your team is stronger in .Net than PHP. (Really, I think that's a larger concern - what are your organization's strengths? Play to suit them. You are making a decision that will pave the way for many developers besides yourself, and business decisions of your company.) Both are extendable and open source so you can write your own modules/components to customize. It may be cleaner to import into Drupal tables than Umbraco, since it goes down to xslt files. (EDIT: This looks to be no longer the case in the new version - http://umbracohosting.com/umbraco-4---get-excited/one-cms-any-database) From a front end dev perspective, both offer great control of the final output.
From working on legacy stuff a lot, you may end up hiring interns to do the gruntwork. There's bound to be tons of inline tables and all sorts of un-reusable code in there, it may be easier to scrape the content manually and start w/clean markup for the content portions.

Resources