編集部が選ぶ「みんなに見てほしい」イチオシまとめはこちら

特定のタームにパスワードをかける(ログイン必須にする)方法のブログについてのご指摘

WordPressの特定のタームにパスワードを掛ける方法をブログにポストしました。 コードを見て、WordPressに詳しい方々から貴重なご意見・ご指摘をいただきましたのでまとめます。
プログラミング サイト制作 wordpress PHP
2078view 0コメント
1
akari🍠 @kokona_san
【ブログ書きました】めっちゃグダグダ長くなったけど…(;´Д`) /[WordPress]特定のタームにパスワードをかける(ログイン必須にする)方法: a-webcafe.net/private-term/
gatespace(五十嵐和恵) @gatespace_k
@kokona_san いっぱいつっこどころがあるけど、こんどにしとくわー
akari🍠 @kokona_san
@gatespace_k あーやっぱり(;´д`)よろしくお願いします(;´д`)
gatespace(五十嵐和恵) @gatespace_k
@kokona_san とりあえず、ログインのところはこの関数のほうがいいかも。 codex.wordpress.org/Function_Refer… あと、フィードも対応しないとあかんよ
akari🍠 @kokona_san
@gatespace_k フィードは五十嵐さんのブログ見てもしかして…とは思ってたんです。 でも自分ではやり方がよくわからなくて。
akari🍠 @kokona_san
@gatespace_k 調べてるときにこのテンプレートタグ出てきました! 私には組み合わせ方がよくわからない…( ;´Д`)
horike takahiro @horike37
@kokona_san if文中に||と&&を混在させると判定が&&優先になるから、意図通りの処理になってない気がするな。この書き方だと条件によってはユーザがログインしてなくてもprivateタームの投稿見えてまうでー
akari🍠 @kokona_san
@horike37 カッコでくくっててもダメな感じですかねー?
horike takahiro @horike37
@kokona_san あ、かっこでくくってた。ほな大丈夫や!
gatespace(五十嵐和恵) @gatespace_k
@kokona_san @horike37 つなげすぎるとわからなくなるから(メンテナンスしづらくなる)、私だったら、ログイン判定のif分は別にする
akari🍠 @kokona_san
@gatespace_k @horike37 書けないから想像がつかないです…(´;ω;`)
gatespace(五十嵐和恵) @gatespace_k
@kokona_san @horike37 例えば カスタム投稿タイプのシングルかどうか、のifかいて、さらにその中でログインの判定。 ifの中にifを書く、入れ子ってのです
horike takahiro @horike37
@gatespace_k @kokona_san if文はそうやね。。できるだけ分けて書いたほうが他人が見てもメンテしやすいしね。
horike takahiro @horike37
@gatespace_k @kokona_san esc_attr関数はHTML出力時にサニタイズする関数やからこのケースで使うメリットはあんまない。header関数使うより、wp_redirect関数使った方がいい、なぜなら同じ処理でもWPのAPI経由したほうがフック通るから
akari🍠 @kokona_san
@horike37 @gatespace_k エスケープはちょっと思ってました。 わからなくて調べたんですけど、つけないとだめなときと大丈夫なときと、私にでもわかるように説明されてるブログとかがなくてですね…(´;ω;`)
horike takahiro @horike37
@kokona_san @gatespace_k esc_系の関数の基本はHTMLとかAPIでjsonで出力するとか、サーバ外部に「値」を出力する直前の処理に仕込むのがポイントですなー
akari🍠 @kokona_san
@horike37 @gatespace_k その説明でも理解できないクズでごめんなさい( ;´Д`)
horike takahiro @horike37
@kokona_san @gatespace_k まあ、esc_系関数使ってて何か不都合があるわけではないから。そのうち使いドコロ感じれるようになるよー
horike takahiro @horike37
@gatespace_k @kokona_san あと$_SERVERの必要性がちょっと微妙かな。スーパーグローバル変数は値の検証をコード中で正しくする必要があるのと、値によってはユーザの環境に依存するケースがあるから、必要なければ避けたほうがいい感じ!
akari🍠 @kokona_san
@horike37 @gatespace_k そうなんや…! wp_redirect使った書き方を考えてみます。ぐぐってなんとかなるかはわからんけども!
akari🍠 @kokona_san
auth_redirect()とはなにが違うんやろ…
horike takahiro @horike37
@kokona_san auth_redirect関数でいいと思うでー。
akari🍠 @kokona_san
@horike37 それでもいいんやー!!ありがとうございます!
まがぞん @jim0912
@kokona_san リダイレクトするタイミング、get_headerだと出力始まってしまっていて、リダイレクトできない可能性もあるので、template_redirect の方が適切ですねー。
残りを読む(28)
ログインして広告を非表示にする
ログインして広告を非表示にする