wordpress3.5について教えてください。

以下を参考にCustom Field Templateで投稿ページに作成したのですが、PCでは問題ないのですが、スマホでは作成部分が表示されません。ちなみにスマホ用プラグインはwp-touchProを利用しております。
http://make.mapmap.biz/plugins/37/
原因、対処法等わかれば助かります<(_ _)>

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/18 11:51:22
  • 終了:2013/01/20 01:00:35
id:kaji0245

wp-touchは記事部分しか拾ってくれませんでしたので、
設定→カスタムフィールドテンプレート→「[cft]and[cftsearch]Shortcode Format」内のformat#1に以下のコードを(PHP使用にチェック済)記述しました。
しかしながら表示されません。
(table id=******)
(tr)(td colspan="2")(?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Outward',true)); ?) (?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Photo1',true)); ?) (?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Photo2',true)); ?)(/td)(/tr)
(tr)(td width="20%" class="name")概要(/td)(td)(?php echo post_custom("Impression")?)(/td)(/tr)
(tr)(td width="20%" valign="top" class="name")地図(/td)(td)
(div id="map" style="width: 540px; height: 300px;")(/div)
(script type="text/javascript")
google.maps.event.addDomListener(window, 'load', function() {
var mapdiv = document.getElementById( 'map' );
var myOptions = {
zoom: 17,
center: new google.maps.LatLng( (?php echo post_custom("Map_lat")?),(?php echo post_custom("Map_lng")?) ),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true
};
var map = new google.maps.Map( mapdiv, myOptions );
var marker = [];
var infowindow = [];
marker[0] = new google.maps.Marker({icon: 'http://maps.google.co.jp/mapfiles/ms/icons/blue-pushpin.png’,position: new google.maps.LatLng*1,
map: map,
title: '(?php the_title(); ?)'
});
var markerCluster = new MarkerClusterer( map, marker );
});
(/script)
(/td)(/tr)
(tr)(td width="20%" class="name")住所(/td)(td)〒(?php echo post_custom("Zip")?)(br /)(?php echo post_custom("Address")?)(/td)(/tr)
(tr)(td width="20%" class="name")営業時間(/td)(td)(?php echo post_custom("Time")?)(/td)(/tr)
(?php if( post_custom("Space") ) : ?)
(tr)(td width="20%" class="name")席数(/td)(td)(?php echo post_custom("space")?)(/td)(/tr)
(?php endif; ?)
(tr)(td width="20%" class="name")定休日(/td)(td)(?php echo post_custom("Holiday")?)(/td)(/tr)
(tr)(td width="20%" class="name")電話/FAX(/td)(td)(?php echo post_custom("Tel")?)(/td)(/tr)
(tr)(td width="20%" class="name")E-MAIL(/td)(td)(?php echo post_custom("Mail")?)(/td)(/tr)
(tr)(td width="20%" class="name")URL(/td)(td)(?php echo post_custom("Url")?)(/td)(/tr)
(tr)(td width="20%" class="name")取扱ブランド(/td)(td)(?php echo post_custom("Brand")?)(/td)(/tr)
(?php if( post_custom("Menuphoto1") || post_custom("Menuphoto2") || post_custom("Menuphoto3") ) : ?)
(tr)(td width="20%" class="name")メニューフォト(/td)(td)(?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Menuphoto1',true)); ?) (?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Menuphoto2',true)); ?) (?php echo wp_get_attachment_image(get_post_meta($post-)ID,'Menuphoto3',true)); ?)(/td)(/tr)
(?php endif; ?)
(/table)

*1:?php echo post_custom("Map_lat")?),(?php echo post_custom("Map_lng")?

回答(1件)

id:pretaroe No.1

pretaroe回答回数531ベストアンサー獲得回数752013/01/19 12:24:41

ポイント100pt

たぶん、プラグインが必要としているJavascriptとかがテンプレートに組み込まれていないのだと思います。

■調べ方
・Custom Field Templateプラグインを停止して
 PCサイトのHomeページを表示して、HTMLを保存する
・Custom Field Templateプラグインを有効にして
 PCサイトのHomeページを表示して、HTMLを保存する

この両者のHTMLソースを比較してください。
上の方に、Javascriptの組み込みなど、違う部分があると思います


暫定の修正方法
スマホ用のテンプレートに、上記の差分を反映する


補足

プラグインは通常はWPの機能でヘッダーに必要なJavascriptを組み込むコードなどを自動で反映してますが、

wp-touch経由の場合は、たぶんそのあたりが動作しないんだと思います。
wp-touchというよりかは、wp-touchで使用しているテンプレートの問題だとは思います。


WP3.4あたりから、ヘッダー部分の関係が少し変更になり、
これに対応していないプラグインは、質問みたいなことが起こります。

他1件のコメントを見る
id:pretaroe

/wp-content/plugins/wptouch/themes

wptouchの場合は、上記あたりにテンプレートがあるはずです。
また、skelton-template-childとなってるようなので、
それは子テーマではないでしょうか?

親のテンプレートから派生しているので、変更部分以外は記述がないというものです。

2013/01/19 19:08:32
id:kaji0245

ありがとうございます。
親テンプレートがありました<(_ _)>

2013/01/19 19:45:00
  • id:rouge_2008
    スマートフォン用のテーマも変更したのに表示されないという状態ですか?
  • id:kaji0245
    wp-touchですが、自動表示されるのは記事欄のみのようです。
  • id:rouge_2008
    > 自動表示されるのは記事欄のみ~

    スマートフォン用のテンプレートファイルには追記していないという事ですか?
    今回のように追加コンテンツの表示含め、デザイン等をカスタマイズする場合、PC用・スマートフォン用、それぞれのテンプレートを編集する必要があります。
    ※Proではない無料のWPtouchでも表示されましたので、Pro版でもテンプレートに追記すればおそらく表示されると思います。


    > 設定→カスタムフィールドテンプレート→「[cft]and[cftsearch]Shortcode Format」内のformat#1に以下のコードを(PHP使用にチェック済)記述しました。
    > しかしながら表示されません。

    スマートフォン用のテンプレートファイルを変更すれば表示されると思いますが、本文欄にショートコード「[cft format=1]」を入力したでしょうか?(※テンプレートにショートコード実行のコードを記述する方法でも大丈夫です。)
    また、該当する「TEMPLATE #n(※「n」はテンプレートのNoで数字)」の「テンプレートフォーマット」で「FOMAT #1」を選択してありますか?

    http://wordpress.org/extend/plugins/custom-field-template/faq/
  • id:kaji0245
    上記コードをテンプレートにそってhtmlのみで記述後に記事欄に[cft format=1]で表示されましたが、グーグルマップの部分と写真表示の部分はPCでも表示されませんでした。
  • id:rouge_2008
    > 上記コードをテンプレートにそってhtmlのみで記述後に記事欄に[cft format=1]で表示~

    Google Mapが表示されない理由は分かりませんが、サムネイル画像の表示はphpの関数を利用していますから、HTMLのみで表示する事はできません。
    ※「wp_get_attachment_image(post_custom('カスタムフィールドの名前'))」は動作しますが、「wp_get_attachment_image([カスタムフィールドの名前])」のように、「wp_get_attachment_image()」にカスタムフィールドテンプレートのショートコードを指定する事はできないと思います。(動作しませんでしたが、そのような仕様だと考えていいと思います。値を取得して関数に渡さなければならないのに、ショートコードだと出力されてしまうのが動作しない理由だと思います。)
    テンプレートの場所を見つけたようですので、そちらでの表示を試した方がいいと思いますが、もし本文欄に記入したショートコードでの表示を試す場合は、「PHPを使用する」にチェックを入れて、テンプレートと同じ記述で試してみてください。
    ※「center: new google.maps.LatLng( [Map_lat],[Map_lng] ),」のように、FORMATでjavascript内に記述したショートコードでも動作可能でした。
    ※ショートコードでの表示を確認する場合は、テンプレートの記述を一旦無効にして確認してみてください。(複数のMap表示に対応しているコードではないかもしれません。)


    次の部分に関しては、こちらの勘違いでした。申し訳ありません。

    > また、該当する「TEMPLATE #n(※「n」はテンプレートのNoで数字)」の「テンプレートフォーマット」で「FOMAT #1」を選択してありますか?

    「テンプレートフォーマット」は、編集画面での各項目の表示をカスタマイズする時に使用するようです。
    サイトでの保存データ表示と編集画面での項目表示のカスタマイズの2種類に「FORMAT #n」を利用できるんですね・・・
  • id:kaji0245
    googlemapのほうは解決しました。表内に表示させるのは難しそうだったので、以下の記載でCFT内の[Address]を認識してくれました!
    <?php
    $zoom = 15; //ズームレベル
    $gmap_url = "http://maps.google.co.jp/maps?q=".("[Address]")."&z=".$zoom;
    ?><p><a href="<?=$gmap_url;?>">[Address][地図]</a></p>

    その後、画像表示に苦戦中だったので以下のアドバイス分がビンゴでした!!
    「wp_get_attachment_image(post_custom('カスタムフィールドの名前'))」
    おかげさまで何とか思い通りの表現方法ができそうです。
    ありがとうございました!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません