I'm fairly new to Wordpress so not sure what I'm doing wrong. On my Wordpress site, users are able to create custom post types (products). I'm looking to disallow access to a page like this: example.com/post-a-listing by redirecting users to another page if they didn't create at least one product. Here's what I've tried but this isn't working..
function yoursite_user_has_posts($user_id) {
$result = new WP_Query(array(
'author'=>$user_id,
'post_type'=>'product',
'post_status'=>'publish',
'posts_per_page'=>1,
));
return (count($result->posts)!=0);
}
add_action( 'template_redirect', 'redirect_to_specific_page' );
function redirect_to_specific_page() {
if ( is_page('post-a-listing') && ! yoursite_user_has_posts($user_id) ) {
wp_redirect( 'https://example.com/', 301 );
exit;
}