Web Site Design Blog

Tag: php
December 19, 2012

Sue Rosengard Jewelry Design, Ltd. - Chicago, IL

Sue Rosengard is a jewelry designer who wanted an eCommerce site that she could sell to both retail and wholesale customers. This site was built on the osCommerce platform and contains numerous customizations and improvements including custom content management tools. I will try to post more in the web design blog about the modifications done to osCommerce for this implementation.

A fellow artist recommended Ross to me. After hearing horror stories from other people about disappearing webs designers, months of going back and forth, unfinished projects, I wanted to make sure I was making a wise choice. And I did. Ross has been amazing.

He started working on the project and within about 6 weeks we had this awesome site. I was a little nervous at first because the sites of his that I saw were not quite my look. But he understood my design aesthetic and created a site that not only complements but enhances my jewelry designs. One of the many things he suggested (and we did) was a Look Book (pictures of people wearing my jewelry). It was both fun to create and adds a personal dimension to the site.

From a functionality perspective, the site is super easy to navigate and I have already gotten positive responses from my customers (and a large order). I have a very limited amount of experience (almost nil) with creating or maintaining websites but after Ross showed me how to log in and where to go I was able to easily update some basic info and content. I am looking forward to having control over my site and feeling both comfortable and confident with its upkeep.

I highly recommend Ross. He was very easy and pleasant to work with. In addition he was 100% on time with deadlines. Most importantly though, he listened to what I said I wanted and didn’t want.

— Sue Rosengard

June 7, 2012

Liane Fried was referred to me from an existing client. She had been struggling for months with her web company to complete an e-commerce web site. She was generally happy with the initial design, but there were functionality requirements that had been lingering for weeks. Liane contacted me for advice after several weeks of unresponsiveness from her web designer. After reviewing the website source code I agreed to help her.

The website was developed using the osCommerce platform. osCommerce is an e-commerce package written in PHP. Since she was happy with the design and I had experience with osCommerce, I knew we would be able to complete the website requirements to her satisfaction.

The website specification required both wholesale and retail pricing structures. An analysis of the website revealed the developer had set up 2 separate stores and databases, one for wholesalers and one for retail. This was a less than ideal scenario. I pointed this out to Liane and explained how we could set it up to use the same store for wholesalers and retailers by creating separate pricing groups for logged in users. This way she would only have to maintain a single catalogue of products with retail and wholesale prices. Visitors could apply to become a wholesaler and Liane could approve them after reviewing their information.

There were numerous other customizations including custom email notifications, custom content management and display for the retail galleries section, automated image resizing, custom what’s new? module and much more. In the end Liane is happy I was able to complete her site and communicate clearly with her throughout the process.

Liane Fried Studio
* original design by other

I began working with Ross after my previous web designer had “disappeared”. He worked very closely with me, taking over the mess of a site my previous designer had left. Ross accomplished more for me in two weeks than my previous designer had in six months. He guided me through the website building process with good direction, a lot of patience, and quick responses to questions. I am pleased with the great job he did; he is a true professional. I would recommend him to anyone seeking a webpage designer.

Liane Fried
Liane Fried Studio

June 4, 2012

I recently added the Facebook comments and Addthis plugins to my site. One of the issues that occurred was a duplicate ‘Like’ button when the comments plugin loaded. After a quick look at the comments plugin code, I saw that the Facebook javascript SDK was being loaded in the footer.

add_action('wp_footer', 'fbmlsetup', 100);

My first instinct was to move this to the ‘wp_head’ hook, then I realized that wouldn’t be good because it would place the <div> and script inside the <head> element of the page. My experience told me this code is supposed to live right after the <body> tag. Apparently there is no such hook built into WordPress, but to create one in your theme is simple and painless.

In your theme’s functions.php add the following function named ‘after_body’:

function after_body(){

In your theme’s header.php call the ‘after_body’ function right after the <body> tag:

<?php after_body(); ?>

Now just a little hack to the plugin code, I commented out the ‘wp_footer’ hook and replaced it with the ‘after_body’ hook.

// moving this to head to avoid conflict with addThis buttons ... 
// add_action('wp_footer', 'fbmlsetup', 100);
add_action('after_body', 'fbmlsetup', 100);

This resolved the issue and helped me understand how simple it is to create a custom action hook in WordPress.

May 7, 2011

We now have a demo up featuring a video player developed by Ross Sabes.

Video Player

This player utilizes a full featured custom back-end video database management tool.

Web Video Player Admin

Each video title can support multiple files in a variety of formats (FLV, MP4, Ogg, WebM, etc…) and settings for maximum compatibility and performance across the widest possible array of devices. The player can be customized to detect the users bandwidth and play the most suitable Flash format available. If the visitor is using an iPad, iPhone or iPod the player is programmed to use the compatible MP4 format with both high and low bandwidth options if available.

Video Edit Screen

Videos can be assigned to multiple pages by the administrator.

Select Pages for the Video to Appear On

Select pages for the video to appear on.

Videos can also be tagged for search engines and other custom functionality.Tag videos for addtitional functionality

Visit the front-end here
For a demo of the back-end contact us.

This program was developed using:
and MooFlow

November 9, 2010

Deazzle is a custom designed ‘Deal of the Day’ web site. Deal information is entered and scheduled using a content management system. This web site also features a business directory, coupons, WYSIWYG content editor and many other features that are continually being updated and developed.

Working with websitedesignby is a truly amazing experience. I had worked with 4 other website development groups previously for other websites or projects and I have never been as pleased with the high level and quality of service that I get from websitedesignby. Ross has design talents as well as being analytical. He not only listened and developed what we were looking for, but he presented ideas and solutions to make the website/project better. Working with websitedesignby is a pleasure and I would recommend them to all my business associates regardless of the size of project.

Lisa McNamara

August 29, 2010

Here is a simple little regex tester I made: regular-expression-lab

August 13, 2010

There are 2 ways a website can be developed: either as static web pages or as dynamic (database driven) web pages. Let’s discuss both varieties:

Static Web Pages
All web pages are displayed using HTML code. Static web pages are essentially a series of linked HTML documents. To make a change to a static website one must edit the HTML code directly on each page. While this may work for a simple web site that has 3 or 4 pages, it quickly becomes inefficient as your web site grows in depth and complexity.

Database SymbolDynamic, Database Driven Web Pages
Database driven websites are fast becoming the standard for website development. The content on a dynamic website is maintained in a database. When a visitor requests information for a page, product, article or photo, that request is processed and returned by a database.

Web Site Maintenance
Typically the information in the database is maintained through a secure administrator log-in area. A well designed administrator log-in area makes it easy for anyone to update the website content without having to learn HTML or sophisticated website design software.

Content Management Area

If you are interested in developing a dynamic, database driven website, have static web pages that need to be converted or want help with an existing dynamic website please contact us for a free consultation. We will be happy to discuss the various benefits and options available to you.

You can also use the comments form below for additional discussion and questions.

April 22, 2010

When I am working on a website I have a local development version that I program and test locally. When an update is implemented, it is tested locally before it is copied to the live server. WordPress sites are treated no differently. Here is how you can make the wp-config.php portable to work in your live and local environment. Simply replace the variables below with the actual information for your web site and you will be have a wp-config.php that can happily thrive in both environments.

I defined an additional constant ‘LIVE’ that I can refer to elsewhere in my code to determine if I am on the live server or not.


if($_SERVER[‘HTTP_HOST’]==’livedomain.com’ || $_SERVER[‘HTTP_HOST’]==’www.livedomain.com’){

define(‘DB_NAME’, ‘db_name_live’); // The name of the database
define(‘DB_USER’, ‘mysql_username_live’); // Your MySQL username
define(‘DB_PASSWORD’, ‘mysql_password_live’); // …and password
define(‘DB_HOST’, ‘localhost’); // db host
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ”);
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘LIVE’, true);


define(‘DB_NAME’, ‘name_of_db_local’); // The name of the database
define(‘DB_USER’, ‘mysql_username_local’); // Your MySQL username
define(‘DB_PASSWORD’, ‘mysql_password_local’); // …and password
define(‘DB_HOST’, ‘localhost’); // db host
define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ”);
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘LIVE’, false);


// You can have multiple installations in one database if you give each a unique prefix
$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!

// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to ‘de’
// to enable German language support.
define (‘WPLANG’, ”);

/* That’s all, stop editing! Happy blogging. */

if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
require_once(ABSPATH . ‘wp-settings.php’);

MySQL Queries

Another thing to be conscious of when moving between a live and local server environment with WordPress are couple of records in the wp_options table of the database. The siteurl and liveurl records will be different in your local environment and live environment. If you copy your database from one to the other, just run the appropriate query below (with the liveurl and localurl variables changed to your actual data) depending on if you are copying from local to live or live to local.

Live to Local Query

Run query on local database.

UPDATE wp_options SET option_value=’http://localurl.com’ WHERE option_name=’siteurl’ ;

UPDATE wp_options SET option_value=’http://localurl.com’ WHERE option_name=’home’

Local to Live Query

Run query on live database.

UPDATE wp_options SET option_value=’http://liveurl.com‘ WHERE option_name=’siteurl’ ;

UPDATE wp_options SET option_value=’http://liveurl.com’ WHERE option_name=’home’

If you have any questions or suggestions, your comments are welcome below.

April 13, 2010

A Girl From Jersey

This site was custom developed for ‘A Girl From Jersey’ creations: unique coastal gifts available for wholesale to retailers.

The Problem

When Joanne initially approached me, she had a basic site that a friend had created using WordPress. She did not feel the site was a true representation of the quality of her work and did not have the level of professionalism she wanted to portray her business. It was also difficult for her to maintain as she only had a few pages of content but needed the ability to upload multiple photos into various categories and themes. The way the site was set up was not optimized for the photo gallery type setup she needed. I figured I could give her WordPress template a makeover and install a photo gallery plug-in. After researching plug-ins for galleries I did not find the perfect one I was looking for. Specifically we to be able to upload products and associate multiple categories and themes to each photo. On the front end we wanted visitors to be able to browse a category and have the photos separated and sorted by theme and when browsing a theme, separated and sorted by category. Seemed simple enough, however I never found what we were looking for.

The Solution

In thinking about the design and needing to move forward with the project I decided to build the content management system myself.

The Result

Dear Ross,

Thank you so much for all of your efforts on my new website. The process has been enjoyable from start to finish. I’ve been able to express my present and future needs to you, which you have taken and turned into a beautiful website that meets my current needs and can expand as my business does. I don’t know which I appreciate more: the website that is visible to all visitors or the part that only I see. As an artist/manufacturer, I get paid for the produts I sell, not for the number of hours I put into maintaining my website. So the easier it is for me to upload photos of new work, the sooner I can get back to painting. And the behind-the-scenes tools you have given me to maintain my site do just that. They are wonderful!!! I didn’t need to take classes, buy special software or enter into a 2-yr commitment; you’ve made updating my site as easy as sending an email with an attachment!! I look forward to using your services in the future as my business grows and will gladly recommend you. It has been a pleasure! Thank you!

Joanne Murphy
A Girl From Jersey

September 26, 2009

Nature Song 2009

naturesong.net was redesigned in 2009 to address some issues with the shopping cart, integrate a reseller login so resellers can log in and purchase CDs at a discount and NET 30 payment terms and generally update the look and feel of the site.

The shopping cart and content management system is completely custom. I decided to create a custom system for this site because I had a clear vision of how it should work. The owner, Bill Leverick, wanted to be able to easily update the CDs available for sale. I knew there were off-the-shelf shopping carts and content management systems I could probably have used or customized. Because these products had an ‘audio sample’ component to them that we needed to attach and be able to associate audio files with multiple products, I decided to build it myself. The site integrates PayPal Website Payments Pro for it’s merchant service provider and the UPS API to get shipping information from UPS in real-time for orders with quantities above 2 CDs. The AJAX overlay for each product uses the jQuery framework to handle the JavaScript effects.

In retrospect I am happy with my decision to go completely custom with this site. It allowed me to develop exactly what the client was looking for without excess functionality that he didn’t want or need and might have confused the process. It also allowed me to address his fine-tuning requests quickly and not have to compromise because of an off-the-shelf software limitation.

Here is a quote from the owner:

I just logged on to check out the new NatureSong site that you activated today. I am very pleased not only with the graphics, but with the built in ability for me to make necessary changes to the products. You have done a great job and I would heartily recommend you to anyone. Please feel free to use this site and my other web site, Cape Cod & New England Gift Show as examples of your work.


Bill Leverick

View Project