Friday, April 21, 2017

Checathlon: A Free WordPress Business Theme with Support for Easy Digital Downloads

Checathlon is new business theme on WordPress.org that was designed to seamlessly integrate with Easy Digital Downloads. The name is a combination of the words checkout and decathlon, according to its creator Sami Keijonen.

Checathlon combines elegant typography with a bold, pink accent color to showcase products and services on a business or e-commerce website. The theme was designed by Finnish designer Toni Suni and is Keijonen's 13th theme to be listed in the directory.

"I had some kind of vision of what I wanted and Toni created a pixel perfect design based on our discussion," Keijonen said. "I'm super happy about the end result. Unfortunately, the design and the theme was not good enough for WordPress.com and the theme was rejected from there." Keijonen opted to create a Checathlon Plus plugin as an alternative way to monetize the theme.

Checathlon has an intuitive way of organizing the content featured on the front page. Unlike many other themes, the front page is not controlled by a custom page template. Once you set the front page as a static page, the Customizer will give access to the service/pricing, products, testimonial, and blog sections.

The theme includes support for a Pricing page template and a Team Page template. These features make Checathlon more flexible for use on a business, agency, non-profit, or e-commerce website.

The pricing template has a "Service and Pricing widget" area where users can drop in the custom widgets available in the Checathlon Plus plugin. The widgets make it easy for users to set an icon, title, content, price, and a link for each pricing tier, as well as the ability to highlight one tier as featured.

Checathlon was built to support several plugins, including Easy Digital Downloads, Custom Content Portfolio, and Jetpack (testimonials and portfolio). The theme includes styles for the Jetpack email subscription widget and EDD downloads and account pages. It's also tagged as accessibility-ready, which means that it has successfully passed an accessibility audit. Check out the live demo to see Checathlon in action.

Keijonen is taking a unique approach by creating a Checathlon Plus plugin as an alternative to offering a "pro version" of the theme. It extends the theme to include more customizer capabilities, additional widgets, cart customization features for EDD, and two child themes. The free theme is available on WordPress.org and documentation can be found on the theme's website.

Like this:

Like Loading...

Related


Source: Checathlon: A Free WordPress Business Theme with Support for Easy Digital Downloads

Checathlon: A Free #WordPress #Business Theme with Support for Easy Digital Downloads

Checathlon: A Free WordPress Business Theme with Support for Easy Digital Downloads Checathlon is new business theme on WordPress.org that was designed to seamlessly integrate with Easy Digital Downloads. The name is a combination of the words checkout and decathlon, according to its creator Sami Keijonen. Checathlon combines elegant ... read moreAwesome Support – A Versatile Help Desk WordPress Plugin The Easy Digital Downloads ... Awesome Support offers good value is a valid question. The answer is…well, it depends. The freemium business model is common on WordPress.org. It allows users to use a basic version of their theme or plugin free of charge ... read morePremiumCoding Review: A Look at a Rising WordPress Theme Developer PremiumCoding is a team of theme developers who offer their own theme club filled with over two dozen WordPress themes in a variety of different categories. They offer a mixture of free and premium ... with the Easy Digital Downloads ecommerce plugin ... read more

Create an eCommerce Website with WordPress Adding a store function to your website is a great way to grow your business and improve ... capabilities of the average WordPress user, but there are resources that will help you. Easy digital Downloads is an open source, free eCommerce plugin that ... read moreTop 10 WordPress Themes for Entrepreneurs You can find a theme to turn your WordPress powered website into a coupon site, a magazine, a landing page, a portfolio, an e-commerce store or your company website. Related: 25 Reasons Your Business ... integrating with Easy Digital Downloads plugin. read more20 Best Free Responsive WordPress Themes in 2014 However, quality free ... Easy Digital Downloads plugin to enable selling both tangible goods as well as digital products. Blackbird Theme is a very clean and elegantly designed Responsive WordPress Theme. It is created with the aim to make your business ... read moreWhy your digital games collection isn't yours to own Find Free WordPress Themes and plugins ... the PlayStation 4 doesn't support backwards compatibility so there's really no reason to continue to keep PS3 games on the digital store once the console is no longer officially supported by Sony. read moreSell Files with WordPress and Easy Digital Downloads Whether you want to sell a single file from your WordPress blog ... illustrations, themes, or anything else that can be distributed digitally. If any of those objectives apply to you, then the free Easy Digital Downloads (EDD) plugin could be just what ... read more15+ Best WordPress Marketplace Themes: To Make Your eCommerce Site It requires additional functionality and features which include: The ability for vendors to register and create their online store Front-end submission forms so vendors can easily submit new items Support ... WordPress theme integrates with Easy Digital ... read moreMaking a WordPress Theme: Maintenance, Compatibility & Support In the previous part of this series, we reviewed what to avoid when making a WordPress theme. It is an important article because it's really easy ... support them in yours. WooCommerce is probably the most popular e-commerce plugin built on WordPress. This ... read more

Buy AutoTrafficRSS script now for $27 only!

We will send the script to your PayPal email within few hours,Please add FullContentRSS@gmail.com to your email contact.
Source: Checathlon: A Free #WordPress #Business Theme with Support for Easy Digital Downloads

Thursday, April 20, 2017

WordPress: Yell Into the Echoing Void

Darth Vader

First of all, I do how one beef with a WordPress change.  Where in the world is the Underline toggle?  I see Italics and Bold.  No sign of underlining, which is a fairly common practice.  I have to use Ctrl-U every time, which seems to go against the idea of making things easier and more user-friendly.

On to the real topic, which is . . . How is everyone doing out in Blog Land?

I ask because my traffic has been pretty bad.  Likes seem to flow in pretty easily, but not much in the way of comments.  I was thinking it was just me since I haven't been reliable in my book releases, I'm running out of interesting topics, and I'm still having bouts with depression.  Yet, I do see people wondering the same thing, so maybe it's an across the board issue.  Wordpress might be losing some of its luster from when I started a few years ago.

Can't say I'm surprised or that I think it's permanent.  I think there's only one person from my first few months of blogging that I still interact with and/or see activity from.  Many have disappeared, taken a short break that led to disappearing, openly quit, became nothing more than reblogs, or just left my circle.  Not that I have much of a circle to begin with.  I've been seeing a lot of groups turn up, which is cool.  Remembering my own time in one of those, I can only imagine the dedication going into those.  Time and energy aren't in abundance with me right now.  The little I have tends to be shifted toward my own projects because I really want to finish Legends of Windemere this year.  Not that I'm bored with the series, but it's written and I feel I should get the whole thing out there before my life takes more unexpected downturns.

Back on topic, I do wonder if more bloggers and authors are receding into their own corners because traffic is lower.  There's a rise in newsletters and I've seen some authors do those only with no blog activity.  Maybe something on Facebook, but they go silent or show up with less consistency than before.  So, is the blogging platform becoming a dinosaur like Myspace and launching books through open windows?  That last one might be more of a potential felony than a dinosaur thing.  Guess I'm just trying to figure out what's going on or if it's just me.

So, how has your blog been doing?  Any changes that you've made that improved performance?


Source: WordPress: Yell Into the Echoing Void

Inside the Dev #House: How We Handle Automatic Theme Deployment for LITE and PRO #WordPress Themes

Inside the Dev House: How We Handle Automatic Theme Deployment for LITE and PRO WordPress Themes As you would imagine, theme development is something we do quite a lot of here at the company. With around TK new theme projects in the works at any given moment, and TK themes in our directory in total (which means active maintenance and further ... read moreHow to Enable YouTube's Secret Dark Mode in Chrome Advertisement The dark is, as you'd expect, dark, with a black background and white text. Here's how to turn it on: Close the developer window and refresh the page. If you're logged into your YouTube account, click the profile icon on YouTube. read moreStructure: WordPress Theme Description: A theme for news/magazine sites with a blog-friendly option too. It includes built-in video and image features that easily allow you to customize your site. There are content blocks that you can place virtually anywhere on the page. read more

Why Is Saturn Making So Much Pasta? While we've known about this oddball moon's shape for some time, these new Cassini images are hard to beat. It's just really good space ravioli. One incident of space pasta would be remarkable, but in Saturn's case, there are at least two. read moreHow Pointer Events Will Make Cross-Browser Touch Support Easy This article is part of a web development series from Microsoft ... So you don't waste time coding for every type of input separately. We will begin by reviewing apps running inside Internet Explorer 11, Microsoft Edge, or Firefox Nightly which exposes ... read moreUsing XAMPP for Local WordPress Theme Development In this tutorial, you'll learn how to install and configure XAMPP for the desktop. Once that's out of the way, we ... PHP/WordPress developer! Now you can develop WordPress themes and test changes locally on your computer, just like the pro's ... read moreYooka-Laylee – Everything You Need to Know Team17 will handle the publishing ... "From the very start we said that we'd welcome only a partner that could genuinely improve the creation of our game, while respecting the independence and creative autonomy of our development team. read more20 WordPress Plugins You Can Install Today for Easier Sharing, Better Posting, and a More Powerful Blog We're quick to grab any and all WordPress plugins that can give the blog an extra edge ... a blog post (see this Buffer Social blog), or manually wherever you wish inside your theme. (While I'm thinking of it, I should mention that we're often ... read moreWhat Makes Readable Code: Not What You Think The more senior the developer, the stronger the opinion ... but for the purposes of this post we'll consider C# to include the base class libraries as well. The point though, is that with C#'s much larger vocabulary and more complicated grammar ... read moreThe Roadmap for WPF When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV's, and Microsoft Partners have made the technology central to their business, building amazing vertical solutions and mission critical applications ... read more

Buy AutoTrafficRSS script now for $27 only!

We will send the script to your PayPal email within few hours,Please add FullContentRSS@gmail.com to your email contact.
Source: Inside the Dev #House: How We Handle Automatic Theme Deployment for LITE and PRO #WordPress Themes

Wednesday, April 19, 2017

What will WordPress overwrite?

I have a domain that runs a website that does not use WordPress. I also have several sub-domains that do run WordPress sites for various orgnisations. I want to change by main website to a WordPress site, but the installation says that it will overwrite everything in that domain. As the sub-domains run from folders within the parent domain, I am concerned that I might pose these subdomains. Are my fears justified or unfounded?

The blog I need help with is www.nfrspb.org.uk.


Source: What will WordPress overwrite?

How to Create a #Blog on #WordPress in Three Easy Steps

How to Create a Blog on WordPress in Three Easy Steps For almost a decade, we here at My Modern Met have had the distinct pleasure of working with many talented artists, designers, and photographers by interviewing them and sharing their work. We've seen countless creatives reach great levels of success and ... read moreHow To Backup Your WordPress Blog In Three Easy Steps However, I am going to show you an easy way to protect your most valuable marketing asset – your WordPress blog. If you understand the difference ... you can backup your MYSQL database in three easy steps by following this simple plan: Set the plugin ... read moreHow to Start a Blog of Your Own in the Next 10 Minutes Follow these three simple steps to get your blog ... select a niche topic for your blog, and come up with a good name for the site. The niche of your site is going to be extremely important, as you will want to always create content around this topic. read more

How To Change Your WordPress Blog Theme In 3 Easy Steps It's just that simple. If I could spend my entire day only writing articles for my own blogs and earn a decent living doing so, I would. As I strive to create that utopia ... simple it is to change your WordPress blog theme. The website that I'm ... read moreHow to Create a WordPress Blog in 5 Minutes Actually there is a simple way of creating a WordPress blog in a matter ... of shared hosting at $3.95/month for 36 months, as well as a free domain name for a year! To set up your hosting account with Bluehost, follow the steps below. read more10 Top WordPress Themes for Fashion Blogs 2017 These are all top WordPress ... a 3-column grid layout, a 2-column masonry layout, a 3-column masonry layout, or a listing layout for the pages of your blog. We have included the Power PageBuilder plugin with the theme, which will make it very easy for ... read moreHow To Start A WordPress Blog On Bluehost Today, you will learn all about easily creating a blog on your own and how to start a WordPress ... Follow the steps and it is very easy! Okay, this is probably the step that all of you have been waiting for. If you want to start a WordPress blog on ... read moreHow to Set Up a WordPress Blog in 3 Easy Steps several people have asked me to walk them through step by step how to start a blog using WordPress. The good news is that setting up a blog is quick, easy, and inexpensive. Get a domain name; Sign up for web hosting; and Install the WordPress software (whi ... read moreHow to Run Your Own CRM using WordPress When compared to other CRMs available for WordPress, Zero BS CRM really shines. It's so simple to use and easy to start adding ... However there are three great bundles available and with the launch week offer these are discounted by 50%. read moreHow To Start A Fashion Blog In 8 Easy Steps Yes, we thought so, seeing as you are here finding out how to start a fashion blog ... create your own fashion blog! Be the first to know - Join our Facebook page. Ready! THE STEPS TO FASHION BLOGDOM: 1.Domain Name and Hosting 2.Installing Wordpress 3 ... read more

Buy AutoTrafficRSS script now for $27 only!

We will send the script to your PayPal email within few hours,Please add FullContentRSS@gmail.com to your email contact.
Source: How to Create a #Blog on #WordPress in Three Easy Steps

Tuesday, April 18, 2017

Preventing Form Resubmission Warnings in WordPress with the Post/Redirect/Get Pattern

carl alexanderToday's article is on an advanced topic in WordPress development, and is by a distinguished guest and a truly outstanding WordPress developer and educator: Carl Alexander.

Carl is a PHP developer from Montréal, Canada, who shares his passion for advanced programming topics on his website, carlalexander.ca, where he publishes articles on a regular basis.

Carl is a regular WordCamp Speaker, has been a WordPress Montréal organizer since 2010, and helps organize other WordPress events during the year. He's also the author of Learn Object-Oriented Programming Using WordPress. You can find him on Twitter and GitHub.

We've all had this happen to us at one point or another. We're filling a form in a web application. We go to submit, and that's when we see it, straight from a web usability expert's nightmare: the infamous "Confirm Form Resubmission" warning box!

Everyone hates seeing this warning. Why is there? Why aren't you just submitting my form, web browser? Whyyyyyyy?

It's also common to see the "Confirm Form Resubmission" warning in a lot of plugin admin pages. That's because most WordPress developers don't use the Settings API. It's one of the least (if not the least!) popular APIs in WordPress, and few developers use it. But it does prevent this issue.

So how can you build a WordPress admin page without causing this dreadful warning to appear? By using the Post/Redirect/Get pattern. This is also a pattern that you can use with WordPress. Let's look at how you can do it!

Why do you get a "Confirm Form Resubmission" warning?

First, let's investigate why this warning appears. A form resubmission warning exists for a reason, after all! Why is your web browser giving you such a hard time?

Let's imagine that you're on the checkout page on an e-commerce site. You enter all your personal information and then click the "Buy" button. Your web browser will then send the form to the e-commerce platform, and it'll reply with a success page.

post/response pattern wordpress

Above is a diagram of the communication between your web browser and the e-commerce platform. Your web browser sends an HTTP POST request, and the e-commerce platform replies with the content of the success page.

The problem with doing things this way is what happens if you refresh the page in your web browser: refreshing a page causes the browser to resend the last request that it sent. For us, that would mean resending POST request with the form that we used to buy from the e-commerce site.

If the developers of the e-commerce website didn't do their jobs well, this can cause issues—the most obvious being that you'll buy everything a second time. (Which isn't what you had in mind when you refreshed the page!) That's why web browsers added this warning when you try to refresh a page after doing a POST request.

How does the Post/Redirect/Get pattern prevent this?

The Post/Redirect/Get pattern is a way that developers have found to prevent this problem. It ensures that the last request from your web browser isn't a POST request. It does that by using a specific series of HTTP requests and responses.

Post/Redirect/Get pattern WordPress

Here's a diagram to show what's going on when you use the Post/Redirect/Get pattern. Your web browser still sends an HTTP POST request like it did earlier. The difference is the response from the e-commerce platform.

The e-commerce doesn't respond with the content of the success page like it did before. Instead, it responds with a redirect status code. (To be more specific, it should respond with a 303 status code.) This tells the browser where to go get the content of the success page.

Your browser will then do a GET request based on the location header in redirection response. This will fetch the content of the success page. But now, since the last request was a GET request, you can refresh the page without getting a warning. (Huzzah!)

Our initial admin page

Let's imagine that we already have a WordPress admin page for a plugin that we're working on. It has a form that we submit to update its settings. Here's what it looks like:

/** * Register plugin admin page. */ function myplugin_create_admin_page() { add_menu_page('My Plugin Admin Page', 'My Plugin Admin Page', 'edit_posts', 'myplugin_admin_page', 'myplugin_display_admin_page'); } add_action('admin_menu', 'myplugin_create_admin_page'); /** * Display plugin admin page. */ function myplugin_display_admin_page() { if (isset($_POST['myplugin_option'])) { update_option('myplugin_option', $_POST['myplugin_option']); } $option = get_option('myplugin_option', ''); ?> <h1>My Plugin Admin Page</h1> <form method="POST"> <p> <label for="myplugin_option">Option:</label> <input type="text" name="myplugin_option" id="myplugin_option" value="<?php echo $option; ?>"> </p> <input type="submit" value="Save" class="button button-primary button-large"> </form> <?php }

There are two functions in the code sample above. The first one is the myplugin_create_admin_page function. It registers our plugin admin page using the add_menu_page function.

The myplugin_display_admin_page function is in charge of displaying our plugin's admin page. It starts by checking if we submitted the form by looking for myplugin_option key in the $_POST superglobal. If there's a value set in the $_POST array, it saves the value as the new plugin option.

After that, we can fetch the option using get_option and assign it to the option variable. We're also going to use an empty string as the default value. We'll then output the HTML of our form with the options value as the value of the text box.

As you can see, this follows the bad pattern that we saw earlier. When we submit this form, it'll display the form again after saving the value. But, if you try to refresh, you'll get the "Confirm Form Resubmission" error, warning you that you're about to submit the same form data a second time.

Using the Post/Redirect/Get pattern with WordPress

Like we mentioned earlier, if you use the Settings API, this is all done for you by default. But our form doesn't use the Settings API. So how do we do we convert it to use the Post/Redirect/Get pattern?

Adding a redirect

Well, we could add the redirect right in the myplugin_display_admin_page function. Something like this:

/** * Display plugin admin page. */ function myplugin_display_admin_page() { if (isset($_POST['myplugin_option'])) { update_option('myplugin_option', $_POST['myplugin_option']); wp_redirect(menu_page_url('myplugin_admin_page', false), 303); exit; } // ... }

We added a call to the wp_redirect function in our if statement. We feed it the return value from the menu_page_url function. This is a handy helper function for generating admin page URLs. By default, it echoes the URL so we have to pass it false as a second argument to prevent that.

With redirects, you also always need to make a call to the exit function. This terminates the script and sends the redirect headers back to the browser. This is what tells the browser to perform the redirect.

Now, there's a big problem with trying to implement the Post/Redirect/Get pattern this way: except for some rare cases, it won't work. (Yes, I've deceived you!) Instead of a redirect, what you'll see is a PHP warning that the headers were already sent.

The admin_post hook

So what can you do instead? Well, there's a little-known hook that we can use. We call it the admin_post hook.

It's a hook that WordPress calls when you submit a request to the wp-admin/admin-post.php admin page. When the WordPress receives a request to this page, it'll look for the action parameter. If there's one, WordPress will then call the hook admin_post_$action. This might seem confusing, but it'll be easier to understand once we update our example.

Using the admin_post hook /** * Register plugin admin page. */ function myplugin_create_admin_page() { add_menu_page('My Plugin Admin Page', 'My Plugin Admin Page', 'edit_posts', 'myplugin_admin_page', 'myplugin_display_admin_page'); } add_action('admin_menu', 'myplugin_create_admin_page'); /** * Updates our plugin options when we submit the form to admin-post.php. */ function myplugin_admin_update_options() { if (isset($_POST['myplugin_option'])) { update_option('myplugin_option', $_POST['myplugin_option']); } wp_redirect(admin_url('admin.php?page=myplugin_admin_page'), 303); } add_action('admin_post_myplugin_update_options', 'myplugin_admin_update_options'); function myplugin_display_admin_page() { $option = get_option('myplugin_option', ''); ?> <h1>My Plugin Admin Page</h1> <form action="<?php echo admin_url('admin-post.php') ?>" method="POST"> <p> <label for="myplugin_option">Option:</label> <input type="text" name="myplugin_option" id="myplugin_option" value="<?php echo $option; ?>"> </p> <input type="hidden" name="action" value="myplugin_update_options"> <input type="submit" value="Save" class="button button-primary button-large"> </form> <?php }

Here's what our updated example looks like. We have a new function called myplugin_admin_update_options. We moved some of the code that we had in the myplugin_display_admin_page function into it.

The code in question is the if statement that we used to check if we submitted the form. We check if the myplugin_option key is in the $_POST superglobal. And we update the option if it is.

The myplugin_admin_update_options function uses the admin post hook that we just talked about. But why is the hook named admin_post_myplugin_update_options? That goes back to how we said the admin post hook worked.

It's a combination of the admin_post_ prefix and the action parameter. For our form, the action parameter comes from a hidden field in our form. And it contains the myplugin_update_options value.

We also changed the form to send the form to admin-post.php. And, to do that, we used the admin_url function to generate admin-post.php URL. This is a method that you can use to generate URLs for the WordPress admin.

We also use the admin_url function inside the myplugin_admin_update_options function to generate the redirect URL. That's because the menu_page_url function wouldn't work with the admin post hook: we haven't added our admin page at that time, so it would give us an error.

And that's how you do it!

With this, we now have a form that uses the Post/Redirect/Get pattern. (Yay!) The key was using this admin post hook that a lot of us don't know about. It's really the tool that WordPress put at our disposal to do this.

It lets us implement the pattern without much of a hassle. Of course, it requires that we break out our code into more functions. But that's okay!

One function is in charge of displaying the form. The other takes care of updating the option in WordPress. The result is that we made our code more focused and less prone to errors. These are always things that we should strive for!

Further Resources

This article is a follow-up post to:

How to Make a WordPress Admin Options Page (Without Using the Settings API)

Learn more about the topic on Stack Overflow.

Related


Source: Preventing Form Resubmission Warnings in WordPress with the Post/Redirect/Get Pattern