質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1473閲覧

WordPress 下書き記事をリダイレクトの対象から除外したい

eril

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/11/13 05:28

前提・実現したいこと

######●前提
WordPressにて会員制実装プラグイン「Simple WP Membership」を使い、functions.phpにて下記のコードを記述してトップページ及び指定のページ以外にアクセスするとログインページにリダイレクトされるように致しました。

参考にした記事
https://wp-labo.com/simple-membership-no-login-user-redirect/

php

1<?php 2/* Simple Membership で会員以外は自動的にログインページに */ 3add_filter( 'pre_get_posts', 'swpm_auto_redirect_non_members' ); 4function swpm_auto_redirect_non_members() { 5 if (current_user_can('administrator')){ 6 //管理者の場合は何もしない 7 return; 8 } 9 //来訪者がサイトに訪れたら指定のURLにリダイレクト(強制転送)する 10 if( !SwpmMemberUtils::is_member_logged_in() && !is_page( array( 'membership-login', 'membership-join', 'membership-registration', 'password-reset' )) && !is_front_page() ) { 11 wp_redirect( 'http://example.com/membership-login' ); 12 exit; 13 } 14}

######●実現したいこと
下書き状態の記事を、プレビュー用のURLを発行して外部の人に見せれられるようにするプラグイン「Public Post Preview」を使いたいのですが、発行したURLにアクセスすると上記のコードによりログイン画面にリダイレクトされます。
下書き記事はリダイレクトされないようにするにはどのようにしたら良いのかご教授願えたらと存じます。

試したこと

下記コードを挿入して何とかならないかと考えたのですが、上手くいかずリダイレクトされます。

php

1 2 if (get_post_status() == 'draft') { 3 return; 4 } 5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

プレビュー時の条件判断としては、条件分岐タグis_previewがあります。

「Public Post Preview」プラグインは使っていないのですが、一般的なプレビューであれば、is_preview は、

表示中の投稿、固定ページ、投稿タイプがプレビューかどうかを判定します。

なので、これを使えば対応できないでしょうか。

投稿2021/11/15 03:04

CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eril

2021/11/15 08:08

上手くリダイレクトを回避出来ました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問