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

WordPressの特定のタームにパスワードを掛ける方法をブログにポストしました。 コードを見て、WordPressに詳しい方々から貴重なご意見・ご指摘をいただきましたのでまとめます。
1
アカリ☯️webデザイナー・講師|上級ウェブ解析士 @kokona_san

【ブログ書きました】めっちゃグダグダ長くなったけど…(;´Д`) /[WordPress]特定のタームにパスワードをかける(ログイン必須にする)方法: a-webcafe.net/private-term/

2014-08-09 00:08:32
gatespace(五十嵐和恵) @gatespace_k

@kokona_san いっぱいつっこどころがあるけど、こんどにしとくわー

2014-08-09 00:18:23
gatespace(五十嵐和恵) @gatespace_k

@kokona_san とりあえず、ログインのところはこの関数のほうがいいかも。 codex.wordpress.org/Function_Refer… あと、フィードも対応しないとあかんよ

2014-08-09 00:28:49
アカリ☯️webデザイナー・講師|上級ウェブ解析士 @kokona_san

@gatespace_k フィードは五十嵐さんのブログ見てもしかして…とは思ってたんです。 でも自分ではやり方がよくわからなくて。

2014-08-09 00:30:09
アカリ☯️webデザイナー・講師|上級ウェブ解析士 @kokona_san

@gatespace_k 調べてるときにこのテンプレートタグ出てきました! 私には組み合わせ方がよくわからない…( ;´Д`)

2014-08-09 00:31:27
horike takahiro@Serverless Operations @horike37

@kokona_san if文中に||と&&を混在させると判定が&&優先になるから、意図通りの処理になってない気がするな。この書き方だと条件によってはユーザがログインしてなくてもprivateタームの投稿見えてまうでー

2014-08-09 00:42:31
horike takahiro@Serverless Operations @horike37

@kokona_san あ、かっこでくくってた。ほな大丈夫や!

2014-08-09 00:44:05
gatespace(五十嵐和恵) @gatespace_k

@kokona_san @horike37 つなげすぎるとわからなくなるから(メンテナンスしづらくなる)、私だったら、ログイン判定のif分は別にする

2014-08-09 00:44:58
gatespace(五十嵐和恵) @gatespace_k

@kokona_san @horike37 例えば カスタム投稿タイプのシングルかどうか、のifかいて、さらにその中でログインの判定。 ifの中にifを書く、入れ子ってのです

2014-08-09 00:49:09
horike takahiro@Serverless Operations @horike37

@gatespace_k @kokona_san if文はそうやね。。できるだけ分けて書いたほうが他人が見てもメンテしやすいしね。

2014-08-09 00:56:56
horike takahiro@Serverless Operations @horike37

@gatespace_k @kokona_san esc_attr関数はHTML出力時にサニタイズする関数やからこのケースで使うメリットはあんまない。header関数使うより、wp_redirect関数使った方がいい、なぜなら同じ処理でもWPのAPI経由したほうがフック通るから

2014-08-09 00:47:57
アカリ☯️webデザイナー・講師|上級ウェブ解析士 @kokona_san

@horike37 @gatespace_k エスケープはちょっと思ってました。 わからなくて調べたんですけど、つけないとだめなときと大丈夫なときと、私にでもわかるように説明されてるブログとかがなくてですね…(´;ω;`)

2014-08-09 00:50:31
horike takahiro@Serverless Operations @horike37

@kokona_san @gatespace_k esc_系の関数の基本はHTMLとかAPIでjsonで出力するとか、サーバ外部に「値」を出力する直前の処理に仕込むのがポイントですなー

2014-08-09 00:53:47
horike takahiro@Serverless Operations @horike37

@kokona_san @gatespace_k まあ、esc_系関数使ってて何か不都合があるわけではないから。そのうち使いドコロ感じれるようになるよー

2014-08-09 00:59:46
horike takahiro@Serverless Operations @horike37

@gatespace_k @kokona_san あと$_SERVERの必要性がちょっと微妙かな。スーパーグローバル変数は値の検証をコード中で正しくする必要があるのと、値によってはユーザの環境に依存するケースがあるから、必要なければ避けたほうがいい感じ!

2014-08-09 00:50:16
アカリ☯️webデザイナー・講師|上級ウェブ解析士 @kokona_san

@horike37 @gatespace_k そうなんや…! wp_redirect使った書き方を考えてみます。ぐぐってなんとかなるかはわからんけども!

2014-08-09 00:52:25
まがぞん @jim0912

@kokona_san リダイレクトするタイミング、get_headerだと出力始まってしまっていて、リダイレクトできない可能性もあるので、template_redirect の方が適切ですねー。

2014-08-09 01:44:31