post/page のカスタムフィールドとして、force_ssl を設定し、記事毎にその値をみてredirect ないし、URL生成を行うようだ。
そういう仕様のせいか、archive をhttpsに入れることができない。
このプラグインが用意しているフィルタを使えばある程度カスタマイズできるようだが、このフィルタではURL生成の面倒を見てくれないし、アーカイブモード時には動作しない。記事がページのときにしか、フィルタしてくれないんだよね。
フィルタしたとしても、URL生成するとhttpになり、見に行った時にredirectされて、httpsへ移るため、どうしても閲覧時に1アクション増やすことになる。
そんなのは気持ち悪いので、page でquery_posts使ってアーカイブページを作ることにした。
ちなみに、子ども記事もSSLにするというフラグがあるが、ちゃんと動いてないような気がするけど検証しないめんどくさい。全ページチェックしよう。
カスタム投稿をhttpsに入れたければフィルタ使えばとりあえずは使えるけど、管理画面にチェックボックスで選ばせてくれる操作ブロックは出してくれないし、そこはハードコーディングなので追加される見込みはない。
function my_force_ssl( $force_ssl, $post_id ) { $p = get_post($post_id); if ($p->post_type == "(custom post name)") { $force_ssl = true; } return $force_ssl; } add_filter('force_ssl', 'my_force_ssl', null, 2);