This isn't testing whether the visitor is a fan or has liked anything, only that they have connected to your app. This puts nothing on their wall and does not increase the social value of your content.
I can only think of three ways to require someone to like/share your content for access to private content.
All of them require the user to first connect to your site so you can retrieve their Facebook user_id, otherwise you'll have no idea who you're dealing with and whether they like anything.
For Facebook Connect, so far I am preferring the WP-FBConnect plugin which I believe is semi-official and created by a Facebook dev: hxxp://wiki.developers.facebook.com/index.php/WP-FBConnect
Now to check if a visitor likes your shit:
1. Check if logged in user is a FAN of your Facebook page (not your website)
It's possible to look and see if a user is a fan of your real Facebook-hosted page. This is how the sociable.es plugin works as far as I can tell.
1. Facebook Connect --> page auto-refreshes -->
2. "You must be a fan of our Facebook page to see this content, click below to Like and then refresh" -->
3. Do a look via Facebook Query Language (FQL) with this fbuid + your Facebook fan_page_id to check if this logged in user really is a fan, if so --> show content, else show #2 again.
Advantages of this are that a) it is currently the only working approach I've seen and b) you get a bunch of fans of a real page on Facebook that you can interact with on Facebook without an additional optin or breaking TOS and trying to email people directly.
2. Check if the logged in user LIKES an external Open Graph web page
The user experience for this is better:
1. Facebook Connect --> page auto-refreshes -->
2. "You must be a fan of our website to see this content, click our Like button right here and then refresh to see your content" (its possibly you could come up with some fancy jquery here that would detect a click in the Like iframe and auto-refresh for them which would be even cooler) --> user clicks like and refreshes page -->
3. Use Facebook Query Language to check if this user likes this page, if so show the content, otherwise show 2
The huge problem with this approach is hurrr it's not currently supported durr. But according to the Facebook devs it is coming, hopefully soon.
The advantage of going this route is that, well I have a feeling that social likes are going to be the backlinks of the near future. But at this point I'm not seeing a whole lot of obvious value to getting tons of likes to an external web page. Does Facebook show a thumbnail for high social value sites like this in any kind of suggested area?
3. Check if the logged in user has shared your Open Graph web page on their wall recently
I have yet to test this approach, I just thought of it last night actually.
1. Facebook Connect --> page auto-refreshes -->
2. "Please share this page with your friends to get access to special content, then hit refresh" --> embed a shared button (or at the very least the XFBML version of the Like button which allows them to make a comment, otherwise I don't think just a "Like" of an external web page will be visible in their stream, it's the same problem in 2nd approach above) -->
3. Using Facebook Query Language you can lookup recent posts on a person's wall. So theoretically you could grab these and look for your link. If you see your link then show them the content. (You're also going to have to add meta data to this Wordpress user that they have been approved to see private content because eventually your link will drop out of their recent posts. Maybe check for 7 days then approve them permantly to prevent gaming).
All in all it seems like method #1 is the best for the time being, until Facebook starts 1) promoting Open Graph pages with many likes and 2) actually support FQL lookups for whether users have liked Open Graph web pages.
Sean