Get it All
Together

Change is hard. After 14+ years of WordPress development, change is also a constant thing. But the change to using the WP Customizer, as required by the WordPress repository, had me kicking and screaming rather than complying.

Mind you: I don’t actually submit to the repository for themes. But when the WordPress devs start laying down the law like that, it doesn’t take much imagination to recognize that more pressure will be building up soon. And development of the core will definitely be going in that direction, so you may as well find a way to love change because change is coming.

I understand perfectly the need WordPress devs are confronting: what used to be a relatively well-organized, small community is becoming unmanageably large and the result is a whole lot of bad code. People put options wherever they feel like, making the use of WordPress – because in the end, users will only ever blame WordPress, not private developers – an arduous and unsatisfactory process.

But I am also experienced enough of a WP developer to remember some of the bad roll-outs and misbegotten innovations past. Post formats were basically a half-assed attempt at building something CMS-like out of WordPress. Taxonomies were introduced with huge fanfare and literally no documentation on why the hell anyone would use them. The truth be told, taxonomies would continue to be teets-on-a-bull until custom post types were rolled out several years later.

And then there was the ultimate bugaboo: the Settings API. I’m confident that the rollout of the Settings API was as quiet as it was because everybody knew it sucked. One day, it didn’t exist. Then all at once, there’s the documentation… documentation which was predictably incomplete and completely unintelligible.

Functions in the Settings API were misleading and confusing. Their function seemed to point the way to some other, here-to-fore unmentioned other requirements. Whatever those were, they weren’t the things developers needed. This was doubly frustrating because, having worked with CakePHP for a while, I had really hoped WP would adopt the universal form functions that CakePHP used. I still believe there are people making money off forms – contact and the like – that should always have been a core feature of WordPress, but I digress.

The point is: I’m a bit punchy about just adopting the new propaganda wholesale. WordPress’s rollout history is checkered, at best.

Right. But you were saying you were “on board?”

Yes, yes. Sorry.

Like I said, I know that the pressure to adopt the Customization API is due to get stronger as we go. So, it pays to stay ahead of the curve, to the extent that such a thing is possible. And with the latest update to 4.3, there seem to have been some major updates to the Customize layout that make a difference.

The biggest thing I have objected to in the past – beyond my gun-shyness about WP updates – was the fact that, with only one narrow column to work with, I just could not see a world where dozens of plugin- and theme-derived customization settings existed in an ever-increasing Scroll Bar of Doom.

The WordPress gurus have solved this problem by making each section a drill-down, giving each options section the full height of the window to operate on:

customize-bar

Well, that’s much better, isn’t it??

Right off the bat, I can begin to see my content and modifications fitting inside the Customizer. Well done!

But even better – and I cannot stress how happy this makes me – the Settings API has been completely subsumed and improved with the Customize API. In fact, it’s about as basic as my needs are: create a section (if you want), create a setting, create a control that handles that setting, then place the control in the section you want. Boom! No messy saves, no ambiguous functions, no labyrinthine inter-functional hubba-bubba. Just tell WordPress what you want to save and consider it done.

More to go…

As wonderful as the Customize API is, it’s not a stopping point. The documentation could probably stand a brush-up, but there are also somewhat ambiguous points to the code itself. Like for example, if I have a group of checkboxes, I clearly want to be able to associate them all with a single setting. Sure, I could go with “icon_font_fontawesome,” “icon_font_zocial” and so on, but this seems to be a great way to clutter up the database with very little upside. It also makes getting/setting these options a bit cumbersome, as I solved with this little doozie:

But to me, this could have been solved by allowing us to save arrays to the database, which at present, does not happen. Lots of other optional settings might require array saves, or a developer might just prefer to save a multitude of related, oft-coexisting settings in one setting array to save on extra database pulls. To the extent that WordPress is still willing to accomodate differing coding styles, this really aught to be an allowable process.

But there’s no question that, on the go-forward, I will be using the Customizer over individual settings pages all day.

Sooner rather than later, you’re going to get asked. No matter how you slice it, people are going to insist they need it. But… how do you go about grouping a list of posts by taxonomy?

I’ll give you an example, referred to in the title of this post: the menu. While menu items are normally listed by a specific menu or category – breakfast, lunch and dinner, for example – many menus require a further subdivision of menu items. Wine lists, for example, need to be broken down by red, white and blush or rose. Beer might get split up between domestic, imported and microbrew. So, if you use a custom taxonomy to organize your menus, you’ll need to be able to further subdivide in this manner.

With my current client, I do a lot of menu work. And yes, you could just list out each menu and submenu with their own loops. But that’s inefficient and just not in the character of a good developer. There has to be a way to make this easier. And there is.

The below code is based on code further derived from a WordPress.org blog post. But while that code worked for a limited set of options, I wanted something more abstracted that could apply to many different types of scenarios. Here it is:

You’ll notice, of course, that this example is highly-specific to menus at the moment. That’s at least in part because I couldn’t get WordPress to load a template part with the right variables. You’ll also note that the call to the second function looks like it’s OOP. That’s because it is. I write my WordPress theme functions.php file as OOP. But otherwise, this should be a very easily-compatible bit of code to fit your own particular needs. Enjoy!

I’m mostly just placing this snippet of code here because I don’t want to lose it. Regardless, if you’ve been searching for a way to filter your list of posts (or CPTs) by a custom taxonomy (like you can filter through posts with native Categories), then this is your solution. It began with a WordPress.org forum post, which while close, didn’t quite get the job done.

After a bit of tinkering, I know I’ll be using this filter quite a little bit. So, bon apetite. Please note that I use an object-based functions.php file, so this is a snippet directly from my object. Your mileage may vary.

The new, improved Rochester Optical Stores website.

The new, improved Rochester Optical Stores website.

More than anything else, I love making life simpler for my customers. Who doesn’t? And when making my customer’s customers’ lives easier is the name of the game, I can’t wait to get started!

Rochester Optical’s local stores needed a web facelift. After years of tweaking and retooling their website for the needs of the business, it had become a labyrinth of back alleys and places for customers to just get lost, get bored and ultimately leave. Google Analytics told the tale: customers would use the top-level navigation to seek out information they wanted, then scatter into a dozen different directions, based on the next hyperlink they encountered that interested them.

It’s great to inform your customer, but ultimately, what RO needed was a lead generation machine. On this level despite having an online form to book appointments, the site had not really pulled its own weight.

Speaking with the Director of Retail Operations, it was clear that what was really needed was a drastic simplification of their message and their website. Instead of letting customers get lost in an endless stream of links, we stripped the site down to a one-page appointment-booking machine. Those top-level links that had been so successful in luring customers before were maintained, this time directing the customer down the page on a horizontally-striped layout.

Every single section of the site ultimately encourages the customer to come find out more. Want to find out more about a location? Come book an appointment. Like the designer brands Rochester Optical works with? Book an appointment and have a closer look.

The company has plans to expand the site presence with a blog to publish to social media outlets with helpful advice about glasses, contacts and vision health. HolisticNetworking has plans to help them see it through and increase the social footprint of a local Rochester institution. HolisticNetworking will help you get it all together, whenever you’re ready, too!

Need some fresh thinking in your web presence? Contact us today!

At HolisticNetworking, we understand: you’re not a web developer and you’re not a web company. You need the web to do what you do best. But maybe the web has been taking too much of your time and not giving you what you need. Even worse, you may be paying for services you don’t need that used to support a project you are no longer working on. Dollars are flying out the back window, while trying to keep your eyes peeled out the front window.

But it doesn’t have to be this way. Those lost dollars can be recovered, if you just have an expert take the time to look over your web infrastructure and help you reorganize. One possible solution is to consider using WordPress for some or all of your web properties. If you’re thinking of ways to save your company money, here are five good reasons to take a second look at WordPress – and five good reasons to contact HN today to help you do it.

5. Many sites? Just one WordPress.

Most companies have, for one reason or another, several domain names under their ownership. Maybe you’d like to market directly to a very specific audience. Maybe you’re protecting your brand and registered trademarks by owning microsites for each of them. You have your reasons.

Where Did My Content GoBut they all need to be tracked, administered and occasionally updated. That costs time, and time costs money. In fact, literally every thing on this list can be multiplied by the number of sites you need to maintain. Is there an easier way?

Why, yes! Yes, there is! WordPress was developed to be capable of hosting several websites all at once. Different domain names, same WordPress. That means only one version of WordPress to be updated, ever. One set of plugins. One set of themes.

Say goodbye to multiple web hosting accounts and nickel-and-dime costs of doing business: with WordPress multi-domain, you can have just one bill for all your accounts.

Find Out How You Can Save on Web Hosting Today!


4. Updated content? No problem!

Maintaining and administering a website is one thing. Updating the content on the site is quite another. Do you really need to call in an expert every time you need to change a phone number?

Photo courtesy Diesel Demon @ Flickr.com

Why, no. No, you do not. With WordPress, you can grant users permissions to alter or post new content any time you need them too. Not just updating phone numbers, but posting new updates about products, sales or promotions. Whatever you’d like the world to know about what you’re doing, you can have your own people – the people you already pay to come up with marketing content – to update your site and leave the pros like me to work on something else.

But… doesn’t that mean a lot of chaos and potential damage to the site? Why, I’m glad you asked…

3. Who changed that? User control and tracking.

If you’re used to having developers like me alter pages by hand, then if nothing else, you’ve always known who was at fault if content was not correct. Now that you have WordPress running your sites, does this mean you lose that ability to pinpoint trouble?

….nnnnnope. WordPress has user accounts whose changes to content are always tracked. If a change is made, just look up the last person who altered the content and let them know it’s wrong!

Not only that, but you can actually control which users have access to which content. So, users who have no business updating marketing material never have to worry about potentially messing things up. It’s piece of mind for you and your employees!

Save Time. Save Money. Unburden Yourself!


2. Are we safe? Regular security updates.

Photo courtesy Sarah Joy @ Flickr.com

Don’t be fooled: even the best of us find ourselves checking our six, watching for the next hack or outbreak. That concern – along with a goodly dose of real-world experience – is what makes the good developer what he is. But for those without that real world experience, worrying about viruses, hacks and whatever “malware” is tends to just be an anxiety-ridden waste of energy.

WordPress takes the guess work out of security by featuring a regular update schedule and regular security checks: if developers discover a nasty, they take steps to fix it and roll out updates. The WordPress community also has award-winning security measures like iTheme’s Security suite that makes the already-secure WordPress even better.


1. Can we sell it online? Now making eCommerce even easier!

WooCommerce-LogoVeterans of WordPress development know that eCommerce never used to be an easy thing with a WordPress site. And since the WooCommerce plugin came along, it’s been almost every developer’s go-too eCommerce solution. Now WordPress has taken things to the next level and purchased the WooCommerce plugin from it’s parent company.

This means that an already highly-effective eCommerce solution just got even more effective, and that over the next couple years, will become native to the core. Now would be a great time to get ahead of the curve and start selling using the once-and-future WPe solution!

Get it SOLD. Start a WooCommerce store today!

Probably the biggest name in WordPress stuff besides Automattic (the WordPress development company) is WooCommerce. That’s largely because so many people looking to use WordPress also want the opportunity to sell their product lines on their websites. Not only that, but many of us use WooCommerce in conjunction with Prosociate to offer Amazon products to our customers as I do on the DFE Bookstore.

As Matt Mullenweg explains, many of us have been wondering when building a store in WordPress would be as easy as building a blog. Well, now they’ve inked the deal that brings Woo and Automattic together for the first time. And you can bet that means big changes for both WooCommerce and the WordPress core in the next few years:

For years, we’ve been working on democratizing publishing, and today more people have independent sites built on open source software than ever before in the history of the web. Now, we want to make it easy for anyone to sell online independently, without being locked into closed, centralized services — to enable freedom of livelihood along with freedom of expression.

It’s not a new idea: at a WordCamp a few years ago, someone stood up and asked me when we were going to make it as easy to create an online store as we’d made it to create a blog. Everyone applauded; there’s long been demand for better ecommerce functionality, but it’s been outside the scope of what Automattic could do well.

Many of my clients use WooCommerce in one way or another. And eCommerce is what HolisticNetworking knows best. Are you ready to start selling on your WordPress website?

Contact me today and see how I can help!

NOW CODING!

HolisticNetworking

is now a

Partner!

Interested? Contact Me Today!
In the years and decades that I’ve been working in various sections of the IT community, the one thing I’ve watched every company struggle with is ecommerce. If that sounds over-obvious, it’s probably because you too have encountered this problem. We all want to sell our stuff for the best price in as many places as possible, but would be Internet shop owners too often find themselves boxed in by limited services and products that simply don’t fit the mold.

Even if it seems like everybody’s got an online store these days, that doesn’t mean they’re actually selling anything online!

The things that make a business unique and a product worth having also hamstring efforts to bring that product to the digital market. Because it’s complicated; because the product does not fit the mold. How do you explain your unique product in software designed for a pre-set type of product?

Recently, I’ve begun working with an entirely new platform that I’m starting to become a big, big fan of: Shopify. The developers of Shopify seem to have started from the position that they cannot know every business model or product, and opened their service up to developers like me. With their system as a starting point and your business as an end point, Shopify gives me the freedom to develop a shop that works for you. Among it’s chief benefits are:

A Reliable Base

Shopify takes a lot of the headaches of development away and makes things safer and cleaner for end clients by providing a robust set of tools right out of the box. This includes many of the sticky things that hold up projects, including compatibility with PayPal, Authorize.net, UPS and many other commonly-used 3rd party services and APIs. Everything can be served up via secure HTTPS and you never need to worry about PCI compliance again.

Extensibility

Because the Shopify developers understand that they cannot know how to sell your product, the system comes with an Application Programming Interface, which is basically a toolbox full of code that developers can use. Instead of having to fit a square peg in a round hole, I can develop your site the way you need it to be. I can use prebuilt plugins and themes or I can develop my own code to get you the perfect store.
Ready to Start Selling? Contact Me Today!

Inventory

Shopify can manage your inventory for you, whether that means tracking only the stuff you’re selling online, or your entire catalog across all channels.

Hosted and Verified

On top of all the other specialized tools you need to run an ecommerce website (see above), there is the issue of hosting. Yes, you can roll your own store software and host it wherever you like. But when a server goes down, it’s up to you to fix it; if SSL encryption isn’t working, it’s up to you to get it back running. Otherwise, you’re losing money.

Shopify is a hosted solution, which means that they actually have several servers that can host your site in case one happens to go down. No lag time. They have dedicated on-site professionals taking care of security, scalability, up time and maintenance. All you need to do is keep selling your stuff!

Point of Sale

Shopify doesn’t just host an online store for you. If you want them too, Shopify can also help you run and manage your point of sale business as well. Shopify provides apps and mobile fobs you need to be able to create an order, configure a product and swipe a credit card right on the spot, wherever you are. In your store, at a festival, or just out at the bank. Sell when you find the customer!

Having already worked with Shopify for a couple of different clients, I’m confident enough in the product to announce that HolisticNetworking is a Shopify Partner and ready to make your online sales goals a reality. Please contact me today to find out how I can help you and just how easy online retail can actually be!

Contact Me Today!

As a developer, I spend a lot of my time looking up the “next hottest thing” floating around in my industry. I install all manner of tools, APIs, SDKs and fixtures. I spend an afternoon – sometimes, even when there’s money to be made elsewhere – coding in a new language. And even if the product of an afternoon’s diligent coding is a spinning “Hello World” Javascript toy, I’m happy to have done it.

Because I do for my clients, many of whom want it. I do this to increase my company’s brand reputation. But the truth is, even if I was out of work I’d still just be looking. Because it’s awesome.

Having said all this, it is with distressing regularity that I find customers looking to launch their businesses into the 21st century in a single, colossal and above all, affordable leap. And on the other side of the coin, I meet clients with sites clogged by a decade’s worth of treasured “tools” and apps all aimed at selling niche markets niche products. In both of these cases, I feel, the vanity of “awesomeness” outweighs the purpose of a website: to communicate with an audience.

These thoughts come to me as I recall a recent meeting with a client who needed a complete rewrite of their website. After years of neglect, a conga line of underpaid junior programmers made the best of an increasingly bad situation. The result was a WordPress website that literally no one in the building could manage. Content had been hard coded into theme files, just to get it done. Plugins ran amok, conflicting with one another and using coding practices abandoned with PHP4. Worst of all, the site advertised for brands the site didn’t carry any longer and key features for customer capture were not reliably working.

But, my customer declared, they’d never be able to keep up with the websites of their competitors. Those sites had special apps aimed at giving the customer the right information right where they needed it. Those sites had fancy graphical elements and Flash applications that were meant to drive the customer toward setting up an appointment at a local store.

“But,” I asked, “does the site actually do any of that?

The answer was, of course, that we don’t know and can’t really know. Maybe all those fancy apps have gotten them tons of leads. Maybe they get the company absolutely no leads, but just look pretty cool. Regardless, the point is that you want the lead, not necessarily the toy.

The fact of the matter is that any customer who has visited your site – regardless if they’re “organic,” self-directed visitors or if they’ve followed a paid link somewhere – has already shown a tremendous amount of interest in your products. Certainly, if I type your website address into my browser, I’m already interested; followers of paid links have also made a choice to visit. You might not need to work so hard to get them to participate. Just ask nicely.

eCommerce websites have a harder job. Services sites like medical data portals or FedEx have a much harder job. But if you distill your business needs down to their essence, the purposes of a website may actually be shockingly few. Few, that is, but important. Stop chasing every cool new gadget and focus on your purpose.

I recall a book I read in my youth wherein a wizard tells his young acolyte that, “any gift that you can’t throw away is a trap.” The same rule applies to web sites. If some shiny thing that you own or want to own prevents you from tossing it aside to focus on your needs, it’s just getting in the way. It’s sapping resources while the real needs of your company go unanswered, either because you’re afraid to throw away a long-cherished toy or insisting on punching the square peg of your company’s business through the round hole of High Technology.

Start fresh!! Focus on the now. Identify your goals and quantify success. Simplicity is quite liberating, if you let it be.

Contact Holistic Networking now to find out how we can help!

Is it better to work from home, or to have a separate office? Since the Internet liberated so many people from the geographical location of their employers, this has been a perennial conversation. The answers are likely as diverse as those that posit the question.

Recently, an interesting article cropped up on Medium, discussing the ways in which working from home can be made better for those seeking the home life. It was compelling enough an article that I thought I’d work my own two cents into the mix.

What does it take to work from home?

My wife and I are a good example of how two intelligent, hard-working people can require two vastly different environments to be productive.

My wife is a teacher. She may yet find that her job transfers to a home-work job, but for now, it is a strictly brick-and-mortar affair. For her, being needed in the workplace is a specific perk of her job.

Externally-constructed schedules and priorities are not necessary for me. In fact, I need to find time to not work. My job requires a certain level of solitary existence in the first place, and in ways, it’s pointless to try to micro-manage your work day. Inspiration and ideas come when they come, and trying to code while you’re in a rut is a fruitless way to tear your hair out.

I’m up at 5 every morning, often at the gym for the first hour or so, and at my desk actively coding by 7. I take lunch breaks like I’m working on the line in a factory. And I generally have a set weekly schedule, Mondays being “business of business” days, and Fridays being freelance writing days.

If you’re not able to reproduce a schedule like this, it seems to me, you’re in danger of not being able to account for your time. What, then, does it take to be a home office worker? Here are five key concepts that have helped me.

5. Balancing scheduling with fluidity

This is a tough one, but it’s the nut of any home office. On the one hand, as I said, you need to be able to account for your time. On the other hand, flexibility is probably one of the reasons you got into this!

Getting up in the morning should not be a surprise, and neither should your day’s work. Scheduling and maintaining some level of consistency to your day is key to not letting your skills go soft. If the need arises to prep dinner, pick up kiddos, or even have an impromptu meeting with a client, that should not send you spinning off into an unproductive day.

4. Plan an escape route

This has been a routine problem for me, but I’ve got it figured out. In the past, the home office has been my sanctuary away from the chaos of life, but now the home office is my work! I’m about as likely to voluntarily walk into my home office with no purpose as you are to walk into your employer’s office. Fat chance!

Have a plan to escape the office, on hours and off. Use that flexibility to find new places to relax and ways to unwind, so that you don’t feel trapped at work, even when you’re on down time.

3. The polar bears at the zoo aren’t the only ones that need enrichment!

I can’t begin to tell you how little I enjoyed the water cooler at my old jobs. Awkward conversations about dull topics between people I have little more in common than the building we work in do not thrill me.

But they have their place. And you’ll be without those conversations when you work from home. The good news is: you can replace those boring conversations with social networks, lunches with friends or even networking opportunities. The bad news is: if you don’t make sure to get out and talk to others, chances are good, you’re going to go a little nutty.

2. The whiteboard is your friend. Embrace the whiteboard.

This goes back to the fluidity vs. scheduling thing, but it bears mentioning in specific. If you don’t prefer whiteboards, fine. But you absolutely need a place to write down your projects and their status. It’s a lot easier to take breaks in your day when you can come back to your office and stare at something for a minute until you get your bearings.

I’m actually looking to branch out to a second whiteboard, so I may end up writing a second article about being addicted to them. I reserve the right to append and revise my advice as needed.

1. If you must have distractions, pick the good ones!

Every morning, when I start my day, I turn on my electric piano. When I’m stuck for a solution to a problem or when the tedium of a repetitive task gets me down, turning around and playing a Steely Dan tune often resets my brain. Music is a great meditative practice and one that, over the course of my career as an independent contractor, I’ve become dependent on.

Music may not be “your thing.” But if you’re planning on spending a lot of unsupervised time alone in your room, perhaps those of you inclined to distraction aught to consider which distractions are good and which are bad. If Facebook is a reason to take silly quizes and comment on someone else’s baby pictures, it may not be a good use of your spare time.

But something like Quora, which asks you to answer questions and contribute to the community’s knowledge base, might be more productive to distract your mind while not letting it go AWOL. Meditation is always good to clear the mind and eliminate anxiety, perhaps find some good meditation videos on YouTube?

Whatever your path as a work-from-home employee, I think one key to a successful career is the ability and desire to revisit exactly these kinds of questions. I hope I have given you some good advice!

Among my most treasured resources online is the Pew Internet Research website. On this website, “Big Data” is given real human impact in exactly the kinds of ways universities across the country (including the U of R, for which I developed a site. Plug, plug, plug) are striving.

Recently and crucially, Pew has released a series of Twitter conversation illustrations, what they’re calling “maps,” to better understand how relationships on Twitter work out:

Mapping Twitter Topic Networks: From Polarized Crowds to Community Clusters

People connect to form groups on Twitter for a variety of purposes. The networks they create have identifiable contours that are shaped by the topic being discussed, the information and influencers driving the conversation, and the social network structures of the participants.

Pew Research's Twitter conversation maps. Note that all such mappings have opposites.

Pew Research’s Twitter conversation maps. Note that all such mappings have opposites.

At first blush, a lot of this information seems obvious, and on the surface it is. Like a lot of science  rather than revealing wholly new information, social media mapping codifies and confirms that information we have already inferred.

Political discussions tend to create isolated clusters of polarized conversation, like those modeled at the top left side of the diagram. Support staff are always actively seeking out conversations with strangers who have brand-related issues, creating outward-facing spokes like those in the third row, right side.

But even if it is simple – perhaps especially because it is simple – it is also an easy concept to overlook. What does your brand hope to foster out of your social media efforts? Community? Support? Sales leads? And which of these conversation maps best fits your goals?

Knowing how your communities aught to look goes a long way towards understanding how you should be gauging success. It is not, for example, important to track link clicks if you’re primarily on Twitter for social support and brand protection. It is, however, important to track both the response rate and response time you’re giving too and getting from your customer base.

If fostering a community around your brand is something you value, then tracking clicks, comments and especially resharing is essential. As is seeking out that community and monitoring their conversations through a list. As is creating and monitoring hash tags. 

In practice, your social network will doubtless be a blend of the many types of mapped conversations you see here. And perhaps all of the various mappings are important to you. But by focusing on social media mapping as a strategy, you can better understand your place in the community and what it will take to get where you need to go.