3 Effective Tips for Creating a Compelling Online Course Using WordPress

Want to spread your knowledge by creating a compelling online course using WordPress? WordPress can help you significantly in generating more online learners for your online course. Learning online has been integrated to a large extent in people’s lives. Learning is a never-ending process, and people will continue to want to better their talents and learn new things. Why not make money from your knowledge if you have it?

Whatever your talent, now is the moment to seize this opportunity, share your talents with others, and be compensated for your work. Learn how in this article.

Why Should You Create a Compelling Online Course?

According to Statista, the market for online courses has exploded in recent years, with the global online learning market valued at 101 billion dollars in 2019. Especially after the emergence of the Covid-19 pandemic, people have turned more toward learning online. This adds up to the necessity of creating a compelling online course using WordPress.

How to Create a Compelling Online Course Using WordPress?

To start your journey as an online educational entrepreneur, you’ll need a solid Learning Management System (LMS) platform. Luckily, you may not need to be concerned because WordPress makes creating an online course to share your knowledge and experience with the rest of the world simple.

Let’s quickly get to know the 3 effective tips for creating a compelling online course using WordPress.

Decide on Your Course and Plan for it

Regardless of the speciality, all successful entrepreneurs will begin by planning their strategy ahead of time. Well, it is not just about creating online courses that you should go on based on a plan. Rather, every adult performance requires planning to turn out successful. Some people try to keep their distance from planning because they may find the planning phase scary. However, it is an important step that you should never underestimate.

Here are some of the phases you should think about during the planning stage:

1. Choose Your Niche

You surely know what you are an expert at. But when it comes to online learning, you should teach a specific field. If you are an expert in digital marketing, your online course should be specifically about email marketing, or SEO content marketing, social media marketing, etc. If you are an expert in website development, you should specify your online course to teach HTML, or CSS, JavaScript, etc.

So, forget about teaching a bulk of general material that does not add any value to your online learners. Be specific and teach them something useful and practical.

To do this, you need to ask yourself some questions:

  • What is my expertise?
  • Am I capable of explaining the fundamentals of that profession to a novice till they comprehend it?
  • How enthusiastic am I about that particular topic of study?
  • Can you teach a variety of topics in the same field, or will it be a one-time session?

Moreover, you should also analyze the market. Check if there is enough demand for what you want to present. You can do so by searching through the online course websites.

2. Target Your Audience

Choosing a group of audience for your online course is another phase of planning. Having analysed the market, you should then select the type of audience you want to target with your learning resources. To do so, you need to ask yourself another set of questions:

  • How knowledgeable should they be?
  • What kind of tone should I use?
  • To what extent should my explanations be technical or straightforward?
3. Create a Lesson Plan

If you’ve decided to teach the course to a wider audience, you should divide it into numerous modules or lessons, each of which is more technical than the one before it. Start with a simple introduction to the course and then add up to its professionalism.

In addition, try to think of fun examples and interactive short breaks during the course so that your course would not get boring.

4. Prepare for Your Course

The last step of planning for your online course is to think of the methods you want to adopt. What methods will you employ to help your students grasp the subject more clearly? You can use a variety of methods, including slide shows, pictures, graphs, pdfs, movies (explainer videos), screen recordings, and so on.

Consider the templates and samples you’ll need, and don’t forget to make the resources you’ll be using available for your online learners. Also, remember to provide transcripts especially if your target audience does not speak the same mother tongue as you.

Allow users to participate in feedback sessions for more practice and training. Determine whether you need to create a group in one of the messaging apps or social media platforms where students may engage, share knowledge, and work together. You can think of a platform within your WordPress website as well.

It is totally up to you whether to decide on taking an assessment test at the end of your online course. If you think that would consolidate the material.

5. Assess Your Course

Developing an online course is a never-ending process that necessitates extensive testing and revisions. After you’ve completed your initial setup, share the course with a few people to gather feedback. Check to see if the course is covering every issue, if any parts are difficult to understand, and what the appropriate price for the course should be. The very last step is to remember to use all-in-one accounting software to manage your income.

Create Your WordPress Website

After you’ve finalized your course outline and finished detailed planning, the next step is to choose a domain name, select a hosting package, and then create your WordPress website.

As we mentioned earlier, you’ll need to choose a Learning Management Systems (LMS) plugin while you develop your WordPress site.

Some online teaching platforms work nicely with WordPress. One plugin that works great with WordPress and is indeed made by WordPress is LearnPress. This LMS plugin is one of the top WordPress LMS Plugins for effortlessly creating and selling online courses. You can construct a course curriculum with lessons and quizzes that are managed through a user-friendly interface. With this WordPress LMS Plugin, you can develop education, online school, and online-course websites fast and easily, with no coding skills required.

Here are some of LearnPress features:

  • It works with any WordPress theme.
  • LearnPress supports multi-sites.
  • LearnPress LMS plugin has a great user interface for building online courses with all the features you need. It is simple to create a complete curriculum layout, as well as to edit and maintain it.
  • You can share, manage, and check your course’s statistics
  • LearnPress is free.
  • You can sell your courses with many payment methods.
  • Through the WordPress forum, you can communicate with your online learners…
  • There are a lot of add-ons.

Cross-Promote Your Online Course

So here is the situation now: you have planned your online course efficiently, you have created a WordPress website with an LMS plugin, and now you are waiting for the online learners. How can you let others know about your online course? How can you address your target audience? Well, in the era of technology, that is not a big deal. However, it requires you to be persistent in making efforts.

To attract more visitors to your website, you should:

  • Create a blog and optimise it with SEO techniques and SEO content marketing.
  • Do some backlink building to scale your WordPress website traffic.
  • Create a YouTube channel and use it to share some of your knowledge (you already know that YouTube pays its channel owners if they have a lot of engagement, don’t you?)

  • Develop an affiliate program by hosting webinars on one of the topics covered in the course.
  • Consider publishing your work on Quora and Medium.
  • Pay for advertising that is targeted to your audience (Google Ads, Facebook ads, Youtube ads, Instagram ads, Twitter ads, etc.)
  • Make contact with industry influencers who can help you promote your business.
  • Use other social media such as Instagram and Facebook or Club House.

Conclusion

Sharing your knowledge is an admirable thing that you want to do and it shows your generosity. We understand that you may have financial motivations but you have chosen to teach and earn money among a thousand other ways you could have chosen. So, congratulations! Follow the tips above to put your thoughts into practise and teach as many people as you can. Wish you the best of luck!

Parichehr Parsi - Profile

Posted by: Parichehr Parsi

I am Parichehr Parsi, co-founder of SEO Builders, a freelance content creator, and a link builder. I love reading, writing, and doing research.

 

It’s good to share

How to Install and Setup WordPress Multisite Network

In this article, we are going to explain how you can easily install and set up WordPress multisite. So if you are running multiple WordPress sites on sub-domains and wanted to manage all their sites together, we will show you how to install and set up WordPress multisite network.

What is WordPress Multisite?

A WordPress multisite network allows you to run and manage multiple WordPress sites from a single WordPress installation. You can create new sites instantly and manage them using the same username and password. You can even allow other users to signup and create their own blogs on your domain.

Advantages of using a Multisite Network

  1. As the network admin, you can easily administer multiple sites from a single dashboard.
  2. Each site can have its own admins with capabilities to manage only their own site.
  3. Install plugins and themes on multiple sites with one download.
  4. Multisite network also makes it easier for you to manage updates. You only need to update your WordPress, plugins, or themes on one install.
  5. Disadvantages of using a Multisite Network

    1. All the sites on the network share the same resources, so when your site is down, all sites on your network are down.
    2. Managing server resources in case of unexpected traffic can be difficult for a beginner level user.
    3. If your site gets hacked, then this means all the sites on your network will get hacked.
    4. Some WordPress plugins may not work well on a multisite network.

    Who Needs a WordPress Multisite Network

    Just because you have multiple WordPress installation does not mean that you need to create a multi-site network. You can use services like ManageWP or InfiniteWP to manage multiple different sites.

    Creating a multisite network makes sense for:

    • A magazine site with different sections managed by different teams.
    • A business site with sub-sites for different locations and branches.
    • Government or non-profit sites can use multisite for different departments, locations, and regions.
    • Your own network of blogs running on multiple subdomains.
    • Schools and colleges allowing students to create their own blogs on school servers.

    Requirements for a WordPress Multisite Network

    The most important thing you will need to run a WordPress multisite network is good WordPress hosting. If you are not planning to create many sites and do not expect many visitors, then you can get away with shared hosting. However, due to the nature of multi-sites, you’d probably need a VPS or dedicated server as your sites grow.

    Apart from web hosting, you will need some basic knowledge of installing WordPress and editing files using FTP.

    Choosing a Domain Structure for Your Multisite Network

    On a WordPress multisite network, you can have your sites installed as either subdomains or subdirectories, for example:-

    http://sitename.example.com
    http://example.com/sitename/

    If you choose subdomains, then you will have to configure wildcard subdomains on your server.

    On the other hand, if you choose sub-directories or path based URLs for sub-sites on your network, then the only thing you need to do is enable pretty permalinks on your root site.

    Enabling WordPress Multisite Network Feature

    Multisite Network feature comes built-in with each WordPress install. All you need to do is install and set up WordPress like you normally would.

    You can also enable the Multisite feature on an existing WordPress site. Before you enable multisite, make sure that you have created a full backup of your WordPress site.

    To enable Multisite, you need to access your site using an FTP client or cPanel file manager and open wp-config.php file for editing.

    You need to add this line to your wp-config.php file just before the /* That’s all, stop editing! Happy blogging. */ line.

    
    define( 'WP_ALLOW_MULTISITE', true );
    

    Save and upload your wp-config.php file back to the server. Now your WordPress site supports a multisite network.

    Setting up The Network

    Now that you have successfully enabled the Multisite Network feature on your WordPress site, it is time to set up your network. Before you do that, the first thing you need to do is deactivate all plugins on your site. After that, you need to go to Tools > Network Setup to configure your multisite network.

    On the network setup screen, you will see a notice that you need Apache’s mod_rewrite module installed on your server to set up a multisite network. This module is installed and enabled on most reputable WordPress hosting providers.

    The next thing you need to do is to tell WordPress what kind of domain structure you will be using for sites in your network, e.g. Subdomains or Sub-directories. After that, you would need to provide a title for your Network and make sure that the email address in the Network Admin Email is correct. Lastly, click on the install button to continue.

    On the next screen, WordPress will show you some rules that you need to add to your wp-config.php and .htaccess file. Use an FTP client to edit those two files and copy-paste the code.

    Configuring Network Settings

    After successfully setting up the Multisite Network, you need to switch to the Network Dashboard to configure network settings, add new sites, and do lots of other things. Take your mouse over to My Sites menu in the admin toolbar, a fly down popup will appear. Click on Network Admin > Dashboard.

    You will notice that there are new menu items to manage your multisite network. You will also see a dashboard widget allowing you to create a new site and add new users.

    To configure Network Settings click on the Settings link in the admin sidebar. On the network settings screen, the first option is to set your site title and admin email address. These fields will be filled with the network title and admin email you entered during the network setup.

    Opening Your Multisite Network for Registrations

    The Registration Settings section on the network settings screen is probably the most important setting in your network setup. By default, both user and site registrations will be disabled on the network. You can choose to open your site for user registration, or allow existing users to create new sites, or allow both user and site registration.

    You can check the box next to Registration Notification to receive email notifications every time a new user or site is registered.

    If you want to allow the site administrators the ability to add new users to their sites, then you can check the box next to Add New Users.

    Limited Email Registration options will allow you to limit site or user registration to the email address from specific domains, then you can add those domains here. This is particularly useful if you only want to allow people from your own organisation to register and create users or sites. Similarly, you can also ban certain domains from registration.

    New Site Settings

    The New Site Settings section on the network settings screen allows you to configure default options for the new sites created on your network. You can modify the welcome emails and the contents of the first default post, page, and comment.

    Upload Settings for Your Multisite Network

    It is important for you to keep an eye on the usage of the server resources. Under the Upload Settings section, you can limit the total amount of space a site can use for uploads. The default value is 100 MB which is probably good for at least 100 photo uploads. You can increase or decrease this space depending on how much disk space you have.

    The default upload file types are images, audio/video, and pdfs. You can add additional file types if you want, e.g. doc docx odt. Lastly, you can choose a file size limit, so that users can’t upload insanely large files to the server.

    Menu Settings

    Under the menu settings, you will find the option to enable the administrative menu for the plugins section on the network sites. Enabling this will show the plugins menu to site admins. They can activate or deactivate a plugin on their individual sites, but they cannot install new plugins.

    Adding New Sites to Your WordPress Multisite Network

    To add a new site to your WordPress multisite, simply click on Sites under My Sites » Network Admin » Sites menu in the admin toolbar.

    This will show you a list of sites on your current Multisite installation. By default, you have your primary site listed as the only site in your WordPress Multisite network. To add a new site, click on the Add New button at the top.

    On the Add New Site screen, you need to provide the site’s address. You don’t need to type the full address, just the part you want to use as a subdomain or sub-directory. After that provide a site title, and add the site’s admin email address.

    You can add an admin email address other than the one you are currently using to manage your multisite. If the email address is not currently in use by another user on your site, then WordPress will create a new user and send the password and username to the email address you enter.

    Once you are done, click on the Add Site button. A new site will be added to your multisite network. As the network admin, you will receive a new site registration email. If you created a new user, then that user will receive their username and password with instructions to log in on the email address you provided.

    Adding Themes and Plugins to Your Multisite Network

    By default, individual site administrators cannot install themes and plugins on their own. As the network admin, you can install plugins and themes for them and make those themes/plugins available to them. To do that you need to login to your primary site and go to My Sites > Network Admin > Themes.

    On the Network Admin’s themes screen, you will see a list of the currently installed theme on your WordPress multisite. You can make a theme available to other sites by clicking on Enable Network under that theme. Similarly, you can disable a theme by clicking on the Disable Network link under the theme.

    Similarly, you can activate or deactivate a plugin for the whole network from My Sites > Network Admin > Plugins screen. Note that if you have checked the Plugins Menu as available to site admins in the Network Settings, then site administrators can activate or deactivate installed plugins on their own.

    Troubleshooting WordPress Multisite Issues

    Most common issues occur due to incorrect configuration of Wildcard Subdomains. Make sure that your web host supports wildcard subdomains.

    Another common issue is that when using WordPress Multisite with sub-directories, some users are unable to log in to the admin area of their sites after they add the required code in wp-config.php file. To fix this, try replacing the following line in the wp-config.php file:-

    
    define('SUBDOMAIN_INSTALL', false);
    

    with:-

    
    define('SUBDOMAIN_INSTALL', 'false');
    

    If you’re still having problems, feel free to email us to leave a comment below. We sure hope this article helps!

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

WooCommerce: Disable Payment Gateway for Specific User Role

You may want to disable payment gateways depending on the user role or user capability. For example, you may want to disable PayPal for ‘user role: subscriber’ or enable a specific gateway for another user role. This can be achieved without a plugin, all you need to do is paste the following code in your functions.php file.


/**
 * Disable Payment Gateway for a Specific User Role | WooCommerce
 */

add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_private' );

 function payment_gateway_disable_private( $available_gateways ) {

    $user = wp_get_current_user();

    if ( isset( $available_gateways['cod'] ) && !is_user_logged_in() || isset( $available_gateways['cod'] ) && in_array('subscriber', $user->roles)  ) {
        unset( $available_gateways['cod'] );
    }

   return $available_gateways;

}

So what the above code will do is remove the ‘Cash On Delivery’ option if you are not logged in, or if you are a user with the ‘Subscriber’ role.

How to Find WooCommerce Payment Gateway ID

If you navigate to WooCommerce –> Settings –> Payments tab, if you inspect the element or view source of this page, you will see a list of codes within a table of all the gateways available on your website as shown in the below screenshot:

What if you want to disable payments for multiple user types?

Okay, we have you covered you here as well. Let’s say you want to disable ‘Stripe’ payment gateway for both the Administrator and Subscriber user but no other user…

What we need to use here is the PHP’s Array Intersect.

Again, this code will get added to your functions.php file and will look something like this:


/**
* Disable Payment Gateway for a Specific User Roles | WooCommerce
*/

function ts_disable_stripe( $available_payment_gateways ) {

//Check whether the available payment gateways have the Stripe option and if the user is not logged in or has the role administrator or subscriber
$user = wp_get_current_user();
$allowed_roles = array(‘administrator’, ‘subscriber’);

if ( isset($available_payment_gateways[‘stripe’]) && (array_intersect($allowed_roles, $user->roles ) || !is_user_logged_in()) ) {

//Remove the stripe payment gateway
unset($available_payment_gateways[‘stripe’]);
}

return $available_payment_gateways;
}

add_filter(‘woocommerce_available_payment_gateways’, ‘ts_disable_stripe’, 90, 1);

Now, the $allowed_roles can list an array of all the users you would like to not display a specific payment gateway for.

Is there a Plugin alternative?

If you don’t feel 100% confident with coding there is a plugin available which offers the same capabilities as the non-plugin method.

There is a plugin called WooCommerce Conditional Payment Gateways to be the most complete when you need to enable/disable payment gateways based on certain criteria. You can create unlimited ‘rules’ and use, for example, cart totals, billing country, shipping country, user role and much more to define which payment gateway shows and which not.

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

ACF Repeater Load More using AJAX

Have you ever wanted to show a limited amount of items when using an ACF repeater? Maybe you are using this to display images and to save on load time you only want to show a selective amount instead of loading them all. At the end of the day, having to load fewer images is going to speed up your site right?

In this example, we will show you the basics of adding load more functionality for an ACF repeater field. We are going to display a repeater called gallery and load only 9 items if there are more than 9 items we will display a ‘Load more’ button to programmatically load the rest.

So first of all our markup will look as follows:-


<div id="photo-gallery">
	<div class="row">
		<?php
		if( have_rows('media') ): 
			$total = count(get_field('media'));
			$count = 0;
			$number = 8;					
			while ( have_rows('media') ) : the_row(); ?>						
					<div class="col-md-4 col-sm-6">
						<a class="mag-pop" data-img="<?php the_sub_field('image'); ?>" href="<?php the_sub_field('image'); ?>"><img class="img-gallery" alt="BeWILDerwood Gallery" src="<?php the_sub_field('image'); ?>" /></a>
					</div>
				<?php
				if ($count == $number) {
					// we've shown the number, break out of loop
					break;
				} ?>					
			<?php $count++; endwhile;
		else : endif;
		?>
	</div>
	<a id="gallery-load-more" href="javascript: my_repeater_show_more();" <?php if ($total < $count) { ?> style="display: none;"<?php } ?>><h2 id="title-bg"><span>Load more</span></h2></a>
</div>

As you can see, $number defined the number of repeater items we want to initially display. We use the break; clause to prevent further images from loading.

Now moving on to the JavaScript:-


<script type="text/javascript">
	var my_repeater_field_post_id = <?php echo $post->ID; ?>;
	var my_repeater_field_offset = <?php echo $number + 1; ?>;
	var my_repeater_field_nonce = '<?php echo wp_create_nonce('my_repeater_field_nonce'); ?>';
	var my_repeater_ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';
	var my_repeater_more = true;
	
	function my_repeater_show_more() {
		
		// make ajax request
		jQuery.post(
			my_repeater_ajax_url, {
				// this is the AJAX action we set up in PHP
				'action': 'my_repeater_show_more',
				'post_id': my_repeater_field_post_id,
				'offset': my_repeater_field_offset,
				'nonce': my_repeater_field_nonce
			},
			function (json) {
				// add content to container
				// this ID must match the containter 
				// you want to append content to
				jQuery('#photo-gallery .row').append(json['content']);
				// update offset
				my_repeater_field_offset = json['offset'];
				// see if there is more, if not then hide the more link
				if (!json['more']) {
					// this ID must match the id of the show more link
					jQuery('#gallery-load-more').css('display', 'none');
				}
			},
			'json'
		);
	}
	
</script>

We’ve added comments within the code so you can see what is happening through the process. Now we need to add the code to the functions.php file to load the additional items.


/**
 * ACF Load More Repeater
*/

// add action for logged in users
add_action('wp_ajax_my_repeater_show_more', 'my_repeater_show_more');
// add action for non logged in users
add_action('wp_ajax_nopriv_my_repeater_show_more', 'my_repeater_show_more');

function my_repeater_show_more() {
	// validate the nonce
	if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'my_repeater_field_nonce')) {
		exit;
	}
	// make sure we have the other values
	if (!isset($_POST['post_id']) || !isset($_POST['offset'])) {
		return;
	}
	$show = 9; // how many more to show
	$start = $_POST['offset'];
	$end = $start+$show;
	$post_id = $_POST['post_id'];
	// use an object buffer to capture the html output
	// alternately you could create a varaible like $html
	// and add the content to this string, but I find
	// object buffers make the code easier to work with
	ob_start();
	if (have_rows('media', $post_id)) {
		$total = count(get_field('media', $post_id));
		$count = 0;
		while (have_rows('media', $post_id)) {
			the_row();
			if ($count < $start) {
				// we have not gotten to where
				// we need to start showing
				// increment count and continue
				$count++;
				continue;
			}
			?>
			<div class="col-md-4 col-sm-6">
				<a class="mag-pop" data-img="<?php the_sub_field('image'); ?>" href="<?php the_sub_field('image'); ?>"><img class="img-gallery" alt="BeWILDerwood Gallery" src="<?php the_sub_field('image'); ?>" /></a>
			</div>
			<?php 
			$count++;
			if ($count == $end) {
				// we have shown the number, break out of loop
				break;
			}
		} // end while have rows
	} // end if have rows
	$content = ob_get_clean();
	// check to see if we have shown the last item
	$more = false;
	if ($total > $count) {
		$more = true;
	}
	// output our 3 values as a json encoded array
	echo json_encode(array('content' => $content, 'more' => $more, 'offset' => $end));
	exit;
} // end function my_repeater_show_more

As you can see above, we are going to load an additional 9 images (or repeater values) on click of the load more button. Once all loaded items have appeared, we are hiding the load more button so that is no longer visible.

And that’s pretty much it! If this has helped you, feel free to drop a comment. If you need any help with this, feel free to get in touch and we’ll be happy to assist you! 🙂

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

How to Load More Posts using Ajax with a Button or on Scroll in WordPress

Updated: 22/01/2021 – Further clarification has been added on the setup of this script.

In today’s post, we will show you how to create a load more button to show additional posts or custom post types using AJAX.

The benefit of this is that it will improve the page-load of the particular page as it will only be displaying a certain amount of posts before having to load any more of the content (especially when you are loading images).

So let’s get started…

So the first thing that you should have is a list of posts to display on the frontend as follows:-


    <div id="ajax-posts" class="row">
        <?php
            $postsPerPage = 3;
            $args = array(
                    'post_type' => 'post',
                    'posts_per_page' => $postsPerPage,
            );

            $loop = new WP_Query($args);

            while ($loop->have_posts()) : $loop->the_post();
        ?>

         <div class="small-12 large-4 columns">
                <h1><?php the_title(); ?></h1>
                <p><?php the_content(); ?></p>
         </div>

         <?php
                endwhile;
        wp_reset_postdata();
         ?>
    </div>
    <div id="more_posts">Load More</div>

Then you want to add the following code in your functions.php file where you register the scripts:


	wp_localize_script( 'core-js', 'ajax_posts', array(
	    'ajaxurl' => admin_url( 'admin-ajax.php' ),
	    'noposts' => __('No older posts found', 'twentyfifteen'),
	));	

NOTE: You will need to replace code-js with the file you are going to be adding the JS code later in this tutorial.

We added it to a file called core.js, and the reason we added code-js is that we enqueued the script as follows:


	wp_register_script( 'core-js', get_template_directory_uri() . '/assets/js/core.js');
	wp_enqueue_script( 'core-js' );

Right after the existing wp_localize_script. This will load WordPress own admin-ajax.php so that we can use it when we call it in our ajax call.

At the end of the functions.php file, you need to add the function that will load your posts:-


function more_post_ajax(){

    $ppp = (isset($_POST["ppp"])) ? $_POST["ppp"] : 3;
    $page = (isset($_POST['pageNumber'])) ? $_POST['pageNumber'] : 0;

    header("Content-Type: text/html");

    $args = array(
        'suppress_filters' => true,
        'post_type' => 'post',
        'posts_per_page' => $ppp,
        'paged'    => $page,
    );

    $loop = new WP_Query($args);

    $out = '';

    if ($loop -> have_posts()) :  while ($loop -> have_posts()) : $loop -> the_post();
        $out .= '<div class="small-12 large-4 columns">
                <h1>'.get_the_title().'</h1>
                <p>'.get_the_content().'</p>
         </div>';

    endwhile;
    endif;
    wp_reset_postdata();
    die($out);
}

add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax');
add_action('wp_ajax_more_post_ajax', 'more_post_ajax');

The final part is the ajax itself. In functions.js or your main JavaScript/jQuery file, you need to input inside the $(document).ready(); environment the following code:-


var ppp = 3; // Post per page
var pageNumber = 1;


function load_posts(){
    pageNumber++;
    var str = '&pageNumber=' + pageNumber + '&ppp=' + ppp + '&action=more_post_ajax';
    $.ajax({
        type: "POST",
        dataType: "html",
        url: ajax_posts.ajaxurl,
        data: str,
        success: function(data){
            var $data = $(data);
            if($data.length){
                $("#ajax-posts").append($data);
                $("#more_posts").attr("disabled",false);
            } else{
                $("#more_posts").attr("disabled",true);
            }
        },
        error : function(jqXHR, textStatus, errorThrown) {
            $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown);
        }

    });
    return false;
}

$("#more_posts").on("click",function(){ // When btn is pressed.
    $("#more_posts").attr("disabled",true); // Disable the button, temp.
    load_posts();
    $(this).insertAfter('#ajax-posts'); // Move the 'Load More' button to the end of the the newly added posts.
});

With the above code, you should now have a load more button at the bottom of your posts, and once you click this it will display further posts. This can also be used with CTP (custom post type).

How to add Infinite Load, instead of Click

You can also load the rest of the posts automatically on scroll instead of having to click on a button. This can be achieved by making it invisible by setting the visibility to hidden.

The following code will run the load_posts() function when you’re 100px from the bottom of the page. So instead of the click function we added we would use:


$(window).on('scroll', function(){
    if($('body').scrollTop()+$(window).height() > $('footer').offset().top){
        if(!($loader.hasClass('post_loading_loader') || $loader.hasClass('post_no_more_posts'))){
                load_posts();
        }
    }
});

Do note that there is a drawback to this. With this method, you could never scroll the value of $(document).height() - 100 or $('footer').offset().top, If that should happen, just increase the number where the scroll goes to.

You can easily check it by putting console.log in your code and see in the inspector what they throw out like so:


$(window).on('scroll', function () {
    console.log($(window).scrollTop() + $(window).height());
    console.log($(document).height() - 100);
    if ($(window).scrollTop() + $(window).height()  >= $(document).height() - 100) {
        load_posts();        
    }
});

Adjust the settings accordingly and you will get this working to your desire in no time!

If you need any help with this, feel free to get in touch in the comment below. If you need help with this, just drop me a message and I’ll be more than happy to help you!

 


Sponsor

If you have come this far and you’re a fan of Football, check out our sponsor below; The FPL Way

They will help you become the king of your FPL mini-leagues!


Fantasy Premier League – Gain the FPL advantage you deserve

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

The 5 Best WordPress Age Verification Plugins to Help You Add an Age Gate

In this article, we will be providing you with the best 5 WordPress Age Verification Plugins to help you add an age-gate to your website.

If you need to add an age check gate to your WordPress website, then you are in the right place. Using a pre-built WordPress age verification plugin is a simple way to action this as opposed to writing custom code. Although age verification systems are not essentially required by law in most jurisdictions, a lot of businesses dealing in age-sensitive industries choose to use an age gate to control the age of their visitors. These tend to be industries such as alcohol, tobacco, gambling and various others.

So let’s dive into it!

The Best WordPress Age Verification Plugins in 2021

1. Age Gate

Age Gate is a fantastic plugin with a great list of features. We always tend to favour the authors of plugins that have very frequent updates.

Why is the plugin so great? Well, the plugin excludes search engine crawlers and bots so that they do not run into any issues when crawling your website. Other than that, it offers great flexibility allowing you to:

  • Choose between restricting your entire site or just specific content
  • Add an age-gate specifically to your registration forms
  • Allow users to input their age via three different methods (Has simple yes/no option)
  • Add an optional “remember me” box that users can check to avoid future age checks
  • Exclude logged-in users from age checks
  • SEO Friendly – common bots and crawlers are omitted from age checks

In addition to this, it also allows full customisation such as adding your logo and customising all the text that appears. On top of that, the default styling offers quite a nice modern design. It even offers the ability to switch over to a JavaScript triggered version. This essentially means that you can bypass your host of plugins cache, awesome right?

2. Dispensary Age Verification

Technically, the Dispensary Age Verification plugin is an add-on for the WP Dispensary plugin. However, you don’t need to use the core plugin to use this add-on.

What is great about this plugin is that it is super lightweight, quite flexible and it’s a simple age-gate you can apply to your whole website. It will show the age-gate regardless of which page on your website that you first visit. If that all sounds good, you can also adjust the design through the WordPress Customizer.

Once you activate the plugin, you can head over to AppearanceCustomizeAge Verification, and within here you can set up the following:

  • Logo
  • Title
  • Message
  • Minimum Age
  • Using the WordPress Customizer to make changes
  • Using the WordPress Customizer to make changes

The great thing about being able to edit via the WordPress Customizer is that you can view your changes in real-time. This plugin offers a very quick and efficient setup, what more could you ask for.

3. AgeVerify

The AgeVerify plugin isn’t a light-weight as the rest, the reason for this is that this plugin offers various templates which can match a variety of use cases.

The downside to this plugin is that the free version supports ads. This basically means that if you want to remove the ads from the age verification gate, you will need to purchase the pro version which costs $59.

What could make this worthwhile is that it offers you great flexibility allowing you to set:

  • Custom cookie expirations
  • Custom redirect URLs
  • And the background images that it uses are a nice touch.

Having the banners doesn’t really look that professional and doesn’t help your website whatsoever. If you are willing to pay, then great, but from experience, the free option just doesn’t cut it.

4. Age Verifier for WordPress

Age Verifier for WordPress doesn’t offer any free version, unfortunately. However, for just $18 you should bear this in mind once you check out the plugin.

For just $18, you can get some pretty clean and modern designs along with a very helpful visual builder to customise the appearance of the age-gate. You can even select different verification methods as well as defining how long the cookie should last.

Another great feature is that you can add animation effects for when the age-gate appears. In all honestly, though, the core functionality doesn’t offer that much more than the free plugins we have mentioned previously.

The question is if you are willing to pay $18 to make your age-gate look more attractive without having to add some custom code, then it’s a no brainer really. If not, then the other free plugin suggestions would definitely suffice.

5. Age Checker

The Age Checker for WordPress is another premium plugin you can choose from. It’s the same price as the previous one at $18 and it offers a few unique features that the other plugins above don’t offer.

What this plugin offers is 3 different background modes, either a solid colour, image or video. Whilst some of the other plugins offer a date of birth as an option, one of the unique features about this plugin is to have a simple checkbox or enter your verification method. If you are looking for a simple verification like having a button to confirm they are over the required age then this works a treat.

You can also redirect users, change the form validation text and the life of the cookie. Crawlers can be omitted from age verification to ensure it doesn’t effect the SEO of your website.

Lets conclude…

Which WordPress Age Verification Plugin Should You Choose?

Overall, the Age Gate plugin for us is the best. It has the best combination of functionality and styling. The other thing it lacks is the track record of well-reviewed options like the Age Verifier for WordPress. Dispensary Age Verification also provides a nice lightweight solution, though it doesn’t offer the same depth of functionality as the other plugins.

Well, we hope this article helps you decide which Age Verification plugin is the best, depending on your website and your programming knowledge, one plugin could be the best fit for one website, and another plugin for another.

You can even create your own Age Gate verification plugin quite easily if you have the programming knowledge.

Let us know in the comments below as to which your favourite Age Verification plugin is!

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

10 Best WordPress Plugins For Food Bloggers

Finding the best WordPress plugins for your food blog can be daunting because there are millions of options for everything that you need to get done.

From powerful conversion and SEO tools to beautiful image sliders, there’s a lot you can do to beautify and optimise your blog.

With lots of choices comes lots of confusion because, at the end of the day, you need to pick the best plugins that should be installed on your blog.

Thankfully, we’re here to help you figure out which plugins you need to increase conversions and SEO and optimise your site.

Let’s jump into the list of WordPress Plugins for food bloggers.

Top 10 WordPress Plugins For Food Bloggers

I started my own food blog a few months ago. The sheer amount of research I had to decide which plugins to install was taxing.

However, in a few weeks time, I had a list of plugins for almost everything that I needed.

Today, I’m sharing the same list of plugins with you that I have either used or currently use on my blog.

I promise you that all of these plugins will help you increase your blog’s traffic, back up your blog, and simplify your site or make it better.

1. Yoast SEO

This is hands-down the best SEO plugin that’s there in the market. It enables you to optimise your posts, pages and maximizes your blogs SEO potential.

It also has a range of tutorials and articles that help you understand its features and industry trends.

The best part is that it comes with a free version which makes it perfect if you’ve just started out.

2. SumoMe

What’s one plugin that you absolutely need to grow your blog?

It’s SumoMe.

From opt-in forms to social sharing and heat maps to content analytics, it has everything to help your food blog grow.

The Pro version comes with more features and functionality to grow your blog exponentially.

3. W3 Total Cache

A potent plugin that speeds up your blog while caching, this is a plugin you should definitely install.

It also comes with a bunch of other features to optimise your food blog.

Since speed is key, this plugin helps cut down the loading and waiting time of your pages and improve your overall reader’s experience.

4. Jetpack

Sit back and relax as Jetpack supercharges your blog with a fabulous collection of features ranging from subscription forms, website stats and social media icons.

According to me, it’s the best way to check the stats of your website without leaving your site.

WP Smush.it

As a food blogger, you’ll require high-quality photos all the time.

Apart from that, you might also add large files such as videos, PDFs, cookbooks, etc.

While this will be appreciated by your readers, the loading time for these massive media files will not.

It’s common knowledge that a person doesn’t wait for more than 3 seconds for a website to load.

This can be problematic especially when you’re trying to grow your food blog.

The best solution is to install WP Smush.it. This helps reduce the file size and improves the SEO, performance and speed of your website.

6. Contact Form 7

Your theme might be beautiful and come with a lot of features but I’ve come to realise that no matter how perfect the theme is, it always lacks a contact form.

Trust me, I’ve changed hundreds of themes before finalising my current one.

A content form allows your readers and users to interact with you. Adding one to your website also makes your site look more authoritative and reliable.

Contact Form 7 allows you to customise your forms, filter spam, add CAPTCHA among other things.

It’s a great plugin to manage all communication between your readers and yourself.

7. Editorial Calendar

I like to plan the content for my blog a few weeks in advance.

In order to keep a track of each and every article that will be published, I use Editorial Calendar.

It’s an excellent plugin that allows you to schedule and arrange your content by dragging and dropping it on the calendar.

I can rearrange dates without causing a mess and enhance my content publishing strategy in no time.

8. Broken Link Checker

If you’re someone who works alone or even has a small team like me, you’ll need someone to keep a track of pages, posts, comments and most importantly, broken links.

Enter Broken Link Checker that does all this and emails you when it finds broken links and alerts you via your email.

This is crucial because you don’t want your audience to be directed to broken pages that display a 404 error.

Plus, such links negatively impact the SEO of your site.

9. Akismet

When I first started my blog, I used to wish my that my readers would leave comments on my site.

And that started a few weeks after I encouraged them to do so via my social media marketing.

I was elated, overjoyed, in fact. Soon after, my articles were full of comments about fake Chanel bags and vapes and CBD oils.

It felt as though I had managed to attract all the spammers to my website to leave spammy comments!

That’s when I decided to install Akismet.

It stops spammers from posting trashy comments on your website and helps keep your comments section tidy and relevant to the content you share.

10. Vaultpress

The last plugin on my list is Vaultpress.

It allows you to back up your blog in real-time.

Created by the same people who made WordPress, it automatically backs up your content, theme and files every day.

You even get security scans every day that help improve the security of your blog. It’s a paid plugin and costs $5 per month.

Conclusion

You don’t need a million plugins to run a food blog, you just need a handful of effective ones.

Managing your blog will be a cakewalk with these plugins so make sure you give them a try.

Do let us know which were your favourite plugins and if you’ve got better alternatives or suggestions for us to try!

Also, you can check out our other article; Our top 10 used plugins for WordPress – 2021 Edition and find what Silva Web Designs like to use to develop great WordPress websites!

Shristi Patni - Profile

Posted by: Shristi Patni

Shristi is a content writer and owner of F and B Recipes. Formerly the Chief Content Officer at Raletta, she is currently working on her second cookbook. Feel free to contact her regarding a food guest post or a mental health guest post.

 

Follow Shristi on Social Media:
Linkedin / Pinterest / Facebook / Twitter / Instagram

 

It’s good to share

7 Professional WordPress Themes for Programmers 2021

Every business is rushing to get an e-commerce website to succeed in today’s digital age. Every small or large business considers building a website for every new venture. Therefore, it is not a big surprise that programmers have become rather popular.

WordPress is a programmer’s best friend these days as you can get thousands of free and paid website templates to get a site up and running. However, a website not only has to be functionally perfect but should be user-friendly and interactive as well.

Therefore, the real question is which theme is suitable for you? While selecting a theme, you need to look at various factors, including compatibility with plugins and customisation options.

Let’s have a look at the top 7 professional WordPress themes for programmers for the year 2020 and 2021:

1. Jevelin

Jevelin is a multipurpose website that can easily be used for simple as well as complex websites. It can be used for business purposes, by freelancers, or even for private portfolios. There are multiple pre-built layouts, designs, and options for plugins, which creates an amazing user-experience and allows you to play around.

The theme is compatible with mobile and other devices; some key features of this theme are:

  • One-click install
  • Easy customisation
  • Mobile ready
  • Shop powered by WooCommerce
  • Compatible with popular contact forms
  • Slider Revolution
  • 40+ custom-crafted shortcodes

2. Uncode

Uncode is another option that can be creatively used for multipurpose websites. The theme allows you to customise the layout and create a masterpiece with your specifications. With its modern design options, you can add sliders, headers, replicable sections, and much more to enhance the user experience for your website.

The adaptive images feature detects user screen dimensions and rescales the images for a good user experience. The theme is ideal for:

  • Digital agency,
  • Freelance designers
  • web designer
  • developers
  • Service/ product-based businesses
  • marketing
  • blog
  • magazine
  • portfolio
  • photography
  • architecture firms
  • corporate
  • event
  • eCommerce

Hence you can select Uncode for various types of websites, and with its wide range of features, you can customize it however you want.

3. Webify

Webify is another one-stop solution for your website needs. With its exquisite design and countless features, Webify makes amazing options for programmers to build a website of their own choice. There are multiple demos available in the website theme, which you can use as it is or tweak for some customisations as you wish. The theme includes a variety of blocks and modules where you can add, swap, or create a new one as per your need.

The theme is completely customisable, from colours to fonts and various designing options. There are over 60 shortcodes available through which you can turn your imagination into reality. Moreover, you can play around with the gallery as the theme allows you to post format in the audio, video gallery, and standard.

4. RyanCV

RyanCV is an ideal template for coders, programmers, and developers to create a fully customisable CV. The theme includes creative layouts, dark and light mode, more than 8 built-in layouts along with RTL support to create unique CVs. The web design will help you engage and attract new clients as it is an extremely engaging and user-friendly design.

Using RyanCV, users can create a powerful CV with images, videos, links, and ajax content. Users can add skills using cars and lines, add a different contact form, and use icons from a large option of more than 1300 variants.

5. Salient

Salient is an incredible theme to build a completely interactive and responsive website. There are more than 65 elements and 1000+ configuration options that enable you to customise the website however you want.

There are various grid, carousel, slider, and styling options to help you with innovative styling. You can also enjoy social media integration and Lifetime Updates once you purchase this theme. The theme is fully customisable, and you can edit every single feature as per your need and requirement. The options panel includes various options that make it even more user-friendly.

6. Ronneby

Ronneby is famous for its premium design and flexibility options. The theme is appropriate for both business as well as creating websites, so it’s a complete solution for both freelancers as well as corporate businesses.

The theme includes Easy one-click installation, Best premium plugins, and 40+ stylish demos are available for you to explore the possibilities. The theme is compatible with WooCommerce, so it’s easy for you to build an e-commerce website using Ronneby. The pre-made demos can also be used if you are short on time or don’t want to customise.

Moreover, you can also enjoy multilingual support if you are targeting the website for international users. The administration panel is fairly simple, so you can have the backend sorted while using Ronneby. The template also has fully-responsive features, so you won’t have to worry about fixing dimensions for different screen types.

7. Bridge

The Bridge is a multipurpose WordPress theme that can be used for multiple purposes ranging from portfolios to eCommerce websites. There are more than 500 demos with 24 layout concepts to play around with. Whether you want to build a website for a software company, a product, a salon, or an e-commerce platform, Bridge will help you build a website for any purpose you wish.

The admin interface of the Bridge is also user-friendly and customisable typography styles to enjoy. Upload multiple logo versions, play around with graphics, and take complete control over your website.

Key features of Bridge are:

  • Social media integration
  • Integrated search functionality
  • Ajax transition animations
  • Infographic elements

These features will help you control and monitor the website’s performance and update it regularly with new updates. The template helps you establish a fully functional, responsive, and engaging layout without much of a hassle.

Conclusion

These were some of the top WordPress themes that you can use for multiple purposes, including e-commerce, business, bakery services, web development houston, personal blogs, etc. These themes include advanced technologies, plugins, and regular updates so you can enjoy a better experience.

Posted by: Myrah Abrar

Myrah Abrar is a computer science graduate with a passion for web development and digital marketing. She writes blog articles for ApCelero.

 

It’s good to share

How to Hide or Change Password Protected Message and Form in WordPress

In this tutorial, we are going to show you how you can change password-protected message and the form in WordPress. WordPress allows you to have password-protected posts or pages. This basically means that only people who have the defined password will be able to access the content of that page/post.

The default, the message for this page will read “This content is password protected. To view it please enter your password below:”.

But sometimes, you might want to change the default password-protected message in WordPress.

First of all, to create a password-protected page, we simply edit the page/post, we click the ‘Edit’ link next to ‘Visibility’ on the right sidebar, select the ‘Password protected’ radio button and we can define a password as shown below:

Then when someone visits the page is will look something like this:

How to Change the Default Message on the Password Protected post/page in WordPress

To do this, we can simply add the following code to our functions.php file:


/**
 * Password Protected Message
 */

function my_custom_password_form() {
  
    global $post;

    // Custom logic for the message
    $password_form_message = 
    __( '<p id="private-area-message">This is my new message for the protected area. If you would like access to this page, please send an email to <strong><a href="[email protected]">[email protected]</a></strong></p>' );

    // Put together the custom form using the dynamic message
    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
    $form = '<div class="container"><form class="protected-post-form" action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
    ' . $password_form_message . '
    <label id="password-label" for="' . $label . '">' . __( "Password:" ) . ' </label><input name="post_password" id="' . $label . '" class="pw-window" type="password" size="20" /><input type="submit" class="btn btn-large" name="Submit" value="' . esc_attr__( "Submit" ) . '" />
    </form></div>
    ';
    return $form;

}
add_filter( 'the_password_form', 'my_custom_password_form' );

After you have added this, your password-protected page will look as follows:

We also included the form as well so we can make changes to the form label and submit input value.

Hiding the Password Protected Message

To do this, we can use the same code that we used above, the only thing we need to change is the $password_form_message value by simply setting this to '' (empty) as shown below:


      $password_form_message = 
        __( '' );

And that’s basically it, pretty simple, right? We hope this has helped – if you need any assistance, feel free to drop a comment below.

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share

How to increase WordPress Memory Limit

In this tutorial, we are going to show you how you can increase your WordPress memory limit using various methods.

If you are getting an error saying something along the lines of “Not Enough Memory allowed for PHP. You have 32 MB. You need at least 64MB” then you can usually resolve this by completing one of the below steps:

How to Increase WordPress Memory Limit

1.) Edit your wp-config.php file and enter something like:


    define('WP_MEMORY_LIMIT', '64M');

2.) If you have access to your PHP.ini file which you can usually access via cPanel or Plesk, change the line in PHP.ini

If your line shows 32M try 64M:-


    memory_limit = 64M; #Maximum amount of memory a script may consume (64MB)

You can always contact your web hosting provider to make the change if you are unsure.

3.) If you don’t have access to PHP.ini try adding this to your .htaccess file:


    php_value memory_limit 64M

If none of the above works for you, the only option you have is to contact your host and they can quickly get this resolved for you. If you want some support, you can always get in touch with our team or leave a comment below.

 

Nathan da Silva - Profile

Posted by: Nathan da Silva

Nathan is the Founder of Silva Web Designs. He is passionate about web development, website design and basically anything digital related. His main expertise is with WordPress, Magento, Shopify as well as many other frameworks. Whether you need responsive design, SEO, speed optimisation or anything else in the world of digital then get in touch. If you would like to work with Nathan, simply drop him an email at [email protected]

It’s good to share