[WordPress] UTF の PHP/jQuery の問題

スポンサーリンク

質問

朝の人々 は、

ことを支援することができる可能性があります期待していた問題今朝の実質のヘッドひっかく

背景スイッチャー プラグインは、私のワードプレスのサイトの外部をあります。次の形式で提供される画像を期待:

["http://www.path/to/image.jpg", "http://www.path/to/image2.jpg"]

次の関数を使用して、外部スクリプトを自分のサイトからの文字列を渡すことだ:

<?php 
if($page_id == 5) { ?>

  <?php
  $cat            = 62; //category id
  $posts          = get_posts('showposts=-1&order=ASC&cat='. $cat);
  $list           = "'";

  if ($posts) {
    foreach($posts as $post) {
      $imgsrc           = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), "Full");
      $featuredimgpath  = $imgsrc[0];
      $list             .= '"'.$featuredimgpath.'",';
    } 
  }

  $list = substr($list, 0, -1);
  $list .= "'";
  echo "<script charset='utf-8'>var paths=encodeURIComponent($list);</script>";
  ?>

し受け取った関数は、処理を行いますこのような.

paths = decodeURIComponent(paths);

if(jQuery().bgswitcher) {
    $(".splash").bgswitcher({
      images: [paths], // Background images
      effect: "fade", // fade, blind, clip, slide, drop, hide
      interval: 4000, // Interval of switching
      loop: true, // Loop the switching
      shuffle: false, // Shuffle the order of an images
      duration: 1500, // Effect duration
      easing: "linear" // Effect easing
    });
}

結果が、404 のために関連するすべての画像は、コンソールのログおよび警告の出力は予期された形式で、文字列を表示します

気づいた唯一の事は ASCII/utf-8 文字列文字 %22 置換引用符のような出力受信側スクリプト。これはなぜ encodeURI 関数を使用が、問題が解決しない

誰もがどのように私はこの問題を回避得ることができる知っているか?または場合でも、間違った方法で問題を近づいていますか?

相変わらず、事前にありがとう !グラハム

答え

この行を変更:

echo "<script charset='utf-8'>var paths=encodeURIComponent($list);</script>";

echo "<script charset='utf-8'>var paths=$list;</script>";

の答え

それを考え出した !PHP – 除去を使用して直接ページに jQuery を印刷、エンコードの問題を完全:) クロスファイル

http://stackoverflow.com/questions/27981350/php-jquery-utf-issue

スポンサーリンク

Leave a Reply