teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記修正

2020/02/03 01:20

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -7,4 +7,31 @@
7
7
  1. 「お問い合わせ」固定ページを作成して「Simple WP Membership プロテクション」で「お問い合わせ」ページにアクセス制限をかける。
8
8
  2. 「ログイン」固定ページで、「お問い合わせ」ページへのリンクを記載する。
9
9
 
10
- で、対応できないでしょうか。
10
+ で、対応できないでしょうか。
11
+
12
+ ----
13
+ (追記)
14
+
15
+ コメント風フォームを簡単に実現する案は思いつかないのですが...
16
+
17
+ 質問にある
18
+
19
+ > →[ifログイン] [フォーム] [/ifログイン] 
20
+ > のように固定ページに記述することによって実現できると考えました。
21
+ > この場合、[ifログイン]のショートコードを生成できれば、解決されます。
22
+
23
+ の「ログインユーザーにショートコードに挟まれたメッセージ(生HTML含む)を表示する」だけであれば、
24
+
25
+ 例では、「my_loginuser_only」ショートコードを作る
26
+ ```
27
+ function login_only_content_346773( $atts, $content = null ) {
28
+ if ( is_user_logged_in() ) {
29
+ return '<div class="loginuser">' . $content . '</div>';
30
+ } else {
31
+ return '<div class="nologin">ログインしてください</div>';
32
+ }
33
+ }
34
+ add_shortcode( 'my_loginuser_only', 'login_only_content_346773' );
35
+ ```
36
+
37
+ のような感じのコードを追加して、`[my_loginuser_only]My Caption[/my_loginuser_only]` のようなショートコードで、ログインユーザーだけに表示することは可能と思いますが、フォーム等の場合 POST 先での処理も必要になるのでいろいろ工夫する必要があると思います。