#概要
MT7でカスタムフィールドの値によってリダイレクトを行ったときのメモです。
記事によってその記事を見せずに、別ページやトップに飛ばしたい。といった感じです。
PHPが使えないため、jsで処理を入れました。
#実装
ページを読み込んだ最初に処理したいので、head内にスクリプトを書きました。
チェックボックスのカスタムフィールドで、チェックが入っていればリダイレクトします。
テンプレートタグ:CFIsRedirect
ベースネーム:cf_is_redirect
index.html
<head>
:
:
<script type='text/javascript'>
var status = <MT:CFIsRedirect encode_js="1">;
if (status == 1) {
location.href = 'https://example.com';
}
</script>
</head>
MTタグの内容をjsで使う場合は、モディファイアencode_js="1"
を指定します。
このモディファイアを指定することでjsの文字列の値として使えるようにエンコードしてくれます。
チェックが入っていれば値は1
なので、その場合location.herf
で指定のURLに飛ばしています。
#まとめ
今回の手法は、アナリティクスなどを正確に計測するため、パラメーターやリファラを正しく引き継ぐようなリダイレクトではないので、実際はもう少し処理が必要なようです。
#参考