Additional menu

Get MemberPress today! Start getting paid for the content you create! Get MemberPress Now

Show LOCK icon by protected posts titles

Note: This is an advanced article for users or developers familiar with PHP, WordPress hooks, and FontAwesome.

If you'd like to show a LOCK icon next to the titles of your protected posts in the blog, search results, or archive views, you can do so by following the instructions below.

First you'll want to install a free WPCode plugin (please check this article for details: How to add custom code snippets in WPCode).

Once installed create a new Snippet and paste the following into it:

function mepr_show_lock_icon($title, $post_id) {
  $post = get_post($post_id);

  if(!class_exists('MeprRule')) { return $title; }

  if(is_admin() || defined('REST_REQUEST')) { return $title; }

  if(!isset($post->ID) || !$post->ID) { return $title; }

  if(strpos($title, 'fa-lock') !== false) { return $title; } //Already been here?

  if(MeprRule::is_locked($post)) { 
    $title = '<i class="fa fa-lock" aria-hidden="true"></i>' . " {$title}";
  }
  return $title;
}
add_filter('the_title', 'mepr_show_lock_icon', 1000, 2);

function enqueue_mepr_font_awesome() 
  wp_enqueue_style('mepr-font-awesome', 'https://memberpress-font-awesome.s3.amazonaws.com/css/font-awesome.min.css');
}
add_action('wp_enqueue_scripts','enqueue_mepr_font_awesome');

Before clicking save, be sure to select “Front End” for the code snippet as shown below

Then “Save Changes and Activate” the snippet.

That's it! You're protected posts should now show a lock icon before their title on your blog.

TROUBLESHOOTING:

If it's not working, you may need to check your browser's developer tools to see if any errors appear in the console.

It's possible that your theme or another plugin on the site is already using font-awesome causing a conflict. If that's the case, you can delete lines #20-23 and see if it works any better.

Was this article helpful?

Related Articles

computer girl

Get MemberPress today!

Start getting paid for the content you create.