• |

    Why the WordPress.com / Spotify Deal is Bad for Podcasting

    Imagine going to one of Gordon Ramsay’s restaurant. He makes you his signature dish – Beef Wellington. After eating what is sure to be the best Beef Wellington you’ve ever had, you go to the kitchen to give your compliments to the chef. You notice he has some cooked steak left over. You say, “You’ve already done the hard part. Why don’t you just serve it for lunch tomorrow?”

    He’s going to explain to you that the left overs won’t be nearly as good tomorrow as it is tonight. That the steak was made for his Beef Wellington and he’d need to exert effort to create a dish fitting for lunch, for the left over steak.

    While I’m no Michelin chef, I do create a lot of content. And you can’t just throw the left overs out there and expect the same quality content. So why are WordPress.com and Spotify telling us to do that?

    Read More “Why the WordPress.com / Spotify Deal is Bad for Podcasting”
  • |

    Why Not Wanting to Pay for Software is Holding Your Business Back

    Earlier this month, Elementor announced that they are increasing their prices. Most notably, 1000 sites (called the Agency Plan) is moving from $199/year to $999/year. This is only for new customers but, as is common when software pricing changes, people are outraged. Not only is this sort of outrage getting old, but I would argue that if you’re not willing to pay what software is worth, you will never grow as a business. And not for the reason you think.

    Read More “Why Not Wanting to Pay for Software is Holding Your Business Back”
  • |

    If You’re Afraid of Automattic Making $5K Websites, You Need to Change Your Approach

    Recently, WordPress.com/Automattic “entered” the sub-$5,000 website market by announcing a new program, as reported by WordPress Tavern. Naturally, the reaction was mixed, but there seems to be a lot of anger that Automattic would do such a thing, which could potentially kill competition because it’s so big. Here’s the thing: If you think you’re competing with Automattic for sub-$5,000 websites, you need to change your approach.

  • | | |

    How I Built the “WordPress: Year in Review” Website

    Earlier this month I launched WordPress: Year in Review, a content project where I’m wrapping up everything that happened with WordPress and in the community this year through an eBook, podcast, and video series. It’s an immense undertaking, so I decided to seek community support through sponsors and crowdfunding. We’re 3 weeks into September and I’m nearly 2/3 of the way to my crowdfunding goal which is exciting! I thought I’d take some time here and explain how I built the site.

    Read More “How I Built the “WordPress: Year in Review” Website”
  • | |

    How I Built It is Officially Hosted by Castos!

    Castos is a fantastic WordPress-centric podcast hosting platform that I’ve been recommending in my courses and coaching calls. But I have a confession to make: since Castos launched after I launched my podcast, I’ve been using Libsyn.

    For a long time, I’ve considered making the switch, but the migration process always seemed so daunting. On top of that, I’d need to make updates to my website and it never felt like the right time. Well that changes today!

    Read More “How I Built It is Officially Hosted by Castos!”
  • |

    What I’m Using to Drive Memberships on Creator Courses

    Recently LearnDash announced some very exciting news in that they’ve converted/expanded Groups to allow for Memberships (and subscriptions). There’s a strong possibility I will migrate from my currently setup to this, as long as my testing shows it does what I need it to do (spoiler alert: nothing too crazy) and a migration path is clear.

    But I also thought this would be a good time to revisit my current stack, seeing as memberships are a year old.

    Read More “What I’m Using to Drive Memberships on Creator Courses”
  • |

    How to Improve Performance on Your WordPress Site

    Did you know that 80% of website visitors will abandon your website if it takes more than 5 seconds to load? That’s a lot of lost revenue and opportunities. WordPress gets a bad wrap for for being slow, but it’s not usually WordPress’ fault! If you use the right tools, you can have a nice, fast site that keeps users happy and engaged. So what are the right tools?

    Read More “How to Improve Performance on Your WordPress Site”
  • |

    Setting All Videos To Show Controls In LearnDash

    One of the biggest pieces of feedback I’ve gotten on my course videos in recent weeks was that the controls on my videos were hidden. To be honest, I didn’t realize students couldn’t scrub through videos, or rewind – I assumed everything was working! After looking through the LearnDash settings and not finding a global option, I decided to the problem with just a little bit of code.

    TL;DR: The Code

    So I’ll cut to the quick and give you code first. Read on to learn about it! This is the setting you want: 

    learndash_update_setting( get_the_ID(), 'lesson_video_show_controls', true ); 

    The full code is in this public gist.

    Updating the LearnDash Setting

    A few months ago I dug through the LearnDash code for a similar plugin I wrote to convert ACF videos to native LearnDash videos. I figured there was a similar setting for video controls, and I was right. If you use the Chrome inspector, you can see the name of the control in the source.

    So I grabbed the name of that form field and fed it into the function I discovered earlier:learndash_update_setting(), which accepts a post ID, the setting name, and the value.

    Confirming it worked for a single setting, it’s time to write the loop that would update all settings.

    The Loop

    I won’t dig into the full mechanics of the loop, but I do want to point out the custom post types I needed to update: 

    $lessons = new WP_Query(
        array(
            'post_type' => array( 'sfwd-lessons', 'sfwd-topic' ),
            'posts_per_page' => -1,
        )
    );

    I’m grabbing all posts that are lessons and topics within LearnDash. Then I loop through them all, updating the video controls settings.

    This is slightly inelegant because I should really check to see if there is a video on the post before turning on controls, but it worked!

    Hooking it in.

    Now that we have a working function that will update all posts, we need to figure out where to hook it into WordPress. Honestly, there’s only one smart option for this, and it’s on plugin activation: 

    register_activation_hook( __FILE__, 'jc_swap_videos' ); 

    This will ensure the code only runs once, when the plugin is enabled.

    If you are adding it to your functions.php file or something like that, you should do it at a point where it won’t disrupt end users, so I would choose an admin hook, like admin_init.

    I would also make sure it executes once, then comment out the action so it doesn’t run every time you load the admin.

    Future Proofing

    Now, this only counts for existing posts and not future lessons and topics you might add. I’d recommend toggling the option as you add the rest, but if you really want to make sure you don’t forget, you could repurpose the code to set the option on post save. Something like this will work:

    function jc_set_video_controls_on( $post_id ) {
          learndash_update_setting( $post_id, 'lesson_video_show_controls', true );
    }
    add_action( 'save_post', 'jc_set_video_controls_on' );

    What Do You Think?

    When you take online courses, do you prefer video controls on? I sure do! As a course creator, what reasons do you have for turning them off? Let me know in the comments!