サポート » プラグイン » Contact Form 7でselectのみHTMLが書き出されない

  • Contact Form 7のタグに関するご質問です。

    WordPress3.0.4上に、ver.2.4.3をインストールしました。
    『select』を使用しようとしておりますが、
    なぜか、『select』『checkbox』等の選択肢関連の機能のみHTML内に書き出されずに困っております。
    いくつかのサイトで使用させていただいておりますが、今回の事例と他サイトとの違いは、単純にWIndowsサーバがベースであること、PHPやMySQLのバージョンが微妙に違うことかと思います。
    試しに
    1)2.4.2(他のLinuxサーバで全く同じプラグイン構成、コンテンツで動作してる物)を入れなおしてみましたが、これでも駄目でした。
    2)他のプラグインをオフにしてみましたが、ダメでした。

    PHPは、Version 5.2.9-2で、『ISAPI extension として実行中』です。
    MySQL は5.0.83です。

    具体的には、

    <p>都道府県(必須)
    [select menu-535 include_blank "北海道" "青森県" "岩手県" "秋田県" "宮城県" "山形県" "福島県" "群馬県" "栃木県" "茨城県" "埼玉県" "東京都" "千葉県" "神奈川県" "新潟県" "石川県" "富山県" "長野県" "福井県" "岐阜県" "山梨県" "愛知県" "静岡県" "京都府" "滋賀県" "兵庫県" "大阪府" "奈良県" "三重県" "和歌山県" "鳥取県" "島根県" "岡山県" "広島県" "山口県" "香川県" "愛媛県" "徳島県" "高知県" "福岡県" "佐賀県" "長崎県" "大分県" "熊本県" "宮崎県" "鹿児島県" "沖縄県"]</p>

    と記述しても、

    <p>都道府県(必須)<br />
    </p>

    と書き出されてしまいます。

    なにか原因や解決策などなど考えられますでしょうか。

    お手数ですが、なにかヒントだけでも教えて頂けると嬉しく思います。
    よろしくお願いいたします。

10件の返信を表示中 - 31 - 40件目 (全40件中)
  • Takayuki Miyoshiさん、やってみました。

    『栃木県東京都島根県』と3つ並んで抜けることなく表示されます。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    ではこれはどうですか?

    <?php
    echo _wp_specialchars( '栃木県', ENT_QUOTES );
    echo _wp_specialchars( '東京都', ENT_QUOTES );
    echo _wp_specialchars( '島根県', ENT_QUOTES );
    ?>

    >>Takayuki Miyoshiさん、
    > ではこれはどうですか?

    『栃木県東京都島根県』と3つ並んで抜けることなく表示されます。

    これもまた、『栃木県東京都島根県』と3つ並んで
    抜けることなく表示されています。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    それはおかしいですね。esc_attr() や esc_html() では消えるって話でしたよね?

    Miyoshiさん、スミマセン。
    もしかして、なにかミスをしていたか、間違っていたのかも。

    テンプレートのindex.phpで、先ほどのと並べていれたところ、
    出てきました。

    リンク

    送信の下です。

    こんにちは、

    ほじくり返すようでアレなんですけど

    が、表示は出来ているのですが、
    今度はユーザーからの送信時に『栃木県』『島根県』を選択すると、
    入力してないことになって、入力漏れアラートが出て、
    送信できませんでした。

    esc_html()については、表示ができている
    esc_attr()については、消えた
     ですよね

    私の環境では、
    esc_html(),esc_attr()は、化けても化けなくても同じ挙動を示したんですが、

    esc_attr()考え方としては
    esc_html()については、数値参照ならとか、いろいろ障害はあるけれど、完全に道がないわけではないだろう

    esc_attr()については、消えるもんはしょうがない。

    属性にマルチバイト文字列が使われるのは、どこか? titleとvalueアトリビュートだろう、タイトルは、アクセシビリティ。valueは基本機能にかかわる。
    多分探せば、タイトルの抜けなどもあるだろうと思っていたんですが、
    フォームのvalue使えなかったら、どうしようもないので、
    等と思いながら、お返事させていただいてました

    (根本的なことを考えるべきでしょうというご指摘は、まったくそのとおりだと思います。)

    で、esc_html()数値参照なら見えて、普通に書いたら、消えているですか?
    esc_attr()数値参照でも消えて、普通に書いたら、消えているですか?

    モデレーター Takayuki Miyoshi

    (@takayukister)

    参考情報として書いておきます。esc_html() と esc_attr() は、適用するフィルタ以外はまったく同じ処理をしています。

    http://core.trac.wordpress.org/browser/tags/3.0.4/wp-includes/formatting.php#L2302

    他のプラグインが無効になっていてデフォルトテーマを使っているのならフィルタは関係ないはずなので、ふたつの関数は同等とみなせます。結果は同じものが得られないと変ですね。

    Miyoshiさん、shokun0803さん、kvexさん、nobitaさん、yumebunsekiさん、ありがとうございました。

    結局解決できないままなのですが…本当にお世話になりました。

    ひとまず、全く解決してはいないのですが、
    皆さまのおかげで、いろいろな意味でかなり学びました。
    また、ホスティング会社ともかなり相談しまして、
    あちらの方でも、それなりには認識しているようで、
    すべて無償で解約〜Linux系に乗り換えという方向になりました。

    大手企業のホスティングなのですが、
    WIndowsベースで自動インストールのWordPressは古目のバージョンのみのところです。
    いちおう、問題ないというコメントをいただいた上で採用したはずなんですが…

    ひとまずの結論としては、今後Windows系サーバの場合は、
    かなり注意してかかる…ということですね。
    併せて引き続き、
    今後のためにも、もう少し勉強して、
    解決策などわかれば公開するようにします。

    ひとまず、御礼まで。

    古い話のほじり返し + 脇から失礼します。

    同様な現象が isle infinito PLUSでも発生して困っていました。

    OS WINNT
    Server Microsoft-IIS/6.0
    PHP v5.2.9-2
    MYSQL v5.0.83-community
    Wordpress 3.1.3(日本語)

    [select menu-xxx include_blank "...”]
    この行が、CF7 2.3.1まではきちんと表示されますが、
    それ以降のバージョンで 表示されなくなってしまいます。

    今日、このトピックを見つけ、いろいろ試したところ、
    いくつかの選択項目のうち、”情報”という文字を消すと
    ドロップダウンが表示されるようになることがわかりました。
    ※”\情\報”ではダメでした。

    今まで2.3.1を使っておりましたが、これを踏まえて、
    最新バージョンに切り替えようと考えております。

    2バイト文字の処理で何か取りこぼしがあるのでは?と思ったりしました。

10件の返信を表示中 - 31 - 40件目 (全40件中)
  • トピック「Contact Form 7でselectのみHTMLが書き出されない」には新たに返信することはできません。