Ktai Style バージョン1.71 を使用してみた

というわけで、WordPressの携帯対応プラグインである『Ktai Style バージョン1.71』を使用してみました。リリース直後にインストールはしていたんですが、改めて新機能の動作などを確認してみました。で、気が付いた点や自分で修正てみた部分を書いていこうと思います。

ks_posts_nav_dropdown() で1ページ目にリンク

2ページ目以降にリンクする場合は、『?paged=2』が『/page/2/』へと301リダイレクトされるのだが、1ページ目のリンクは『?paged=1』のままでリダイレクトされないようですね。このリダイレクト処理は、Ktai Style ではなく、WordPress 本体が処理をしてるっぽい。

なんとなく、『?paged=1』のままになっているのが嫌だったので、自作プラグインをつくってリダイレクトするようにしてみた(自信がないのでソースは非公開)。

docomo実機の場合は、301リダイレクトさせない

docomo実機の場合、301リダイレクトをすると『サイトが移動しました』といったメッセージが表示されてしまうので、302リダイレクトに出来ないかなと思って方法を調べてみた。

『wp_redirect_status』のフィルターフックでステータスコードを変更すれば良さそうだったが、実機かどうかの判断をどうしようかなと迷った。

    if ($status == 301 && is_ktai() == 'DoCoMo') {
        global $Ktai_Style;
        if (isset($Ktai_Style->ktai) && $Ktai_Style->ktai->in_network()) {
            return 302;
        }
    }
    return $status;

こんな感じにしてみた。多分正常に動作している……はず(笑)

alt="" の画像も表示させる

ちょっと前のバージョンから仕様変更されていたようですが、『alt=""』と記述された画像は表示されないようになっているようですね。このサイトで使用していたアフィリエイト画像ソースが『alt=""』だったので、いつの間にか表示されないようになっていた。

これは、『image_to_link/ktai_style.php』のフィルターフックで優先順位を9以下に指定して、表示させたい画像URLの場合はNULLを返すようにすれば良いっぽい。

外部リンクのアイコンマーク

外部リンクの文字列の前には、矢印マークの絵文字アイコンが付加されるのだが、『$mobile_same_url』で指定されたURLの場合はアイコンが付加されないようだったので、『ks_karuta_external_link/ktai_style.php』のフィルターフックを使用して力技で修正。アイコンをリンク文字列の前に表示させるようにしてみた。

個人的には、管理画面でURL設定したもの以外は、前にアイコンマークをつけて欲しいかなと思いました。

2 Comments

  1. 毎度ご利用ありがとうございます。

    1ページ目のリンクは『?paged=1』のままでリダイレクトされないようですね。

    WordPress 2.6.5 以前では、paged=1 が抜ける URI にリダイレクトされていました。なぜか WordPress 2.7.0, 2.7.1 ではされていません。おそらく「バグ」だと思われるので、Ktai Style では尻拭いをやめて放置することにしました。

    docomo実機の場合は、301リダイレクトさせない

    ううーん。ドコモ (の一部機種) が 301 リダイレクトを表示するのは、セキュリティー上の理由なので、あまり隠さない方がいいと思います。そもそも、HTTP の意味的には、302, 307 よりは 301 の方が正しい気もしますし……。

    alt=”" の画像も表示させる

    この仕様を分かってない人から「画像が出ません」という問い合わせがかなり多いため、1.72 から少し仕様を調整しようと思っています。ただ、本当に「意味のない画像だから alt=""」としている人もいるので、設定で変更するとかの方法が有力です。

    外部リンクのアイコンマーク

    これはかなり悩むところです。現状は中継画面が出るおそれがあるときに表示する、というルールで、ウィルコム/イー・モバイル/スマートフォン全般では、常に表示されません (これらの端末は PC 向けサイトでもうまく表示できるため中継画面が出ない)。閲覧者が、あのアイコンをどういう意味で捉えているのかを想定し、仕様を検討してみます。

  2. いつも丁寧なコメントをいただきありがとうございます。

    WordPress 2.6.5 以前では、paged=1 が抜ける URI にリダイレクトされていました。

    なるほど……そうだったんですね。全然知りませんでした。なんとなく、そのままリダイレクトされないのが嫌なので、当面は自分で対応しておこうかと思います。

    現状は中継画面が出るおそれがあるときに表示する

    私の場合、初めは外部リンクの時にアイコンが付くのかなと認識していましたが、中継画面に行く可能性があるかどうかで決まっていたんですね。
    Mobile Link Discovery に対応しているリンク先だと、アイコンが付いても中継画面が無かったりしていたので、そのようなルールだったとは気が付きませんでした。

Sorry, the comment form is closed at this time.