HeroThemes http://herothemes.com Super Powered Themes, Heroic Support. Fri, 27 May 2016 15:58:53 +0000 en-US hourly 1 https://wordpress.org/?v=4.5.2 5 Common FAQ Myths We Should All Stop Believing http://herothemes.com/blog/5-common-faq-myths-stop-believing/ http://herothemes.com/blog/5-common-faq-myths-stop-believing/#respond Mon, 23 May 2016 10:01:41 +0000 http://herothemes.com/?p=4037 Your site can have the perfect information architecture (IA). It can also have the best web copy ever. However, it might still fail to answer some of your users’ most bugging questions. Why? Well, because it’s not possible. If it were, FAQs wouldn’t exist. But they do. Because even with the best information architecture and […]

The post 5 Common FAQ Myths We Should All Stop Believing appeared first on HeroThemes.

]]>
Your site can have the perfect information architecture (IA). It can also have the best web copy ever. However, it might still fail to answer some of your users’ most bugging questions.

Why?

Well, because it’s not possible.

If it were, FAQs wouldn’t exist.

But they do.

Because even with the best information architecture and web copy, you can’t beat the need for helpful FAQs. Yet a lot of site owners balk at the idea of writing them because perhaps they believe many myths about FAQs. Myths that make FAQs feel like the ugliest, most useless, and unnecessary element on a site.

But these are all, well… myths – time to smash the top 5:

1. No one reads FAQs

The #1 myth stopping people from adding FAQs: NO ONE READS THEM.

It’s either the web designer who puts this in the site owner’s head, or it’s the argument of the usability engineer, or perhaps it’s the site owner’s own assumption.

Whatever it is, there’s data to puncture this one. Desk.com’s research shows that 41 percent of millennials would first check an online FAQ before contacting support. Another study claims that 64% millennials prefer self-help.

So it’s clear: people are increasingly looking for FAQs (and reading them) because FAQs are an excellent starting point for self-help.

2. FAQs mean poorly written site copy

Ah.. this one’s my favorite. Lots of people justify the killing of FAQs by saying:

“Oh, if these are indeed your users’ most pressing questions… then your site copy (or content) should answer them (*smirk*).”

Now a site copy and content, no matter how well written, CANNOT “specifically” answer each question of a user.

Here’s what I mean:

Consider FAQs of a product that offers a full refund within 30 days.

If the site’s copy fails to give information about the refund – sure, blame it. There shouldn’t be a question like “Do you offer refunds?” (unless you don’t and don’t want to highlight it in the copy). The pricing page copy should really cover if you give any kind of money-back guarantees or refunds.

But what about this question: “I claimed for a refund but haven’t got it yet. What do I do?”

Now this question isn’t something that a product copy or its pricing page content can answer. But that doesn’t discount the validity of the question. It can definitely cause concern to a user when they don’t get the promised refund, so it does need an answer. But elsewhere —not in the site copy. IN THE FAQs!

3. FAQs are just made-up questions

Yes and no – that’s how I feel about this issue. And I think over-enthusiastic site owners are to blame for this one. Lots of sites DO sport FAQs full of have made-up questions. Instead of being real user questions, these are questions that the site owners wished (and hoped) their readers would ask.

In fact, made-up FAQs are so common that they landed up on the 7th spot in Nielsen’s report of the biggest web design mistakes (2002 edition).

R. Stephen Gracey shares a few funny samples about this:

Q. What is this product?

A. It’s a widget. It’s the best widget you’ll ever find. You should buy one.

Q. Is it hard to use?

A. NO! It’s the easiest widget on the market. You should buy one…

It’s unimaginable that someone would add these questions to their FAQs but sadly they do. But again, just because some sites do it, it would be unfair to believe that all sites do it.

Look at Ghost’s FAQs for example:

Ghost's FAQ has real questions
Ghost’s FAQ has real questions

 

I’m sure these questions aren’t ones that the product owners sat down to write — these have to be “real” user questions!

While there are instances of superfluous questions, lots of FAQs are actually helpful and voice some real user questions.

4. FAQs have boring and hard-to-read answers

Users too have their share of FAQ myths. They often rush to contact support because they feel that searching for and reading through long, boring, and (sometimes) useless answers will kill their time.

It’s true: unless FAQs give useful answers with easy to follow instructions, it can be a pain to find help in them. However you can tell when a site makes the effort.

Take for instance, MailPoet’s FAQs. They’re a shining example of a slick FAQ experience.

Notice how the answers are short, crisp, well-formatted, and to the point.
Notice how the answers are short, crisp, well-formatted, and to the point.

(Oh and if you’re wondering… MailPoet uses a Hero Theme to implement their FAQ.)

5. A site search is better than FAQs

Often the anti-FAQ brigade argues that a site search beats FAQs. Now, this claim is highly overrated.

While site search is a useful function, most users can’t perform effective searches. Nielsen has repeatedly pointed out users’ poor search skills. He tells of how a user who wanted to buy a “highly protective yet girlish phone case” used the keyphrase “pink impact resistant iPhone 5 cover” to find it!

Needless to say, the user didn’t get what she was looking for. But the bigger problem this study highlights is that people use all kinds of terms to find what they need. This makes the site search approach to handling FAQs even more flawed because it’s not easy to map users’ keywords to support articles.

About trying to replace a site’s FAQ section with a search function, Nielsen says:

“Search is a frequently tried FAQ alternative, but search is rarely enough. The big problem with a search-only approach is that your vocabulary and your users’ vocabulary probably talk past each other. (The “verbal disagreement phenomenon.”) Regrettably, most people are also not skilled at forming effective search queries.”

That said, you can combine FAQs and search, i.e., you can power your FAQ and other support content with a robust search functionality.

If you go for a FAQ solution like InstaAnswer, you can have the best of both FAQs and search. InstaAnswer uses lightning-fast AJAX-based search functionality to fetch the most frequently asked questions and support docs around your users’ keywords. It also offers the potential queries in a live drop-down of results – think Google autosuggest.

With live search not only do your users get to search your FAQs instantaneously, but they also get the answers super-quick, much faster than raising a support request could ever get.
With live search not only do your users get to search your FAQs instantaneously, but they also get the answers super-quick, much faster than raising a support request could ever get.

 

Wrapping it up…

When done right, FAQs don’t just support current users, but they also help prospects make informed decisions. Besides, the more answers you offer via your site’s FAQs, the lesser support tickets will get raised due to them.

Don’t let the myths around FAQs stop you from delivering incredible FAQ experiences. What are some of the other myths you’ve heard about FAQs? Do share in the comments!

The post 5 Common FAQ Myths We Should All Stop Believing appeared first on HeroThemes.

]]>
http://herothemes.com/blog/5-common-faq-myths-stop-believing/feed/ 0
Improving Customer Service with a Knowledge Base http://herothemes.com/blog/improving-customer-service-knowledge-base/ http://herothemes.com/blog/improving-customer-service-knowledge-base/#respond Mon, 16 May 2016 10:00:57 +0000 http://herothemes.com/?p=3812 Customer service is at the forefront of your company. By providing a medium for your customers to interact with your brand, you put yourself in a position that necessitates extra attention and dedication – customer service can be a double-edged sword. On one hand you have the opportunity to demonstrate the technical competence, expertise and creative […]

The post Improving Customer Service with a Knowledge Base appeared first on HeroThemes.

]]>
Customer service is at the forefront of your company. By providing a medium for your customers to interact with your brand, you put yourself in a position that necessitates extra attention and dedication – customer service can be a double-edged sword.

On one hand you have the opportunity to demonstrate the technical competence, expertise and creative problem-solving skills of your customer service team whereas on the other hand you put yourself in a dicey position, to find staff that uphold the company’s image.

A Knowledge Base offers a central, accessible, and informative platform that enables you to provide support while providing a positive customer experience. Furthermore the experience to the end user can be standardised and refined. In this article, we’ll take a look at why knowledge bases are relevant to business success and how you can improve your customer service with a knowledge base.

Let’s put this all into context before we move on.

Why Are Knowledge Bases Relevant to Business Success?

How your customers perceive your company and the products you’re selling can have a significant impact on its success. A Knowledge Base gives you competitive advantage over other similar products in that they reflect experience and understanding of the product itself.

Knowledge bases are more than just an FAQ section that your customers are going to look at from time to time. You can set it up to function as directory that contains important information about your company, the products and services you offer, and how your customers can benefit from them.

Why You Should Set Up a Knowledge Base for Your Business

Aside from being an easily accessible information platform that increases customer experience, setting up a knowledge base has a number of distinct advantages. Here’s why you should set up your very own knowledge base today:

  • Improves customer satisfaction levels. Have you ever contacted a customer service representative and felt they were breathlessly reciting a script that you just knew wouldn’t help? Remember how utterly frustrating that was? With a knowledge base, you can prevent your own customers from wasting their time going through the traditional procedure and, instead, allow them quick access to helpful answers.
  • Creates a central information hub. Knowledge bases make for excellent information repositories. Next time any of your customers has a question about your products or a customer service representative has trouble remembering something, they can query the knowledge base and instantly find what they were looking for.
The Dropbox Help Center covers just about any question a user may have and works like a central information hub.
The Dropbox Help Center covers just about any question a user may have and works like a central information hub.
  • Reduces support tickets. A knowledge base stores a company’s information which answers most of the basic questions a customer might have regarding their products or services. This dramatically reduces the number of support tickets that are submitted to the support center.
  • Boosts customer interaction. A knowledge base not only provides customers with the information they’re looking for but it preemptively answers questions before they’re even asked. This benefits the business in two ways – it increases brand awareness among existing and potential customers and provides a platform for them to educate themselves about the products and services without additional sales material.
The knowledge base over at Restaurant.com preemtively answers visitors’ questions and suggests popular questions in the sidebar, as well!
The knowledge base over at Restaurant.com preemtively answers visitors’ questions and suggests popular questions in the sidebar, as well!
  • Capitalize on human capital. Webmasters operating both small and growing online businesses understand better than most that leveraging human resources becomes quite a daunting task over time. The amount of time, effort, and budget invested in training a human to respond to basic customer service queries can be eliminated altogether with the use of a knowledge base. Let your human workforce take on the bigger problems while your knowledge base takes care of the repetitive ones!

Enhancing Customer Service with a Knowledge Base

The success of a growing online business depends largely on how customers perceive the company and its products. What better way to create a positive, lasting impression than helping out your customers proactively with a knowledge base?

Yoast’s Knowledge Base organizes their articles into categories to make it even easier to search for queries.
Yoast’s Knowledge Base organizes their articles into categories to make it even easier to search for queries.

Studies show that customers expect to get answers to questions they may have regarding a company’s policies, its products, pricing plans, etc. without any delay. Changing consumer personas indicate that more and more customers prefer finding answers on their own as opposed to depending upon a customer service representative to help them out – especially for the little stuff.

Self-service is trending in customer behavior and small businesses can make the most out of this by giving the customers the answers they want utilizing a knowledge base. Not only can you improve customer experience significantly but you also save a ton of resources on training human personnel. The question remains: Which fundamental elements should your knowledge base retain to be able to provide maximum customer service? Let’s take a look!

Accessibility

The first and foremost factor to consider is the accessibility of the knowledge base. According to a survey conducted by Oracle, 55% of customer commit to a brand because of the ability to easily find the information or help they need.

To ensure your knowledge base is easily accessible to your customers, you’ll want to link to it directly from the products page to let your viewers know you have one. Another important thing to keep in mind while designing your knowledge base is that you want it to be intuitively easy to use and navigate through, this can be achieved with well structured and categorized articles.

Blazing Fast Speed

One of the reasons customers prefer using a knowledge base is that the querying process is considerably faster than sending in a ticket. Why not make it faster by introducing a lightning fast, AJAX-based search? Empowering your customers to find what they’re looking for in seconds dispenses remarkable results.

Editable Content

If you’re selling a product that continues to receive updates and improvements, it’s a good idea to make sure your knowledge base is easy to update. This ensures that you won’t have to write an entirely new article each time an update rolls out or you feel the need to make additions to an existing post based on customer feedback.

Wrapping It Up

Customer service plays a central role in establishing and upholding exceptional customer experience. We covered some of the most prominent areas you can improve by setting up a knowledge base on your site. A carefully put together knowledge base can dramatically improve user experience, boost your entire customer service module, and save you valuable resources along the way.

We’d love to hear about your experience with customer service modules and support centers? Do you prefer accessing a knowledge base as opposed to contacting a customer service representative? Let us know in the comments section below.

The post Improving Customer Service with a Knowledge Base appeared first on HeroThemes.

]]>
http://herothemes.com/blog/improving-customer-service-knowledge-base/feed/ 0
5 Ways to Turn Customer Support From a Money Pit Into a Profit Center http://herothemes.com/blog/5-ways-turn-customer-support-money-pit-profit-center/ http://herothemes.com/blog/5-ways-turn-customer-support-money-pit-profit-center/#respond Mon, 09 May 2016 10:00:25 +0000 http://herothemes.com/?p=3738 Customer support is all too often considered a necessary evil by business owners – an attitude that becomes regrettably obvious when you’re on the receiving end of it. Whether online or offline, we’ve all experienced support that’s grudging at best, and actively hostile at worst. Handled intelligently, however, customer support can be transformed into a […]

The post 5 Ways to Turn Customer Support From a Money Pit Into a Profit Center appeared first on HeroThemes.

]]>
Customer support is all too often considered a necessary evil by business owners – an attitude that becomes regrettably obvious when you’re on the receiving end of it. Whether online or offline, we’ve all experienced support that’s grudging at best, and actively hostile at worst.

Handled intelligently, however, customer support can be transformed into a reliable profit engine for your business, rather than an expensive obligation in terms of both time and personnel.

In this piece, we’ll cover five straightforward ways you can turn customer support from a money pit into a profit center, and get a significant head start on the competition while you’re at it. There’s a mindset shift involved throughout here, so let’s get that out of the way before we go any further.

A Word About Approach

Your overall success with any of our five suggestions will be, in large part, determined by your mindset going in. You need to flip the mental switch regarding customer support before committing to action on any individual item – and make sure your staff are fully on board while you do so.

The core concept in each of our five suggestions is that every customer support interaction is an opportunity. Commit to that strategic idea, and the tactics below will quickly start proving their worth. Fail to embrace it, and you’ll be swimming against the tide.

With that in mind, let’s start making customer support work for you!

1. Use Customer Support to Drive Process Optimization

Ongoing iterative improvement is at the core of building a successful business of any size, but it can be hard to spot shortcomings in your own processes when you’re deeply entrenched in day-to-day firefighting. Luckily, your customers aren’t troubled by this particular problem, and will happily describe areas where you’re less than perfect in incredible detail given half a chance.

You’re basically getting completely free business process consultation every time you open the support queue – expert external advice on exactly which operational areas need a little extra care and attention. Make the most of this.

In addition to solving the issues at hand, commit to documenting underlying causes with a view to wiping out the possibility of reoccurrences where possible. It’s a small extra step to take, but one that can quickly transform the overall solidity of your offering, and translate into reduced costs and improved profits.

2. Recognize Customer Support as a Free Product Development Channel

Picture the scene: In one room, there’s a team of product people struggling to work out what customers actually want. In another room, there’s a team of support people listening to customers talk. If these two teams aren’t talking to each other, you’re missing out on a huge opportunity.

Customer support is the coalface of consumer desire. Take the time to regularly mine this channel for product development ideas, and you’ll naturally align yourself with your customers’ wishes and organically boost future sales as a result.

3. Turn Customer Support Into a Content Marketing Engine

Search intent is largely governed by the desire to solve problems of one sort or another, and your support channel is a goldmine of relevant, real world examples that can be transformed into useful on-site content with a little bit of digging.

Take the time to sift and categorize your most common issues and solutions, and you’ll discover a content marketing treasure trove – complete with the actual language consumers use to discuss these topics in the wild.

Feed that insight into ongoing content marketing initiatives, and you’ll quickly see the bottom line benefits in terms of increased traffic and engagement on your site.

4. Use Successful Support Encounters as a Springboard for Sales and Promotions

Nobody likes being upsold when a problem is still in play, but there’s plenty of room for promotion in the warm afterglow of a successfully resolved customer support request. This doesn’t have to be a hard sell, something as simple as a linked promotion in the footer of a closing email can be enough to move the needle.

Take some time to work out scenarios that would make sense in the context of your own business, and you’re sure to spot some previously unexplored promotional opportunities which can drive further sales.

5. Remember That Great Customer Support Translates Into Referrals

Like most people, you’ve almost certainly referred a friend or family member on the basis of truly outstanding customer support at some point over the years. E-commerce giants such as Zappos have long ago learned this lesson and committed to going the extra mile when it comes to providing world-class customer support – follow their lead!

The long-term benefits here are myriad: you’ll be looking at increased Customer Lifetime Values, a massive uptick in referrals, and a lower overall cost of customer acquisition – it’s win-win all around.

Conclusion

As we mentioned at the top, a simple shift in mindset should be enough to get you on the way to considering customer support as an opportunity rather than an obligation. Apply a little creative thinking and you’ll soon see wider profit potential across all areas of your business from operations to sales and marketing.

Let’s recap the five major points we covered:

  1. Use customer support to drive operational improvements.
  2. Put customer queries at the heart of product development.
  3. Feed real world feedback into content marketing initiatives.
  4. Pick the right moment to promote when problems are solved.
  5. Turn on the referral tap by going the extra mile with customer support.

Have you already committed to making customer support more than pay for itself, and do you have any tips or tricks to share? Get in touch via the comments section below and let us know!

The post 5 Ways to Turn Customer Support From a Money Pit Into a Profit Center appeared first on HeroThemes.

]]>
http://herothemes.com/blog/5-ways-turn-customer-support-money-pit-profit-center/feed/ 0
Have You Seen These 4 Inspiring Customer Support Conference Talks? http://herothemes.com/blog/seen-4-inspiring-customer-support-conference-talks/ http://herothemes.com/blog/seen-4-inspiring-customer-support-conference-talks/#respond Mon, 02 May 2016 10:00:39 +0000 http://herothemes.com/?p=3388 The number of top-notch talks available online has never been greater. Though wide-ranging keynote presentations from big hitters such as Matt Mullenweg tend to grab the headlines in the world of WordPress, there is a huge range of incredibly informative material across all manner of niches out there just waiting to be explored. In this piece, we’ll […]

The post Have You Seen These 4 Inspiring Customer Support Conference Talks? appeared first on HeroThemes.

]]>
The number of top-notch talks available online has never been greater. Though wide-ranging keynote presentations from big hitters such as Matt Mullenweg tend to grab the headlines in the world of WordPress, there is a huge range of incredibly informative material across all manner of niches out there just waiting to be explored.

In this piece, we’ll shine a light on the world of customer support by highlighting four conference talks packed full of inspiration and actionable insight you can apply in your own business.

Settle in with some popcorn and you’ll be treated to masterclasses on the crucial role of customer support in building a future-proof business, the interaction of culture and customer service, bulletproof day-to-day operational tips, and a whole lot more.

Let’s kick things off with a keynote.

1. Richard White on Customer Care as the Future of Business

As one of the founders of UserConf (now rebranded as Elevate Summit) and CEO of UserVoice, Richard White obviously has customer support very much on his mind at all times. In this 2012 keynote, he presents a clear, data-driven distinction between old world monolithic customer support, and the new generation of responsive, customer-focused businesses.

White kicks off a compelling presentation with the astute observation that many aspects of what was previously defined as luxury in terms of customer service are now what savvy consumers expect as standard. He then goes on to tear through a list of extremely convincing arguments for why customer service will be at the heart of most modern businesses’ struggle for survival.

There’s plenty of food for thought here in the sections on customer support as a sales opportunity, the challenge of retention in the age of Software as a Service (SaaS), and the tendency of millennials to reach for self-service options by default. Give this one 20 minutes of your time and you’ll come away with a set of core concepts to chew on, and a renewed faith in the overall importance of customer support for your business.

2. Tony Hsieh on Customers and Culture

Zappos have revolutionized online retail in the last 15 years, and listening to CEO Tony Hsieh speak at the Vator Splash conference, it’s not hard to see why – the commitment to both company culture and customer support are simply off the scale.

In this barnstorming talk, Hsieh walks through the history of Zappos and delivers insight after insight into how he created a billion dollar e-commerce behemoth based largely around world-class customer service.

It’s an excellent mix of anecdote and inspiration, packed full of intriguing insights on areas such as hiring and Zappos’ visionary decision to put the majority of their marketing budget directly into customer support.

3. Chase Clemons on Trying New Things

Our first two selections leaned towards the big picture overview of customer support, but this 2012 UserConf talk from Chase Clemons of Basecamp gets right down to the nitty-gritty of day-to-day operational implementation. It’s no less inspiring for that, however.

Over the course of an incredibly detailed 40 minute talk, Clemons moves through all the major modern support channels, and delivers rock solid evergreen tips on each one. The mixture of pragmatism and innovation that Basecamp is known for as a company shine through in every section.

On the practical side of things, you’ll get a stream of solid ground rules such as moving email tickets to phone calls if they’re not solved after three interactions. If you’re looking for left field ideas to take your customer support to the next level, Clemons’ breakdown of Basecamp’s experiments with in person meetups and online classes make for fascinating viewing.

4. Elizabeth Tobey on the Wider Role of Customer Support

This 2015 UserConf talk from Elizabeth Tobey does a wonderful job of making the case for customer support not being an operational island, but rather an integral (and inseparable) part of marketing, public relations, and community management.

Drawing on her past in the games industry, Tobey begins by zipping through a number of entertainingly presented case studies on the wider impact customer support can have. She then goes on to give some eye-popping insight into her role in streamlining customer support at Tumblr.

You’re unlikely to be operating at that sort of scale, but there are many interesting takeaways to learn from here on the importance of automation and bucketing teams into separate specialities. Her closing section on how best to sell customer support internally is also top-notch.

Conclusion

With great speakers like the ones we’ve highlighted above, it’s hard to beat a fast-paced conference talk for a quick dose of inspiration and encouragement.

The increasingly central role of customer support shines through in each of the presentations, but each speaker offers their own unique set of takeaways to ponder further.

Let’s recap some of the highlights:

  • Richard White drives home the long-term value of customer support in helping businesses survive, then thrive.
  • Tony Hsieh shows the crucial importance of making customer support an integral part of company culture at every level of the organization.
  • Chase Clemons lays out a series of detailed operational breakdowns every business can learn from.
  • Elizabeth Tobey’s take on delivering delight at scale offers excellent tips on automation and team building.

Are there any great customer support conference talks we’ve missed? Get in touch via the comments section below and let us know!

The post Have You Seen These 4 Inspiring Customer Support Conference Talks? appeared first on HeroThemes.

]]>
http://herothemes.com/blog/seen-4-inspiring-customer-support-conference-talks/feed/ 0
How to Put Together a Perfect Knowledge Base Article http://herothemes.com/blog/put-together-perfect-knowledge-base-article/ http://herothemes.com/blog/put-together-perfect-knowledge-base-article/#respond Mon, 25 Apr 2016 10:00:20 +0000 http://herothemes.com/?p=3607 Our Knowledge Base plugin gives you a great head start when it comes to organizing content for your users and displaying it effectively on your WordPress site, but there’s still plenty of heavy lifting to be done on a page-by-page level. In this piece, we’ll tackle the nitty-gritty of best practice for individual entries, with […]

The post How to Put Together a Perfect Knowledge Base Article appeared first on HeroThemes.

]]>
Our Knowledge Base plugin gives you a great head start when it comes to organizing content for your users and displaying it effectively on your WordPress site, but there’s still plenty of heavy lifting to be done on a page-by-page level.

In this piece, we’ll tackle the nitty-gritty of best practice for individual entries, with a series of common sense tips for tackling the components of an individual knowledge base article. Follow them closely and you’ll find yourself reliably turning out content that solves user problems quickly, and with a minimum of fuss.

Let’s start with the number one thing you can do to make writing practically any piece of content substantially simpler.

1. Never Write Without an Outline

If you take nothing else away from the article, remember this: writing content of any kind without an outline is a recipe for procrastination, delay, frustration, and a far from polished piece.

Assuming you have a clear general idea in your head of what the particular article should be covering, make sure you’ve put together a complete outline covering the flow of points you’re going to address in the piece before you write a word.

Don’t be afraid to spend some time on this stage. As the old saying goes: “measure twice, cut once”. If your article doesn’t make sense in outline format, it’s never going to stand up as an actual piece.

2. Don’t Get Fancy With Your Title

You’re not looking to showcase your love of puns or clever allusions here. You’re looking to match what customers are actually searching for as closely as possible, and signpost obvious solutions to common problems.

With that in mind, keep things simple and spend some time scouring your site search records and support requests for common queries that users are already looking for answers to.

Sensible titles in action at the Ghost knowledge base.
Sensible titles in action at the Ghost knowledge base.

Also take a little extra time in crafting the meta description of your page. After the title, this is the first piece of text users will see when they’re searching for an answer to their problem. Make sure you’ve got a crisp summary in place that will get them to your site.

3. Focus on Style and Structure

Content will naturally vary wildly from site to site, but there is a common style most knowledge base articles should be aiming for: friendly, direct, and written from the user’s point of view.

Avoid overly complex sentence constructions and the temptation to drift into the passive voice. Keep in mind at all times: users aren’t reading these pages because something wonderful has recently happened, they’re there to quickly solve a problem that’s vexing them and move on with their lives.

Also remember, users may be operating with substantially less context than you are as the author of a piece or owner of a product. Don’t make assumptions about their knowledge, and factor in that your article may have to address audiences with varying levels of expertise.

When it comes to structure, your outline should already have imposed some order. Follow through on that good work by making your content straightforward to scan by using appropriate headings, bullet points, and use of paragraphs. Nothing is more irritating than hitting an intimidating wall of undifferentiated text when you are looking for the one nugget of info that can fix things.

4. Make the Most of Multimedia

If your knowledge base content isn’t full to bursting with useful image and video content, you’re probably going about it the wrong way.

There’s no excuses for not getting this right these days. Sophisticated screenshot tools such as Skitch and Snagit abound across the web, and solutions such as CamStudio and Jing make putting together video walkthroughs a snap for even the most technically challenged.

5. Close With Clear Next Steps and Relevant Further Resources

Ideally, your knowledge base article has comprehensively addressed the user’s problem by the time they hit the end. If that’s not the case, however, don’t leave them hanging!

Following our own advice at the Hero Themes knowledge base.
Following our own advice at the Hero Themes knowledge base.

Be sure to give readers clear next steps if they still find themselves stuck, and take the extra time to put relevant further resources within easy reach at the foot of the article.

6. Actively Solicit Feedback

Your knowledge base articles should be constantly updated works in progress. Make sure you’re actively encouraging your readers to help plug the gaps in your current efforts by providing feedback on each entry.

The perfect knowledge base article is one which has been honed over time in response to how well it actually performs solving a problem in the wild. You’ll find article feedback and analytics options baked into our Knowledge Base plugin to help you reliably execute on this.

Conclusion

With the right tools to hand, putting together a great knowledge base article is largely a question of constantly keeping the user perspective in mind and applying some common sense concepts to your content.

Let’s recap our main pointers for getting it right:

  1. Always start with an outline before writing.
  2. Keep your title simple and on point.
  3. Write plainly and simply with the user in mind, and format extensively.
  4. The right images and video will save your users oceans of time. Find them, and use them.
  5. Always close with further options and resources people can turn to if stuck.
  6. Actively solicit feedback, and commit to constantly revisiting your articles.

Do you have any tips and tricks to share, or suggestions based on your own experience crafting knowledge base articles? Get in touch via the comments section below and let us know!

The post How to Put Together a Perfect Knowledge Base Article appeared first on HeroThemes.

]]>
http://herothemes.com/blog/put-together-perfect-knowledge-base-article/feed/ 0
What Next for the WordPress Plugin Directory? http://herothemes.com/blog/next-wordpress-plugin-directory/ http://herothemes.com/blog/next-wordpress-plugin-directory/#respond Mon, 18 Apr 2016 10:00:19 +0000 http://herothemes.com/?p=3509 Though plugins are arguably responsible for a significant part of WordPress’ popularity as a content management system, you wouldn’t necessarily know it from the current version of the Plugin Directory. Good news is on the horizon, however. The official listing of plugins has been in need of some extra love for quite some time, and it looks […]

The post What Next for the WordPress Plugin Directory? appeared first on HeroThemes.

]]>
Though plugins are arguably responsible for a significant part of WordPress’ popularity as a content management system, you wouldn’t necessarily know it from the current version of the Plugin Directory. Good news is on the horizon, however.

The official listing of plugins has been in need of some extra love for quite some time, and it looks as if a recently announced makeover is finally going to drag this part of the platform up to speed.

In this piece, we’ll cover some background on the proposed changes and why they’re long overdue, and consider what can be expected in the near future.

The Surprisingly Low-Key History of the WordPress Plugin Directory

Plugins have been a core part of WordPress going all the way back to 2004’s official introduction in the release of version 1.2 (Mingus). Though the number and range of plugins available in the interim has skyrocketed, the amount of work that’s gone into their listing remains relatively small.

As the recent official makeover announcement indicated, the upcoming changes will constitute the third major makeover of the directory. Version one of the directory powered the listing of the first 20,000 plugins all the way up to a refresh in 2012. Version two brought improved options for users, including the addition of a proper support tab, and improved information on how actively engaged developers were.

Discovery remained a problem for the directory, however. With over 40,000 plugins currently available, the default search and filter options have attracted their fair share of ire over the years. As an example, Luca Fracassi pointed out last year that roughly 50% of searches will return a plugin that hasn’t been updated in over two years.

The WP Plugin Directory is an alternative plugin directory
The WP Plugin Directory is an alternative plugin directory

In addition to paid plugin options on CodeCanyon, a small number of developers have attempted to provide a better way of listing plugins along the way. Tidy Repo and Addendio both deserve honorable mentions here, with WP Plugin Directory being perhaps the most fully featured reimagining to date – its addition of faceted search remains a highly desirable feature that it would be great to see in the official directory.

What’s in Store for Version 3 of the Plugin Directory

Against the low-key backdrop discussed above, the proposed version three of the directory was greeted with excitement upon its announcement. The project follows on from a recent Theme Directory makeover by the WordPress meta team, and will also involve finally moving away from bbPress into an (appropriately) plugin-based model.

A quick look at the project overview shows the main areas being targeted in the revamp:

  • WordPress users: Standard WordPress users should benefit from a faster browsing experience, improved search and options for managing favorites, and a UI that more closely matches the existing backend. Internationalization is also a theme, with translated plugins being given greater weight.
  • Plugin authors: The move away from bbPress should enable much more straightforward options for submitting, documenting, and managing plugins. Developer Mickey Kay has already chimed in with his take on several of the issues the redesign needs to address.
  • Plugin reviewers: The sheer scale of submissions to the directory has long been a potential issue. The redesign should open the way to better automated processes for approval, place less of a burden on the current review team, and help remove perceived inconsistencies.

With a provisional shipping date of late June 2016, work is already fully underway on the revamp. As Scott Reilly’s announcement made clear, the initial rollout was largely concerned with theming issues, and more substantial functionality changes are in the works. As the comments on early versions of changes from developers such as Justin Tadlock show, it’s very much a work in progress.

The WordPress official plugin directory
The WordPress official plugin directory

What we’ve seen so far is a rollout of a favorites section for logged-in users, the addition of a ‘Beta Testing’ section to highlight feature plugins, and the long overdue ability to search for plugins by author username. There’s also been good news for developers in the form of more accurate ratings data for plugins and improvements in fighting spam.

The elephant in the room remains the thorny subject of commercial plugins, but it seems safe to assume we won’t be seeing any major moves to include them on WordPress.org any time soon.

Conclusion

The revamp of the Plugin Directory is long overdue and largely to be welcomed. Though the impact of the REST API leaves many aspects of future plugin development slightly unclear, it should at least be easier to sift through free offerings on WordPress.org for all concerned in the near future.

Here are the main places you can keep an eye on the project as it develops:

Are you looking forward to the redesign? Or do you have any particular bugbears you’d like to see addressed? Get in touch via the comments section below and let us know!

The post What Next for the WordPress Plugin Directory? appeared first on HeroThemes.

]]>
http://herothemes.com/blog/next-wordpress-plugin-directory/feed/ 0
What’s wrong with your FAQ – 6 tips proven to make it better http://herothemes.com/blog/whats-wrong-faq-6-tips-proven-make-better/ http://herothemes.com/blog/whats-wrong-faq-6-tips-proven-make-better/#respond Mon, 11 Apr 2016 10:00:19 +0000 http://herothemes.com/?p=3567 Do your customers raise tickets about questions that you’ve already answered? In your site’s FAQs? Well, if you answered in a “Yes,” then probably your users don’t find your FAQs helpful. Because if they did, most of them wouldn’t raise tickets. You already know: more tickets mean more hours spent on support. Which is not […]

The post What’s wrong with your FAQ – 6 tips proven to make it better appeared first on HeroThemes.

]]>
Do your customers raise tickets about questions that you’ve already answered? In your site’s FAQs?

Well, if you answered in a “Yes,” then probably your users don’t find your FAQs helpful. Because if they did, most of them wouldn’t raise tickets.

You already know: more tickets mean more hours spent on support. Which is not particularly productive when the tickets are about questions you’ve already ANSWERED in your FAQs!

Nielsen, the pioneer research organization on how people consume web content, deconstructed the FAQ experience of users and gave many insights for creating user-friendly FAQs. (Nielsen reviewed the FAQs of 23 sites during this research.)

Here’s a list of 6 of them that you can steal today and get people to actually read your FAQ content (so that they stop raising tickets for the questions you’ve already answered).

1. Chunk data

If there’s a single most effective thing that you can do to improve your FAQ content immediately, then it’s chunking. At the most basic level, chunking is the formatting practice of placing text in a way that it doesn’t appear like a wall of text.

As Nielsen describes chunking:

“For example, a chunked phone number (+1-919-555-2743) is easier to remember (and scan) than a long string of unchunked digits (19195552743).”

To chunk your FAQ content, plan it in a way that related content appears together. By just using whitespace effectively, you can break up your content into chunks for easy reading.

To further improve readability, format your content by using elements like:

  • Sub-headings
  • Quotes
  • Images
  • Interactive elements
  • Lists
  • Bold/italicized text

Also, write short sentences and paragraphs.

When using multimedia elements like images, videos, workflows, and more, make sure that they fit in nicely with the context (i.e., they relate to the content chunk they’re placed in). And avoid placing your multimedia elements too close to the text.

Nielsen cites the example of MailChimp as a company that chunks its content well.

 

Using chunked content elements
Using chunked content elements

As you can see in the above screenshot, the image is placed visibly closer to the first paragraph, thus subtly hinting at its belonging to the first chunk (without giving a cluttered look).

2. Stay thoughtful of typography

Would you be surprised if I told you that fonts appeal to our emotions, and that they INFLUENCE how we feel about a certain piece of text?

I know it sounds weird, but fonts affect us beyond readability issues. In an experiment conducted by The New York Times, it was found that readers who read the same story in different fonts, believed it the most when it was offered in the “Baskerville” font.

So it’s clear: fonts impact the bottom line.

Therefore, when you design your FAQs, choose a good font because you can’t annoy your users any more than by offering them an FAQ section in a font they can’t read easily. Besides, you don’t want to risk looking unprofessional.

By using highly-readable fonts, you can make it easy for your users to read through your content and help themselves.

Also, when you think about readability, think beyond the font. Think about the font size, the text color, and the text/background contrast.

3. Create easily identifiable links

While I like the idea of minimalism, I don’t like the sites that take it too far. For example, when sites don’t highlight links (you know the ones that don’t add links in the classic blue color or at least in a color that’s startlingly different from the normal body text).

Why this problem is more severe in the case of FAQs:

Most FAQ content refers users to other content on the site or in the support forum or knowledge base. Now if the links don’t show up differently, users have to hover over the text to see if the text color changes or gets underlined, and then identify the links to navigate to the related help topics.

If your links are clearly identifiable, your users will be able to navigate to them quickly and find all their answers.

Look at the following screenshot from CrazyEgg (and notice how you can easily identify the links):

Easy link identification
Easy link identification

 

4. Use interactive/multimedia elements

The way people consume web content has changed. And it’s true for your FAQ content as well.

Today, people prefer rich content — content that has multimedia elements.

If you think from the standpoint of a user, you’ll feel how boring it can get for your readers to read through long pieces of text to find their answers. After all, who wouldn’t love a quick video tutorial instead of a lengthy documentation-style answer?

So to create a more buzzing FAQ section, use some of the following interactive elements:

  • Videos
  • Screencasts
  • Interactive workflows
  • 360-degree rotating images

5. Add Jumplinks (or use accordion elements)

Most users who access FAQs don’t do so for just educational purposes. They need help with something. And so you must make it available to them FAST.

Jumplinks do the trick here.

By using jump links, you can convert your questions into links that take your users to their answers when clicked upon. This way, your users don’t have to search for their answers on your list. They can simply pick their question from your list and click on it to access its answer.

In place of jumplinks, you could also use accordions. Accordion elements expand when a user clicks on them.

Look at Ghost’s FAQs for inspiration:

Using accordion elements
Using accordion elements

In addition to the above, Nielsen also recommends adding a “Back to top” link that takes people to the top of the page from whatever section they’re navigating at the moment. (This saves users from the pain of scrolling all the time.)

6. Keep updating

It doesn’t matter what product or service you sell, things change all the time.

For example, you could launch new features, change your data usage policies, introduce new pricing plans, and so on. And so, you can’t offer the same FAQ content that you wrote when you had just launched.

Good FAQs keep updating to reflect all the changes that affect the users of the product/service.

If you want your users to find your FAQs really helpful and relevant, keep updating it. There’s no such thing as evergreen FAQs.

Wrapping it up…

FAQs don’t have to be boring. They can be refreshing and enlightening. But to make them so, you must care about how your users consume your content. It can’t be that you offer a complicated SaaS offering, and expect your users to be patient with browsing long lists of questions with boring, textual answers.

So spice up your FAQ content with the above tips and engage your users better.

Have you tried any of these tips? And what are some of the other ways you use to make your FAQs more engaging and helpful? Do share in the comments!

P.S If you’re looking for a ready-to-use instant FAQ solution, try our theme, InstaAnswer. It doesn’t just help you tick all the above boxes but also offers a ton more features to help you offer a user-friendly FAQ experience.

The post What’s wrong with your FAQ – 6 tips proven to make it better appeared first on HeroThemes.

]]>
http://herothemes.com/blog/whats-wrong-faq-6-tips-proven-make-better/feed/ 0
How to Use Social Media to Head Off Customer Complaints (5 Step Guide) http://herothemes.com/blog/use-social-media-head-off-customer-complaints-5-step-guide/ http://herothemes.com/blog/use-social-media-head-off-customer-complaints-5-step-guide/#respond Mon, 04 Apr 2016 09:52:59 +0000 http://herothemes.com/?p=3246 The days of relying exclusively on email and phone support to deal with customer service are over. Customers are now as likely to take to Twitter or Facebook as they are to contact you directly with queries, qualms or complaints. If you’re running any sort of public facing social media presence (and you should be!), you […]

The post How to Use Social Media to Head Off Customer Complaints (5 Step Guide) appeared first on HeroThemes.

]]>
The days of relying exclusively on email and phone support to deal with customer service are over. Customers are now as likely to take to Twitter or Facebook as they are to contact you directly with queries, qualms or complaints.

If you’re running any sort of public facing social media presence (and you should be!), you have to recognize that it’s a two-way street and be prepared to devote a portion of your time to handling it as a support channel.

In this piece, we’ll cover common sense tips for getting out ahead of the issue and proactively using social media to head off customer complaints. But before we dive into tactics, let’s briefly cover why social media support is so important to begin with.

Some Sobering Statistics on Social Media Expectations

You may be used to thinking of social media purely as a handy marketing outlet, but your audience has different ideas.

Even as far back as 2013, a major study showed that 67% of consumers have used social media as a support channel, as opposed to 33% who engaged on a marketing level. Younger consumers are substantially more likely to go down this path.

Those people are also in a hurry when they reach out via social media. Jay Baer’s research on the matter shows that 32% expect a response within 30 minutes, and a whopping 42% expect a response within 60 minutes. They’re also not interested in whether you’re currently clocking off. 57% expect the exact same response times during nights and weekends.

With those points in mind, let’s move on to quick tips on how best to handle things.

Step 1: Make Social Media Support Somebody’s Job

Step one in getting control of the situation here is assigning some actual responsibility. Particularly if you’re a smaller company, it’s easy to let this type of response fall to the back of the queue and only get picked up when an undefined somebody has time to do it.

Get on the right rack by giving that somebody a name and putting things on a schedule. It should be at least one person’s job to monitor social channels for mentions and respond when necessary.

Step 2: Respond Quickly and Personally

We’ve already covered user expectations in terms of response times. Long story short – you need to be getting back to people pronto. Your responses need to strike the right tone, too.

Bland, passively couched expressions of regret are irritating enough in email, but they’re downright inflammatory when delivered via social channels. Remember, social is an intrinsically intimate medium – you need to be communicating genuinely and taking full ownership of problems when they arise.

Twitter's case studies show companies such as Nike delighting customers.
Twitter’s case studies show companies such as Nike delighting customers.

For some great examples of brands getting this approach right, check out Twitter’s 2015 research piece on the matter. It’s packed with examples of major companies such as Nike, Capital One and KLM delighting customers by responding quickly and appropriately while solving users’ problems.

Step 3: Have an Escalation Plan in Place

Though your responses via social media are likely to be generally conversational in tone, that doesn’t mean they should be entirely casual. Many situations will require escalation and detailed investigation.

Again, this isn’t something that should be handled on an ad hoc basis – you need written procedures in place behind the scenes which detail clear progressions and contact points in specific customer complaint scenarios. Live+Social’s escalation template is an excellent starting point if you’re tackling this for the first time, as is HubSpot’s social media crisis management template.

Step 4: Go Above and Beyond

Social channels are effectively magnifying glasses when it comes to customer support. Whether in a good or a bad way, each interaction has the potential to blow up and influence far more people than those directly involved.

With that in mind, you need to be prepared to go the extra mile when dealing with these support requests. After all, it can take months to acquire a customer but only seconds to lose them.

For a tip-top teardown of creative takes on customer satisfaction, check out Buffer’s recent list of outstanding social media customer support examples.

Step 5: Take Advantage of Tools

As with most elements of social media, there is a risk that customer support via this channel could become an unnecessarily huge time sink unless handled appropriately. In order to head off customer complaints as quickly as possible, you need to be actively monitoring your channels, but not wasting hours in front of your feeds hitting Refresh.

Check out whether tools such as Sprout Social can save your team time.
Check out whether tools such as Sprout Social can save your team time.

Services such as Sprout Social and Hootsuite offer excellent social media management and brand monitoring tools at price points that should be affordable for even the smallest businesses. Buffer’s recent acquisition of Respondly suggests they will also be offering interesting integrated options here shortly.

Make it a point to keep up with in-product options from the main social channels as well. Twitter’s new customer service features are a case in point here, as is Facebook’s recently announced customer service tools update.

Conclusion

As social media matures as a medium, it’s becoming increasingly obvious that customer support is actually one of its key use cases. To really make the most out of this on your own site, you have to commit to treating it as a proper support channel in order to effectively head off customer complaints.

Let’s recap our main tips for getting that right:

  1. Make it somebody’s job.
  2. Respond quickly and personally.
  3. Have an escalation plan in place.
  4. Go above and beyond with creative solutions to customer complaints.
  5. Take advantage of both third party and native tools.

Naturally we’re just scratching the surface of what’s possible with social customer support here, but implementing the tactics above will go a long way towards getting things right.

Are there any tips or tricks you use to keep customers on board through social channels? Get in touch via the comments section below and share your insights!

The post How to Use Social Media to Head Off Customer Complaints (5 Step Guide) appeared first on HeroThemes.

]]>
http://herothemes.com/blog/use-social-media-head-off-customer-complaints-5-step-guide/feed/ 0
Announcing KnowAll, the WordPress Knowledge Base Theme to Rule Them All http://herothemes.com/blog/announcing-knowall-wordpress-knowledge-base-theme-rule/ http://herothemes.com/blog/announcing-knowall-wordpress-knowledge-base-theme-rule/#respond Thu, 31 Mar 2016 12:54:38 +0000 http://herothemes.com/?p=3518 Here at HeroThemes we’ve learned a few things from developing some of the best selling Knowledge Base themes and plugins for WordPress.  This wisdom has been distilled into our brand new Knowledge Base theme, a classic theme updated with modern design and functionality.   KnowAll is a WordPress theme package that provides an all-in-one knowledge […]

The post Announcing KnowAll, the WordPress Knowledge Base Theme to Rule Them All appeared first on HeroThemes.

]]>
Here at HeroThemes we’ve learned a few things from developing some of the best selling Knowledge Base themes and plugins for WordPress.  This wisdom has been distilled into our brand new Knowledge Base theme, a classic theme updated with modern design and functionality.

knowall-demo

 

KnowAll is a WordPress theme package that provides an all-in-one knowledge base solution, perfect for running on a mini site or subdomain to provide a help center for your customers and clients. It is packaged with useful features allowing you to build a useful knowledge base in minutes and enjoy fewer support queries and happier customers in less time than it takes to brew your morning coffee.

 

Create a brandable knowledge base with ease – add your own logo, colors, fonts and more with improved customizer functionality. Dedicated knowledge base live searching and widgets make your content more discoverable. Integrated shortcodes help your articles to communicate with authority and clarity.
The packaged knowledge base functionality means you can focus on building your content, dedicated article posts, categories and tags help with. Voting and feedback means you analyse how well your site is helping customers with a dedicated analytics dashboard.

 

Read more about the KnowAll Knowledge Base WordPress Theme, or explore the KnowAll demo site.

The post Announcing KnowAll, the WordPress Knowledge Base Theme to Rule Them All appeared first on HeroThemes.

]]>
http://herothemes.com/blog/announcing-knowall-wordpress-knowledge-base-theme-rule/feed/ 0
Creating a search widget using the WordPress REST API http://herothemes.com/blog/creating-a-search-widget-using-the-wordpress-rest-api/ http://herothemes.com/blog/creating-a-search-widget-using-the-wordpress-rest-api/#respond Mon, 28 Mar 2016 10:36:28 +0000 http://herothemes.com/?p=3141 WordPress developers will be aware the REST API has been around for some time, but as of late last year it was integrated into core, meaning it can now be leveraged in widgets and plugins. In this article we are going to build a simple search widget with a difference. Using the WordPress REST API, […]

The post Creating a search widget using the WordPress REST API appeared first on HeroThemes.

]]>
WordPress developers will be aware the REST API has been around for some time, but as of late last year it was integrated into core, meaning it can now be leveraged in widgets and plugins.

In this article we are going to build a simple search widget with a difference. Using the WordPress REST API, this widget will search an external WordPress website and display the results in the widget.

This post continues from my last one on What you need to know about the WordPress REST API

Building the widget plugin

As the previous article, some basic knowledge of building plugins and widgets is assumed. If you are unsure, there is some suggested reading for you at the end of this article.

Let’s take a look at the existing plugin we created in the last article. Your code should look something like this:


/**
* Plugin Name: KB - REST API Widget
* Author: Kirsty Burgoine
*/

class REST_API_Widget extends WP_Widget {

/**
* Sets up the widgets name etc
*/
public function __construct() {
    $widget_ops = array(
        'classname' => 'rest-api-widget',
        'description' => 'A REST API widget that pulls posts from a different website'
    );
    parent::__construct( 'rest_api_widget', 'REST API Widget', $widget_ops );
}

/**
* Outputs the content of the widget
*
* @param array $args
* @param array $instance
*/
public function widget( $args, $instance ) {
    // outputs the content of the widget

    $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2 /ht_kb/' );
    if( is_wp_error( $response ) ) {
        return;
    }

    $posts = json_decode( wp_remote_retrieve_body( $response ) );

    if( empty( $posts ) ) {
        return;
    }

    echo $args['before_widget'];
    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }

    // Main Widget Content Here
    if( !empty( $posts ) ) {
        echo '<ul>';
        foreach( $posts as $post ) {
            echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
        }
        echo '</ul>';
    }
    echo $args['after_widget'];
}

/**
* Outputs the options form on admin
*
* @param array $instance The widget options
*/
public function form( $instance ) {
    //outputs the options form on admin
    $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
    ?>
         <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
         <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> 
    <?php
}
}//end class
add_action( 'widgets_init', function(){
register_widget( 'REST_API_Widget' );
});

Essentially, we created a new plugin. In that plugin we created a widget that displays a list of custom posts from the Heroic Knowledge base from a different website.

What we are going to do now is amend this to create a search feature as well.

Step 1: Amending the basic query to get different results

In the last article you will remember we discussed how to GET a list of posts and then how to change the parameters so that we could get the knowledge base custom post type instead.

Well, it may not be that surprising to learn, that’s not all we can do with the GET method. By using the filtering parameters we can actually use any of the arguments available when calling WP_Query. For example, if we wanted to change the number of posts displayed you could add:


/posts?filter[posts_per_page]=5

Making the remote call something like this:


$response = wp_remote_get( 'http://website-with -api.com.com/wp-json/wp/v2/posts?filter[posts_per_page]=5' );

Or, if we wanted to only display one random post we could add:


/posts?filter[orderby]=rand&amp;filter[posts_per_page]=1

And this is the same for a search parameter. In a standard WP Query, the parameter would look like this:


's' => 'keyword'

Therefore, our remote call needs to look like this:


$response = wp_remote_get( 'http://website-with -api.com.com/wp-json/wp/v2/posts?filter[s]=keyword');

It’s quite simple once you get your head around converting parameters from the WP_Query into the API url string.

For full details about what parameters are available, see the WP_Query codex guide.

We don’t actually want to search standard posts though, we want to search the knowledge base custom post type. However, as we saw in the previous article, this is easy to do because we made our custom post type publicly available by adding a filter. Therefore, all we need to do here is query the knowledge base custom post type by swapping /posts/ with the name of the custom post type. In this case /ht_kb/. The remote call will now look like this:


$response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb?filter[s]=keyword' );

Step 2: The search box and tailoring results

So now we’ve looked at amending the query to filter by a given search term, the next step is to create a way to get that search term.

Firstly, we need to add a search box to the plugin. Because this only going to be a simple search form, we can use the get_search_form() function already set up by WordPress instead of creating a seperate search form.

In the plugin file, look for the line with the comment // Main Widget Content Here inside your widget function and add get_search_form(); and edit directly below it so that it looks like this:


// Main Widget Content Here
get_search_form();

if( !empty( $posts ) ) {
    echo '<ul>';
    foreach( $posts as $post ) {
        echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
    }
    echo '</ul>';
}

Now when we view the widget on page you will see the standard search form and the list of posts from the Knowledge Base underneath it.

standard-search-widget

We know from using get_search_form(); that when we search for something, the search parameter appears in the url like this:


/?s=test

‘s’ being the $_GET parameter and ‘test’ being your search term. Therefore, all that is left is to grab the search term from the URL and use it in the response like so:


if ( isset ( $_GET['s'] ) && !empty( $_GET['s'] ) ) {
    $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb?filter[s]='.$_GET['s'] );
}
else {
    $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb/' );
}

What this code does is check to see if $_GET[‘s’] has been set and is not empty. If it has/is then you include it in your response. If not, then a search is not being performed and you want to show all of the knowledge base posts as normal.

More detail about the get_search_form() function can be found here.

This is where we would expect this article to end right? After all we have set up a search form that queries posts on an external website using the WordPress REST API and then returned those results based on the search parameter. However…

Step 3: Amending the results displayed

If we test the new search widget we can see the widget works as expected, however, it will also return results from the current website in the main page content.

search-template-results
Search widget displaying results for ‘test’ and the page redirecting to the search results template

This is because of the WordPress templating system. WordPress uses the query string to determine which template or set of templates to use. Because, when the search form is submitted, it adds the parameter ‘s’ to the URL, it is telling WordPress to perform a search and redirect to the search results page. Which, in the TwentySixteen theme is search.php.

For more information refer to the template hierarchy documentation.

That is great if we wanted to perform the search on a local website and an external website using the API at the same time because the results for both are displayed. However, in this instance we don’t want to do that. We only want the results returned using the API to display in the widget. The main page should remain unaffected.

There are a number of ways to do this. For this example, we will look at how to amend the get_search_form(); function to no longer use ‘s’ as its search parameter. Instead it will be changed to ‘a’ to bypass the issue.

The first step is to actually modify the form by creating a new function.


function api_search_form( $form ) {

 $form = '<form role="search" method="get" class="search-form" action="' . home_url( '/' ) . '">
         <label>
             <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
             <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search …', 'placeholder' ) .'" value="' . get_search_query() . '" name="a" title="' . esc_attr_x( 'Search for:', 'label' ) .'" />
         </label>
         <button type="submit" class="search-submit"><span class="screen-reader-text">Search</span></button>
         </form>';

 return $form;
}

 add_filter( 'get_search_form', 'api_search_form', 100 );

The function itself is pretty simple, it’s basically a new form to use instead of the default form. If we look at the reference TwentySixteen theme and inspect the existing search form, we note that the only difference in the code is the name of the search input. Originally it was ‘name=s’ and now it is ‘name=a’. This removes the ‘s’ parameter from the URL.

Note: With this approach, we modify the main search form to search using the API instead of searching the host website. Therefore, it is important to consider that if we use the main search form anywhere else on the website it will no longer redirect to search results from host website website. In order to have two different searches then the easiest solution would be to add the code for this new form directly into the widget instead of amending the get_search_form();

The last step is to add the filter. This tells WordPress to replace the existing form with this one instead. We can the paste the entire code block into the plugin file after the widget class. This could be included the theme’s functions.php instead, but by including it in the plugin, it means that the change to the form is only made if the plugin is activated.

Now that we have changed the name of the input to ‘a’, we have to change what the actual search parameter will be as well. The parameter will now appear in the url as: /?a=test, instead of /?s=test and therefore removing the part of the query string that tells WordPress that this should redirect to the search results template.

So that you can search using the new parameter, update the code written previously for remote call to use the ‘a’ parameter instead of ‘s’.

It should now look like this:


if ( isset ( $_GET['a'] ) && !empty( $_GET['a'] ) ) {
    $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb?filter[s]='.$_GET['a'] );
} else {
    $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb/' );
}

Notice that although the search parameter in $_GET has changed, this does not change the filter in the actual query. This is because the standard WP Query for search is still ‘s’.

Now when we test the widget we should be able to search the Knowledge Base articles on your external website and return the results without being redirected to a search results page.

Search widget displaying results for 'test' without the page redirecting
Search widget displaying results for ‘test’ without the page redirecting

The full code for the widget looks like this:


/**
 * Plugin Name: KB - REST API Widget
 * Author: Kirsty Burgoine
*/

class REST_API_Widget extends WP_Widget {

 /**
 * Sets up the widgets name etc
 */
 public function __construct() {
     $widget_ops = array( 
     'classname' => 'rest-api-widget',
     'description' => 'A REST API widget that pulls posts from a different website');

     parent::__construct( 'rest_api_widget', 'REST API Widget', $widget_ops );
 }



 /**
 * Outputs the content of the widget
 *
 * @param array $args
 * @param array $instance
 */
 public function widget( $args, $instance ) {
     // outputs the content of the widget
     if ( isset ( $_GET['a'] ) && !empty( $_GET['a'] ) ) {
         $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb?filter[s]='.$_GET['a'] );
     } else {
         $response = wp_remote_get( 'http://website-with-api.com/wp-json/wp/v2/ht_kb/' );
     }

     if( is_wp_error( $response ) ) {
         return;
     }

     $posts = json_decode( wp_remote_retrieve_body( $response ) );

     if( empty( $posts ) ) {
         return;
     }

     echo $args['before_widget'];
     if( !empty( $instance['title'] ) ) {
         echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
     }
 
     // Main Widget Content Here
     get_search_form();

     if( !empty( $posts ) ) { 
         echo '<ul>';
         foreach( $posts as $post ) {
             echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
         }
         echo '</ul>'; 
     }
     echo $args['after_widget'];
 }

 /**
 * Outputs the options form on admin
 *
 * @param array $instance The widget options
 */
 public function form( $instance ) {
     // outputs the options form on admin

     $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
     ?>
         <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
         <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" 
      name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
     <?php
     }
}

function api_search_form( $form ) {

 $form = '<form role="search" method="get" class="search-form" action="' . home_url( '/' ) . '">
         <label>
             <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
             <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search …', 'placeholder' ) .'" value="' . get_search_query() . '" name="a" title="' . esc_attr_x( 'Search                 for:', 'label' ) .'" />
         </label>
         <button type="submit" class="search-submit"><span class="screen-reader-text">Search</span></button>
         </form>';

 return $form;
}
add_filter( 'get_search_form', 'api_search_form', 100 );


add_action( 'widgets_init', function(){
 register_widget( 'REST_API_Widget' );
});

This is a very simple implementation of a custom search widget using the REST API. As illustrated earlier, we could add additional filters to the query to limit the number of search results or the order they are displayed in. You could choose to display additional information in the widget such as the search term and the number of results, or, if you know jQuery / Javascript you could take this further and add a nice AJAX effect so that results are returned without the need to refresh the page.

Further Reading:

The post Creating a search widget using the WordPress REST API appeared first on HeroThemes.

]]>
http://herothemes.com/blog/creating-a-search-widget-using-the-wordpress-rest-api/feed/ 0