私はWordpressにはかなり新しいので、私が間違っているのか分かりません。私のWordpressサイトでは、ユーザーはカスタムの投稿タイプ(製品)を作成することができます。私は、少なくとも1つの製品を作成していない場合、別のページにユーザーをリダイレクトすることによって、example.com/post-a-listingのようなページへのアクセスを禁止しようとしています。ここでなぜこのリダイレクトが機能しないのですか?
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;
}
いつか同じような問題が戻ってきました。スクリプトの先頭にob_start()を追加しました。これは魅力的でした! – manian
ありがとうございますが、正確にどこに配置する必要がありますか?私が提供したこのコードはfunctions.phpにあります –
ここで1回目と2回目の回答を試してくださいhttp://stackoverflow.com/questions/19587154/wp-redirect-is-not-working – manian