2017年12月8日金曜日
2017年12月6日水曜日
スマホの幅に合わせる
ページの中身をたとえば1000pxにそろえて、いっぱいに表示しようとするとき、スマホではうまくいかないことがある
そういった時には
body,html{
min-width:1000px;
}
をためしてみる。
そういった時には
body,html{
min-width:1000px;
}
をためしてみる。
2017年12月5日火曜日
スマホの幅いっぱいの(はずの)画像がはみ出たとき
imgのwidthの設定を画面より多きくしてしまって、ブラウザがふらつくのを治すには、「max-width」などを使うのだが、ただ単に設定変更してブラウザの再読み込みをしただけでは「WIDTH = 100%」にはならない。
iPhoneだけかもしれないが、リロードしてからブラウザをシュリンクして一度小さくしてやる必要がある。
iPhoneだけかもしれないが、リロードしてからブラウザをシュリンクして一度小さくしてやる必要がある。
CSS 「img」の下に隙間が…
vertical-alignのデフォルト値は、IEなどのメジャーなブラウザではbaselineに設定されているから
gとかjとか下にはみ出るアルファベットのはみ出た長さの分だけ隙間ができるわけです。
なので、
img{ vertical-align:bottom; }
とすると、「img」の下の隙間がなくなるのです。
参考サイト
http://webtech-walker.com/archive/2007/03/01143619.html
gとかjとか下にはみ出るアルファベットのはみ出た長さの分だけ隙間ができるわけです。
なので、
img{ vertical-align:bottom; }
とすると、「img」の下の隙間がなくなるのです。
参考サイト
http://webtech-walker.com/archive/2007/03/01143619.html
2017年11月30日木曜日
CSS フッターの下に隙間ができたときの対処
ページの中身が少なくフッターが浮いた状態になってみっともないことがある。
そんなときの解決方法。
FOOTERをWRAPPER の中に入れているときにはFOOTERの上にダミーのボックスを置き、それにFOOTERの高さと同じだけ「padding-bottom」するのが味噌。セレクターは「contents」とした。
それとWRAPPERは「position」を「relative」 に、FOOTERは「position」を「absolute」にしておく。
あとは普通にHTML、BODYとWRAPPERを「width: 100%」しれば完成。
参考にさせてもらったサイトはこちら
https://liginc.co.jp/designer/archives/6435
-----------------------------------
html,body{
height:100%;
}
#wrapper{
width: 100%;
position: relative;
height:auto !important; /*IE6対策*/
height: 100%; /*IE6対策*/
min-height: 100%;
}
#contents{
padding-bottom:140px; /*フッターの高さと同じ*/
}
#footer{
height:140px;
position:absolute;
bottom:0;
}
しかし、FOOTERが400pxとか500pxとかデカい場合、この方法ではCONTENTの「padding」の分、空白部分が400pxとか500pxとかデカくなるのでみっともない。その場合は「background」か何かでごまかすしかなくなる。
そんなときの解決方法。
FOOTERをWRAPPER の中に入れているときにはFOOTERの上にダミーのボックスを置き、それにFOOTERの高さと同じだけ「padding-bottom」するのが味噌。セレクターは「contents」とした。
それとWRAPPERは「position」を「relative」 に、FOOTERは「position」を「absolute」にしておく。
あとは普通にHTML、BODYとWRAPPERを「width: 100%」しれば完成。
参考にさせてもらったサイトはこちら
https://liginc.co.jp/designer/archives/6435
-----------------------------------
html,body{
height:100%;
}
#wrapper{
width: 100%;
position: relative;
height:auto !important; /*IE6対策*/
height: 100%; /*IE6対策*/
min-height: 100%;
}
#contents{
padding-bottom:140px; /*フッターの高さと同じ*/
}
#footer{
height:140px;
position:absolute;
bottom:0;
}
しかし、FOOTERが400pxとか500pxとかデカい場合、この方法ではCONTENTの「padding」の分、空白部分が400pxとか500pxとかデカくなるのでみっともない。その場合は「background」か何かでごまかすしかなくなる。
2017年11月28日火曜日
div のhoverに「before」適用
HOVERにもコロンを二つ「::」つけることで疑似セレクターが適用できる
.contents-element a:hover::before{
content: "- > ";
}
2017年11月1日水曜日
投稿一覧にアイキャッチ
WordPressを使い始めたころからお世話になっている
「管理画面の投稿一覧にアイキャッチを表示する」スクリプト。
今回も使わせていただきました。
「野良プラグイン化」したものはダウンロードできなかったのですが、
functions.php に記述する方で実装しました。
なぜデフォルトで実装されていないのかと不思議に思うほど実用的な機能です。
「 林家次男」さんのブログ
http://hayashikejinan.com/wordpress/tips/964/
「管理画面の投稿一覧にアイキャッチを表示する」スクリプト。
今回も使わせていただきました。
「野良プラグイン化」したものはダウンロードできなかったのですが、
functions.php に記述する方で実装しました。
なぜデフォルトで実装されていないのかと不思議に思うほど実用的な機能です。
「 林家次男」さんのブログ
http://hayashikejinan.com/wordpress/tips/964/
2017年10月31日火曜日
is_home()が効かない
パーツのテンプレートを使ってページの下部、フッターの上にカテゴリバナー群を設置。
その中に上層の一覧ページへのリンクを貼る。
リンクのCSSをトップページとその他に振り分けるのに「is_home()」を使おうと思ったがトップページもすり抜けてしまう。
「is_front-page()」にしたり、「表示設定」で固定ページにしたりとやってみたが駄目。
たどり着いたのがこちら
http://kawatama.net/web/wordpress/1907
で、処理をリセットしていないせいだったようだ。
<?php wp_reset_query(); if(is_home()): ?>
トップページで表示したい内容
<?php else: ?>
トップページ以外で表示したい内容
<?php endif; ?>
これで解決。
その中に上層の一覧ページへのリンクを貼る。
リンクのCSSをトップページとその他に振り分けるのに「is_home()」を使おうと思ったがトップページもすり抜けてしまう。
「is_front-page()」にしたり、「表示設定」で固定ページにしたりとやってみたが駄目。
たどり着いたのがこちら
http://kawatama.net/web/wordpress/1907
で、処理をリセットしていないせいだったようだ。
<?php wp_reset_query(); if(is_home()): ?>
トップページで表示したい内容
<?php else: ?>
トップページ以外で表示したい内容
<?php endif; ?>
これで解決。
2017年10月30日月曜日
楽天RMS スマホ商品ページにINPUT タグを設置する裏ワザ
楽天RMS、スマホの商品ページにINPUTタグを設置するにはタグの最後に全角スペースを13個挿入する
<input type="submit" >
こんな感じ。
iFRAME版の裏ワザはいくつか記事があるが、INPUTのはどこにも見つからなかったので掲載する
<input type="submit" >
こんな感じ。
iFRAME版の裏ワザはいくつか記事があるが、INPUTのはどこにも見つからなかったので掲載する
2017年10月24日火曜日
Welcart 購入しても商品がカートに残る
購入手続きを完了しても商品が残ったままになっている。
Wel Cartのシステム要件は
ロリポップサーバーのPHPバージョンが5.1だったので5.6に。
Wel Cartのシステム要件は
・WordPress WordPress4.0
・PHP PHP5.4、5.5、5.6
・データベース MySQL5.5以上
https://www.welcart.com/wc-condition/
・PHP PHP5.4、5.5、5.6
・データベース MySQL5.5以上
https://www.welcart.com/wc-condition/
ロリポップサーバーのPHPバージョンが5.1だったので5.6に。
だが、MySQLはハードルが高そうだったので、アップしてあるファイル全てをバックアップしている間に
WCの公式ページに出ていた記事のようにテンプレートphpファイルを書き換えたところ
WCの公式ページに出ていた記事のようにテンプレートphpファイルを書き換えたところ
解決した。
「header.php」には
この位置
<?php wp_head(); ?>
</head>
「footer.php」には
この位置
<?php wp_footer(); ?>
</body>
で、テンプレートタグを記述する。
http://support.welcart.com/topic/178/
敷居の高い「MySQL」のバージョンアップはしなくて済んだ。
2017年10月18日水曜日
ポップアップで画像拡大
WPやっててアイキャッチ画像の拡大は大きなテーマでしたが、ほかの機能とぶつかったり動作がいまいちだったり、ありそうでなかなかいいのが見つかりませんでした。
今回、設置も超簡単で動きもスムーズ。(今のところですが)他の機能とぶつからない秀逸なjQueryを見つけたので記録しておきます。
名前は「Lity」。
HTMLのヘッダーに
<link rel="stylesheet" href="lity.min.css">
<script src="lity.min.js"></script>
それとjQuery本体を読み込み
リンクタグに
<a href="画像URL" data-lity="data-lity"><img src="画像URL"></a>
として「data-lity="data-lity"」を記述するだけ。
今回、ほかの機能として「bxslider」や「waypoints」等を設置するためjQueryは
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js">
としました。
問題なく動作してます。
「Lity」の設置はこちらを参考にさせて頂きました。
ついでに、固定表示しているヘッダーナビと買い物カゴボックスが上に出てしまったのでz-indexを増やしたのですが、今まで”999999”くらいが上限と思っていたのが実は
-2147483647から2147483647
とのことでした。
こちらを見させていただきました。
アイキャッチ画像拡大機能追加で
・トップページのスライダー「bxslider」
・スクロールでふわっと出てくる「Waypoints」
・カートシステムの「Welcart」(カートない表示ボックスも固定表示)
・ヘッダーのグローバルナビと”ページのトップ”がスクロールで移動するちょっとしたパララックス
・Perlで組んだリクルート募集システム
それと今回の
・アイキャッチ画像拡大
の6つの機能がそろいました。
あと、できれば予約システムも、と思っていますが、こちらはウェブで完結させるにはかなり高度な技が必要そうなので検討中です。
しかし、すべて無料でここまでできるとは。。
2017年10月5日木曜日
チェックボックスにチェックがつかない
ワードプレス、Welcartのログイン画面。
「 ログイン情報を記憶」のチェックボックスが行方不明に。
CSSで20px角になおしたものの、肝心のチェックがつかない。
調べたら、背景でできるらしい。
input[type="checkbox"]#rememberme{
background:#ccc;
width:20px;
height:20px;
}
input[type="checkbox"]:checked{
background:#ff6600;
}
これだと”レ点”ではなく、真四角になってしまうが、とりあえずカッコも悪くないのでこれにしとく。
2017年9月27日水曜日
カートの中身ボックス WP & Welcart
Welcartで一通りの基本機能ができたので、巷でよく見る「カートの中身」ボックスに取り掛かりました。
個数や金額は難なく表示できたのですが、
カートに何も入っていないときと入っているとき。
さらにショップや購入画面にいるときとそれ以外のページにいるときで表示をかえるにはどうしたらいいのか。
カテゴリ分けは基本だが、カテゴリを追加したときに記述を変えないで済む方法。
ショップの商品はすべて「ITEM」カテゴリに入っているので、これを取得すればOK。
変えるべき表示とは商品が入っているときの「購入画面へ」と入っていないときの「ショップへ行く」のリンクテキスト。
ショップにいるときでカートが空の時は非表示、カートに商品が入っているときは「購入画面へ」、購入画面にいるときはこのボックス全体を非表示にする。
まず、ボックス全体は”is_page( get_option( 'usces_cart_number' ))”で購入画面にいるにいるかどうかを判別。
購入画面では非表示に。
購入画面以外では、
”usces_is_cart() ”をつかって、商品が入っていたら「購入画面へ」を表示、入っていなかったら「ショップへ行く」を表示。
そして、ショップにいるときは最上位カテゴリが「ITEM」であることを判別し、”welcart-incart-box-itempage”のセレクタ、「ショップへ行く」を”display:none;”しました。
商品が入っていたら「購入画面へ」は表示します。
これで完璧。
参考サイトはこちら。
http://securavita.net/get_category_parent_root/#category_archive_root
ちなみに、頂いたコードのままだと固定ページ(page)でエラーが発生する。
なので、”if(is_page()):”で括ってページを丸ごとエスケープしました。
固定ページなのに親カテゴリを探そうとするとエラーになるのでしょうか。
エラー箇所は「$parents = explode( ',',$parents );」の部分でした。
「explodeは”$parents”が文字列であることを期待している・・・」とか何とか。
よくはわかりません。
<!--/welcart カートの中身ボックス-->
<?php if ( is_page( get_option( 'usces_cart_number' ))): ?>
//カート画面ではボックスは非表示
<?php else: ?>
<div id="welcart-incart-box">
<div id="welcart-incart-box-title">お買い物状況</div>
<div id="welcart-incart-box-totalquantity">個数:<?php usces_totalquantity_in_cart(); ?>個</div>
<div id="welcart-incart-box-totalprice">合計金額:<?php usces_totalprice_in_cart(); ?>円</div>
<?php if( usces_is_cart() ): ?>
//カートに入っていいたら
<div id="welcart-incart-box-cartpage"><a href="http://suzukiayumu.moo.jp/zakuro/usces-cart/">購入画面へ</a></div>
<?php elseif ( !usces_is_cart()): ?>
<div id="welcart-incart-box-itempage"><a href="http://example.com">ショップへ行く</a></div>
<?php endif; ?>
<?php endif; ?>
<?php if( ! is_page() ): ?> //固定ページはエスケープする
//ここからコピペ
<?php
$cats = get_the_category();
$category = $cats[0];
$parents = get_category_parents( $category->term_id, false, ',', true);
$parents = explode( ',',$parents );
$root = get_category_by_slug( $parents[0] );
?>
//ここまでコピペ
<?php if( $root->name == 'ITEM' ): ?>
//最上位のカテゴリが「ITEM」だったら「ショップへ行く」ボタンを消す。
<style>
#welcart-incart-box-itempage{
display:none;
}
</style>
<?php endif; ?>
<?php endif; ?>
<!--/welcart-incart-box end--></div>
<!--/wel cart カートの中身ボックス 終わり-->
個数や金額は難なく表示できたのですが、
カートに何も入っていないときと入っているとき。
さらにショップや購入画面にいるときとそれ以外のページにいるときで表示をかえるにはどうしたらいいのか。
カテゴリ分けは基本だが、カテゴリを追加したときに記述を変えないで済む方法。
ショップの商品はすべて「ITEM」カテゴリに入っているので、これを取得すればOK。
変えるべき表示とは商品が入っているときの「購入画面へ」と入っていないときの「ショップへ行く」のリンクテキスト。
ショップにいるときでカートが空の時は非表示、カートに商品が入っているときは「購入画面へ」、購入画面にいるときはこのボックス全体を非表示にする。
まず、ボックス全体は”is_page( get_option( 'usces_cart_number' ))”で購入画面にいるにいるかどうかを判別。
購入画面では非表示に。
購入画面以外では、
”usces_is_cart() ”をつかって、商品が入っていたら「購入画面へ」を表示、入っていなかったら「ショップへ行く」を表示。
そして、ショップにいるときは最上位カテゴリが「ITEM」であることを判別し、”welcart-incart-box-itempage”のセレクタ、「ショップへ行く」を”display:none;”しました。
商品が入っていたら「購入画面へ」は表示します。
これで完璧。
参考サイトはこちら。
http://securavita.net/get_category_parent_root/#category_archive_root
ちなみに、頂いたコードのままだと固定ページ(page)でエラーが発生する。
なので、”if(is_page()):”で括ってページを丸ごとエスケープしました。
固定ページなのに親カテゴリを探そうとするとエラーになるのでしょうか。
エラー箇所は「$parents = explode( ',',$parents );」の部分でした。
「explodeは”$parents”が文字列であることを期待している・・・」とか何とか。
よくはわかりません。
<!--/welcart カートの中身ボックス-->
<?php if ( is_page( get_option( 'usces_cart_number' ))): ?>
//カート画面ではボックスは非表示
<?php else: ?>
<div id="welcart-incart-box">
<div id="welcart-incart-box-title">お買い物状況</div>
<div id="welcart-incart-box-totalquantity">個数:<?php usces_totalquantity_in_cart(); ?>個</div>
<div id="welcart-incart-box-totalprice">合計金額:<?php usces_totalprice_in_cart(); ?>円</div>
<?php if( usces_is_cart() ): ?>
//カートに入っていいたら
<div id="welcart-incart-box-cartpage"><a href="http://suzukiayumu.moo.jp/zakuro/usces-cart/">購入画面へ</a></div>
<?php elseif ( !usces_is_cart()): ?>
<div id="welcart-incart-box-itempage"><a href="http://example.com">ショップへ行く</a></div>
<?php endif; ?>
<?php endif; ?>
<?php if( ! is_page() ): ?> //固定ページはエスケープする
//ここからコピペ
<?php
$cats = get_the_category();
$category = $cats[0];
$parents = get_category_parents( $category->term_id, false, ',', true);
$parents = explode( ',',$parents );
$root = get_category_by_slug( $parents[0] );
?>
//ここまでコピペ
<?php if( $root->name == 'ITEM' ): ?>
//最上位のカテゴリが「ITEM」だったら「ショップへ行く」ボタンを消す。
<style>
#welcart-incart-box-itempage{
display:none;
}
</style>
<?php endif; ?>
<?php endif; ?>
<!--/welcart-incart-box end--></div>
<!--/wel cart カートの中身ボックス 終わり-->
2017年9月25日月曜日
個別投稿ページでの地図表示
店舗の詳細ページを個別の投稿(SINGLE)でつくって、ブランドごとにカテゴリ分けなどして、カテゴリごとに背景を変えるなどしていた。
詳細ページに地図を載っけようと思ったので会社概要からとってきて貼り付け。
と、そこまでは良かったが、各店舗ごとに地図が変わるのは当たり前で、Google Mapスクリプトに与える座標をそれぞれの店舗用のものにしなければいけない。
JSON何とかとか、色々やってみたが最終的にはとても簡単な、行ってしまえば1行で実現できた。
実際には各店舗ページのスラッグで振り分けるので複数行になるが原理的には1行でOK。
ページごとに変数「$hoge」に与える座標を変更しているだけ。
<?php echo $hoge; ?>の部分に座標が入る。
もとは当然というかまんま数値が入っていた。
(このスクリプトの参考ページはURLを控えていませんでした。あしからず。)
はじめのうち、ただ単に「$hoge」とか「'$hoge'」とかやってみたが、変数の中身が出てこなかった。
結構探してみたが解決策は見つからず、<script type='text/javascript'>のなかで<?php ・・・?>が動くのであれば、これも行けるのでは。と試に実行。
みごとに座標がはまりました。
ちなみにJSONとやらを介したやりかた、
<?php $hoge = '座標を入れる'; ?> <script type="text/javascript"> var hoge = <?php echo json_encode($hoge); ?>; console.log(hoge); // 座標を入れる </script>
http://qiita.com/39_isao/items/09946484933b83060f10
で、<?php echo json_encode($hoge); ?>としていたが、これだと座標の前後にダブルクォーテーションがついてしまって使えなかった
************************************************
<?php if(is_single('shop1')): ?><?php $hoge = '35.682579, 139.752775'; ?>
<?php elseif(is_single('shop2')): ?><?php $hoge = '35.689838, 139.700331'; ?>
<?php endif; ?>
<script type='text/javascript'>
var mapCanvas;
function intialize() {
//Create a map
mapCanvas = new google.maps.Map(document.getElementById("map_canvas"));
mapCanvas.setCenter(new google.maps.LatLng(<?php echo $hoge; ?>));
mapCanvas.setZoom(17);
mapCanvas.setMapTypeId(google.maps.MapTypeId.ROADMAP);
//marker1 : Tokyo, Japan
var marker = new google.maps.Marker({
position : new google.maps.LatLng(<?php echo $hoge; ?>),
map: mapCanvas
});
}
google.maps.event.addDomListener(window, "load", intialize);
</script>
このやりかたで、PHPの変数をJSで使えることが分かった。
しかもすごく簡単。
いろいろ応用できれば面白そう。
詳細ページに地図を載っけようと思ったので会社概要からとってきて貼り付け。
と、そこまでは良かったが、各店舗ごとに地図が変わるのは当たり前で、Google Mapスクリプトに与える座標をそれぞれの店舗用のものにしなければいけない。
JSON何とかとか、色々やってみたが最終的にはとても簡単な、行ってしまえば1行で実現できた。
実際には各店舗ページのスラッグで振り分けるので複数行になるが原理的には1行でOK。
ページごとに変数「$hoge」に与える座標を変更しているだけ。
<?php echo $hoge; ?>の部分に座標が入る。
もとは当然というかまんま数値が入っていた。
(このスクリプトの参考ページはURLを控えていませんでした。あしからず。)
はじめのうち、ただ単に「$hoge」とか「'$hoge'」とかやってみたが、変数の中身が出てこなかった。
結構探してみたが解決策は見つからず、<script type='text/javascript'>のなかで<?php ・・・?>が動くのであれば、これも行けるのでは。と試に実行。
みごとに座標がはまりました。
ちなみにJSONとやらを介したやりかた、
<?php $hoge = '座標を入れる'; ?> <script type="text/javascript"> var hoge = <?php echo json_encode($hoge); ?>; console.log(hoge); // 座標を入れる </script>
http://qiita.com/39_isao/items/09946484933b83060f10
で、<?php echo json_encode($hoge); ?>としていたが、これだと座標の前後にダブルクォーテーションがついてしまって使えなかった
************************************************
<?php if(is_single('shop1')): ?><?php $hoge = '35.682579, 139.752775'; ?>
<?php elseif(is_single('shop2')): ?><?php $hoge = '35.689838, 139.700331'; ?>
<?php endif; ?>
<script type='text/javascript'>
var mapCanvas;
function intialize() {
//Create a map
mapCanvas = new google.maps.Map(document.getElementById("map_canvas"));
mapCanvas.setCenter(new google.maps.LatLng(<?php echo $hoge; ?>));
mapCanvas.setZoom(17);
mapCanvas.setMapTypeId(google.maps.MapTypeId.ROADMAP);
//marker1 : Tokyo, Japan
var marker = new google.maps.Marker({
position : new google.maps.LatLng(<?php echo $hoge; ?>),
map: mapCanvas
});
}
google.maps.event.addDomListener(window, "load", intialize);
</script>
このやりかたで、PHPの変数をJSで使えることが分かった。
しかもすごく簡単。
いろいろ応用できれば面白そう。
2017年9月20日水曜日
Premiere Pro Quick Time .MOVでの書き出し 「静止画の最適化」
Premiere Pro CC 2017から「.MOV」形式で書き出し、Adobe Media Encoderで「.MP4」に変換。
PC上では普通に再生したが、Androidタブレットではかなりの大きな乱れが。
この動画ではビデオではなく静止画を使っていたのですが、「.MOV」の書き出し設定で 「静止画の最適化」にチェックを入れたら治った。
何かの記事で「ビデオ動画はキレイだが、静止画は良くない。」と書いてあったので、これかな?とか思いながらポチッとしてみました。
静止画の寸法の再確認のため写真1枚だけのムービーを作ってインストール。
同じように荒れた。
いまだ原因不明。
追記
原因はともあれ、Premiere Pro CC 2017からの書き出しを「AVI」にすると非常に美しく、乱れのない動画ができた。
容量は4割ほど増加したが、タブレットでの再生にも問題なし。
動画をやってるとファイル形式に悩むことが多い。
変換やレンダリングにも時間がかかるし、同じアドビ製品を使っていてもサイト制作とはかなり勝手が違う。
とっとと終わらせないとワードプレスの世界に戻るのに手間がかかりそう。
PC上では普通に再生したが、Androidタブレットではかなりの大きな乱れが。
この動画ではビデオではなく静止画を使っていたのですが、「.MOV」の書き出し設定で 「静止画の最適化」にチェックを入れたら治った。
何かの記事で「ビデオ動画はキレイだが、静止画は良くない。」と書いてあったので、これかな?とか思いながらポチッとしてみました。
静止画の寸法の再確認のため写真1枚だけのムービーを作ってインストール。
同じように荒れた。
いまだ原因不明。
追記
原因はともあれ、Premiere Pro CC 2017からの書き出しを「AVI」にすると非常に美しく、乱れのない動画ができた。
容量は4割ほど増加したが、タブレットでの再生にも問題なし。
動画をやってるとファイル形式に悩むことが多い。
変換やレンダリングにも時間がかかるし、同じアドビ製品を使っていてもサイト制作とはかなり勝手が違う。
とっとと終わらせないとワードプレスの世界に戻るのに手間がかかりそう。
ONKYO TA2C 55R302 SDカード破損
業務用のタブレット、オンキョウのTA2C。
店舗用タブレットメニューに動画を入れるためにMICRO SDカードを用意。
カードリーダーに差し込んでPCに接続。
こちらは何の問題もなく、3ファイル100MB 程を取り込んでくれた。
さて、リーダーから抜いて今度はタブレットへ。
この機種に限らずかも知れないが、出し入れがオルタネイト式(カメラのメモリカードスロットにもよくあるもの)になっていて、かなり奥まで差し込まないと装着できなかった。
で、エクスプローラーでタップしてみると「SD has no mounted」の文字。
USBに切り替えるという手もあるのだが、まずは「設定」で調査。
設定>ストレージ>SDカードをマウント
で「マウント」をタップすると「破損したSDカード」とのこと。
業務用のせいもあろうか、この機種の情報はほとんど出てこず、メーカーのマニュアルがいいところでした。
「初期化」の文字を入れてググっているとスマホでの対策が出て生きたので、こちらもメーカーのマニュアルらしいでしたが、見てみました。
http://www.jp.onkyo.com/support/smartphone/SIM_SDcard_toriatsukai.pdf
http://www.jp.onkyo.com/support/smartphone/SIM_SDcard_toriatsukai.pdf
すると、「設定」でマウントしようとした時に出る「破損したSDカード」をタップするとフォーマット画面に進むとのこと。
たしかに初期化は正常に終了しWinにつなげても問題なし。
めでたく、MP4動画をインストールできました。
余談ですが、「設定」をいじっているとき、「SDカード」の下あたりの「消去」だか何だかをフォーマット鴨とか思ってタップしたところ、今までルートフォルダにずらっとエクスプローラーに並んでいたフォルダーが2つだけ残して全部消えていました。
ま、いいや。今度はタブレット本体でも初期化すればいいことだし。アプリは2個だけ再インストールすればいい。データなんて今回の動画だけ。
試験機でよかった。ホントウニ良かった。
ま、いいや。今度はタブレット本体でも初期化すればいいことだし。アプリは2個だけ再インストールすればいい。データなんて今回の動画だけ。
試験機でよかった。ホントウニ良かった。
Android系でのSDカードの初期化には気を付けましょう。ということでした。
2017年9月19日火曜日
Premiere Pro CC 書き出し 画質が荒い MP4
飲食店のメニューにタブレットを導入するということで、現在動画の作成をしている。
内容的にはフェードイン、アウトくらいのエフェクトでOKとのことなので、特に難しいことはない。FLASHならあっという間に作れそうなのだが。
作成するファイル形式は「MP4」限定。
使うソフトは「Premiere Pro」限定。
ソフトの使い方から勉強となった。
「Premiere Pro 初心者 使い方」でググりながら、静止画を貼り付けてフェードイン下だけの超基本的なアニメを作って書き出し。
設定画面には200pxくらいの小さな画面とありえないほど粗い画質。
「Premiere Pro 書き出し MP4 画質」などで探していると「シーケンス設定」の文字が。
内容的にはフェードイン、アウトくらいのエフェクトでOKとのことなので、特に難しいことはない。FLASHならあっという間に作れそうなのだが。
作成するファイル形式は「MP4」限定。
使うソフトは「Premiere Pro」限定。
ソフトの使い方から勉強となった。
「Premiere Pro 初心者 使い方」でググりながら、静止画を貼り付けてフェードイン下だけの超基本的なアニメを作って書き出し。
設定画面には200pxくらいの小さな画面とありえないほど粗い画質。
「Premiere Pro 書き出し MP4 画質」などで探していると「シーケンス設定」の文字が。
この記事そのものではソリューションにならなかったが、ためしにその「シーケンス設定」とやらを開いてみると何やら怪しい数字が。
上の方の「ビデオ」の「フレームサイズ」が”4600x2800”くらいになっておりやたらとでかい。貼り付けた画像は1280x800なので。
他にいじるところが分からないので画像サイズと同じにしてみた。
すると、書き出しプレビューはさっきよりもかなり大きなサイズに。
ただ、画質はさっきと変わらない。
ただ、画質はさっきと変わらない。
ネット情報では「.MOV」がいいとのことなので、やってみると確かにキレイになった。
Adobe の「Media Encoder」でMP4に変換。
やっとのことで使えそうな動画ができた。
2017年9月15日金曜日
ヘッダー(<head> </head>)内のスペース
ワードプレスでのコーポレートサイト制作でのこと。
気が付いたら画面の一番上に20px位の高さの空白ができていた。
画面を全選択すると空白部分の左端に半角スペースができていた。
「要素の検証」では「 」。
これを削除すると空白も消えた。
場所は直近の作業でGoogleマップ設置作業に伴うAPI読み込み用に記入したタグのすぐ上。
はじめは全角と勘違いしエディタで検索したが「見つかりません。」。
タグの直前のスペースならそれを削除すればいのでは。ということでタグの前に2つくっついていたスペースを削除すると見事解決。
HTMLは基本不要なスペースを無視することになっているようだが、中には本文として表示してしまう場合があるらしい。
気が付いたら画面の一番上に20px位の高さの空白ができていた。
画面を全選択すると空白部分の左端に半角スペースができていた。
「要素の検証」では「 」。
これを削除すると空白も消えた。
場所は直近の作業でGoogleマップ設置作業に伴うAPI読み込み用に記入したタグのすぐ上。
はじめは全角と勘違いしエディタで検索したが「見つかりません。」。
タグの直前のスペースならそれを削除すればいのでは。ということでタグの前に2つくっついていたスペースを削除すると見事解決。
HTMLは基本不要なスペースを無視することになっているようだが、中には本文として表示してしまう場合があるらしい。
2017年9月7日木曜日
カテゴリページが表示されない原因は??
カテゴリページは「category.php」で”if文”振り分け。
if (is_category('sample')){
include(TEMPLATEPATH . '/category-sample.php');
}
みたいな感じで。
当然普通の投稿も同じくやってました。
商品カテゴリ表示がすんでから改めて、というか何の気なしにすでにつくってあった他のカテゴリを見てみると、ヘッダー、フッター以外真っ白のブラウザ。
あ??
固まりましたね。
まずは原因の究明から。
ページのソースを見てみると、今まで動いていた、商品カテゴリページでも動く、
<?php
$cats = get_the_category();
$cats = $cats[0];
?>
が効かなくなっていました。
ボックス(div)のクラスにカテゴリを当てはめる為、皆さんやっているように
<div class="<?php echo $cats->category_nicename; ?>-category-page">
みたく、はめ込んでいたのですが、出力結果は
<div class="-category-page">
。
同じコード、テンプレートタグで一方は正しく表示、他方は反応なし。ということなので勢い疑ってしまいます。
まぁ、それはそれとして一般投稿も表示させねばならないのでまずはカテゴリのスラッグを何としてもechoしなければなりません。
さんざ探し回って、やっとたどり着いてのが
CAT SPEAKさん
http://cat-speak.net/2011/05/06/75/
こちらのコードをいただいて
<?php
$cat = get_category( $cat);
$parentCat = $cat->parent;
var_dump($parentCat);
$catName = $cat->name;
var_dump($catName);
?>
親カテゴリは不要なのでこんな感じにしました。
<?php
$cat = get_category( $cat);
$catName = $cat->category_nicename;
?>
これでカテゴリスラッグだけ取り出して、
<div class="<?php echo $catName; ?>-category-page">
としたところ、希望通りの結果が得られました。
ところが、これはタイトルやボックスの背景スタイルなどを決めるだけで、肝心の投稿記事が表示されてません。
でももう安心。
カテゴリスラッグが取れたので
<?php if(is_category('sample-1')): ?>
<?php query_posts('category_name=sample-1'); ?>
<?php elseif(is_category('sample-2')): ?>
<?php query_posts('category_name=sample-2'); ?>
<? endif; ?>
みたく振り分けるつもりです。
まだやってないので何ともですが、不具合発見当時の落胆からすれば、現在はかなり希望があります。
★追記
さっそく、複数のカテゴリで振り分けてみたところ、大成功ですた。
あと、店舗紹介と人材募集のセクションにも適用する予定です。
★追記2
一通りの改修が終了。
今回の改修はおもにbreadcrumb NavXTで生成されたカテゴリページへのリンク先なので、投稿記事の取得は本来
query_post('category_name=******')
でカテゴリを指定しなくてもいいはずですが、カテゴリ関連の情報がうまく伝わらなくなったのでしょうか。
Word Pressは同じ情報をいろいろなやり方で取れるのですね。
あぁ~。
よかった。
でも。
なおって。
よかった。
でも。
なおって。
2017年9月6日水曜日
カテゴリ設定に注意
今回のサイトでは「ニュース」、「商品」、「求人」と、3種類の投稿を使用している。
それぞれタグ、カスタムフィールドの設置状況が異なり、それぞれに対応するテンプレートは他の投稿にはちゃんと対応していない。
テンプレートはカテゴリで分類しているので、カテゴリ設定を間違えると表示がおかしくなる。
”てすと”の商品投稿をカテゴリ設定せずに保存したため、自動的に「未分類」カテゴリに設定された。
このカテゴリは「NEWS」に変更してニュース記事を入れるカテゴリとして使っていた。
商品は「Welcart」を使っていて、その商品は”商品マスター”で一覧表示され、”投稿一覧”には出てこない。
そして「Welcart」は「商品詳細ページタイトル」という部品を装備していて、「商品名」とは違い、一覧や詳細ページに表示するタイトルを別に設定できるようになっている。
デフォルトでは自動で同名になるが。
”テスト”商品を”てすと”ととして作成した後でやっぱりそのまま使うので「商品名」だけを変更した。
当然「商品詳細ページタイトル」は「てすと」のままで、一覧や詳細ページにはこのタイトルが表示される。
問題となった「NEWS」一覧ページは先頭にこの商品投稿が来ていて、本来のニュースが出てこないという事態になっていた。
しかも余計なアイコン、字崩れなど一見するとどうにも原因不明の、もしかしたら恐怖の”先祖がえり”かも、とも思わせる姿を見せていた。
「商品マスター」には「てすと」などという投稿は存在しない。「商品詳細ページタイトル」はこの一覧用ではないからだ。
もちろん「投稿一覧」にもない。
ゴミ箱を「完全に削除」しても消えない。
しかたなく、泣く泣く難しいデータベースへのアクセスを試みようと「WP データベース 投稿 削除」などとググってみた。
するとこんな記事に遭遇
https://www.imamura.biz/blog/10204
こちらの
<?php
$data = $wpdb->get_results( "
SELECT post_title
FROM $wpdb->posts
WHERE post_status = 'future' /*予約投稿ステータス*/
" );
foreach ($data as $value) {
echo $value->post_title . "<br />";
}
?>
を拝借して、試に一覧を出してみた。
すると「てすと」記事は確かに存在する。
では、どこにいるのか。
よくよく「商品マスター」を確認してみるとカテゴリに「NEWS」が設定されている記事が最後(つくったのが最初なので)にあるのを発見した。
商品名はもちろん「てすと」ではない。
商品編集画面で「てすと」から変更して本チャンにしたそのカテゴリに修正。
「NEWS」カテゴリ一覧ページは目出度く正常に表示されました。
今回はいつの間にか、「NEWS」用のテンプレートの
<?php query_post('category_name=news')?>
を削除していて、さらに分かりずらくなっていた。
こんなミスは後悔するようなものではないが、自戒の念と、もしかしたら結構多くの人が迷い込んでいるのではと思うので公開します。
それぞれタグ、カスタムフィールドの設置状況が異なり、それぞれに対応するテンプレートは他の投稿にはちゃんと対応していない。
テンプレートはカテゴリで分類しているので、カテゴリ設定を間違えると表示がおかしくなる。
”てすと”の商品投稿をカテゴリ設定せずに保存したため、自動的に「未分類」カテゴリに設定された。
このカテゴリは「NEWS」に変更してニュース記事を入れるカテゴリとして使っていた。
商品は「Welcart」を使っていて、その商品は”商品マスター”で一覧表示され、”投稿一覧”には出てこない。
そして「Welcart」は「商品詳細ページタイトル」という部品を装備していて、「商品名」とは違い、一覧や詳細ページに表示するタイトルを別に設定できるようになっている。
デフォルトでは自動で同名になるが。
”テスト”商品を”てすと”ととして作成した後でやっぱりそのまま使うので「商品名」だけを変更した。
当然「商品詳細ページタイトル」は「てすと」のままで、一覧や詳細ページにはこのタイトルが表示される。
問題となった「NEWS」一覧ページは先頭にこの商品投稿が来ていて、本来のニュースが出てこないという事態になっていた。
しかも余計なアイコン、字崩れなど一見するとどうにも原因不明の、もしかしたら恐怖の”先祖がえり”かも、とも思わせる姿を見せていた。
「商品マスター」には「てすと」などという投稿は存在しない。「商品詳細ページタイトル」はこの一覧用ではないからだ。
もちろん「投稿一覧」にもない。
ゴミ箱を「完全に削除」しても消えない。
しかたなく、泣く泣く難しいデータベースへのアクセスを試みようと「WP データベース 投稿 削除」などとググってみた。
するとこんな記事に遭遇
https://www.imamura.biz/blog/10204
こちらの
<?php
$data = $wpdb->get_results( "
SELECT post_title
FROM $wpdb->posts
WHERE post_status = 'future' /*予約投稿ステータス*/
" );
foreach ($data as $value) {
echo $value->post_title . "<br />";
}
?>
を拝借して、試に一覧を出してみた。
すると「てすと」記事は確かに存在する。
では、どこにいるのか。
よくよく「商品マスター」を確認してみるとカテゴリに「NEWS」が設定されている記事が最後(つくったのが最初なので)にあるのを発見した。
商品名はもちろん「てすと」ではない。
商品編集画面で「てすと」から変更して本チャンにしたそのカテゴリに修正。
「NEWS」カテゴリ一覧ページは目出度く正常に表示されました。
今回はいつの間にか、「NEWS」用のテンプレートの
<?php query_post('category_name=news')?>
を削除していて、さらに分かりずらくなっていた。
こんなミスは後悔するようなものではないが、自戒の念と、もしかしたら結構多くの人が迷い込んでいるのではと思うので公開します。
2017年9月4日月曜日
Welcart e-Commerceの商品 カテゴリ 一覧表示の順序
投稿記事の一覧表示順を変えるには
1.Intuitive Custom Post Orderプラグインをいんすとーるする
単純にカテゴリページを開く場合、例えば「Breadcrumb NavXT」などで表示されているパンくずリストをクリックするなどで表示されるカテゴリページの商品を任意に並び替えるには
「2」の「カスタムフィールド + テーマのための関数に記述する」で実装できます。「3」ではうまくいきません(私の場合)。
テーマのための関数 (functions.php)にコードを記述する方法はこちらを参考にさせて頂きました。
というかいつものコピペ。
http://while-creation.com/post-order-customfield/
*******************************************
function test_pre_get_posts($query) {
if ( is_admin() || ! $query->is_main_query() ) {
return;
}
if ( $query->is_category() ) {
$query->set( 'meta_key', '表示順序' );
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'test_pre_get_posts' );
*******************************************
「表示順序」の部分をカスタムフィールドの項目名に合わせれば、ほかの作業なしに商品が並び変りました。
そして、任意の場所にカテゴリ内の商品を並べる場合は「3」のquery_postsでの設定がいいようです。「query_posts」で
1.Intuitive Custom Post Orderプラグインをいんすとーるする
2.カスタムフィールド + テーマのための関数に記述する
3.カスタムフィールド + query_postsで設定する
などの方法がありますが、Welcart e-Commerceの商品の表示順を任意に設定するには「1」のプラグインは使えません。
などの方法がありますが、Welcart e-Commerceの商品の表示順を任意に設定するには「1」のプラグインは使えません。
単純にカテゴリページを開く場合、例えば「Breadcrumb NavXT」などで表示されているパンくずリストをクリックするなどで表示されるカテゴリページの商品を任意に並び替えるには
「2」の「カスタムフィールド + テーマのための関数に記述する」で実装できます。「3」ではうまくいきません(私の場合)。
テーマのための関数 (functions.php)にコードを記述する方法はこちらを参考にさせて頂きました。
というかいつものコピペ。
http://while-creation.com/post-order-customfield/
*******************************************
function test_pre_get_posts($query) {
if ( is_admin() || ! $query->is_main_query() ) {
return;
}
if ( $query->is_category() ) {
$query->set( 'meta_key', '表示順序' );
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'test_pre_get_posts' );
*******************************************
「表示順序」の部分をカスタムフィールドの項目名に合わせれば、ほかの作業なしに商品が並び変りました。
そして、任意の場所にカテゴリ内の商品を並べる場合は「3」のquery_postsでの設定がいいようです。「query_posts」で
<?php
query_posts('
category_name=category&
posts_per_page=0&
orderby=meta_value_num&
order=ASC&
meta_key=並び順
');
?>
とすると、カスタムフィールドの「並び順」に記入した順番(この場合は昇順)に表示されます。
「query_posts」は非推奨らしいですが、とりあえず動くので使っています。「get_posts()」にするべきみたいですが。。
「query_posts」は非推奨らしいですが、とりあえず動くので使っています。「get_posts()」にするべきみたいですが。。
カスタムフィールド重複
カスタムフィールドを重複して設定すると
<?php echo post_custom('カスタムフィールド'); ?>
で出力したとき
Array
となってしまう。
配列になったカスタムフィールドは「post_custom」ではArrayとして出力するようだ。
<?php echo post_custom('カスタムフィールド'); ?>
で出力したとき
Array
となってしまう。
配列になったカスタムフィールドは「post_custom」ではArrayとして出力するようだ。
2017年8月31日木曜日
Welcart -- 自作テンプレートでの「在庫数」表示
Welcartで商品詳細ページで在庫数を表示する。
こちらのページを参考にさせてもらいました。
まめ子さん
http://welcustom.net/show-count-stocks/
ネットで出ている情報。商品詳細ページのテンプレートは「wc_item_single.php」。
ここに上記ページに載っている
を40数行目当たり、
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?>
の下に貼り付けてやると、しっかりと在庫数が表示されました。
ありがたや、ありがたや。
なのですが、このデフォルトテンプレートは商品画像がサムネイルだけ、投稿の本文は出ない、など外観を成形するにはかなりの手間がかかりそうでした。
途中まで作っていた自作のテンプレにしよう、ということで、上記スクリプトを貼り付け。
ところが、これだけではなにも表示してくれません。
さんざん検索して探し回ったのですが、結局見つからず、試しに「wc_item_single.php」の中身をそっくりそのまま自作テンプレに「ctrl + A」-->>「ctrl + V」したところ、まったく同じに動作しました。場所やファイル名は関係ないということ。
ならば、スクリプトのどこかに秘密が隠されているに違いない。
といことで、自作の内容を元に戻し、「wc_item_single.php」のなかのめぼしい個所を下の方に貼り付けてみました。
それがこちら。
<!--価格表示 テスト ここから-->
<!--デフォルト テンプレ部分-->
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<?php usces_remove_filter(); ?>
<?php usces_the_item(); ?>
<?php if(usces_sku_num() === 1) : usces_have_skus(); ?>
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?></div>
<?php endif; ?>
<!--デフォルト テンプレ部分 おわり-->
<!--在庫数を実数表示 いただいた箇所-->
?>
<!--在庫数を実数表示(終了)-->
</div>
<!--価格表示 テスト ここまで-->
「デフォルト テンプレ部分」はもとは、ほかにもたくさんのタグやらがあるのですが、関係なさそうなのは削除。
これでも必要最小限かどうかはわかりませんが、何とか在庫数を表示することができました。
ちなみに<?php endif; ?>は
Parse error: syntax error, unexpected $end in
というエラーが出たので入れました。
ループの閉じ忘れだそうです。
オリジナルはもっと下の方で閉じているのでしょう。
参考ページ
https://php1st.com/578/
さらに、不用なタグを削除。
とりあえず(というのは、まだメール送信まで確認していないので。)完成形はこんな感じ。
一覧ページでは問題なかったのですが、詳細ページ(SINGLE PAGE)では、カートボタンと数量設定フォームが消えてしまったので、
<?php wp_reset_query(); ?>
しました。
上部の3行はおまじないのようなものなのでしょう。
これを消すと下が働きません。
<!--在庫数 ここから-->
<?php usces_the_item(); ?>
<?php if(usces_sku_num() === 1) : usces_have_skus(); ?>
<?php endif; ?>
<!--在庫数を実数表示-->
<?php
$stock_rest = usces_the_itemZaikoNum('return');
if ( $stock_rest < 6 ){ //在庫数が6未満の場合
echo '残りわずか';
echo $stock_rest. '個となりました';
} elseif ( $stock_rest > 6 ) { //その他の場合
usces_the_itemZaikoStatus(); //在庫状態を表示
}
?>
<!--在庫数を実数表示(終了)-->
<!--在庫数 ここまで-->
<?php wp_reset_query(); ?>
これで、自作テンプレでも在庫数取得&表示が可能になるので、「在庫がなくなったら、こうしよう・・・。」といった希望が叶えられそうですゎ。
今のところ6個未満で在庫数を表示し購買意欲を煽るシステムにしています。
こちらのページを参考にさせてもらいました。
まめ子さん
http://welcustom.net/show-count-stocks/
ネットで出ている情報。商品詳細ページのテンプレートは「wc_item_single.php」。
ここに上記ページに載っている
<?php
$stock_rest
= usces_the_itemZaikoNum(
'return'
);
if
( usces_get_itemZaiko(
'id'
) <= 1 ){
if
(
$stock_rest
>= 15 ){
//在庫数が15以上の場合
echo
'在庫有り'
;
}
elseif
( 0 <
$stock_rest
&&
$stock_rest
< 15 ){
//在庫数が0より大きく15未満の場合
echo
$stock_rest
.
'点在庫有り'
;
}
}
else
{
//その他の場合
usces_the_itemZaikoStatus();
//在庫状態を表示
}
?>
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?>
の下に貼り付けてやると、しっかりと在庫数が表示されました。
ありがたや、ありがたや。
なのですが、このデフォルトテンプレートは商品画像がサムネイルだけ、投稿の本文は出ない、など外観を成形するにはかなりの手間がかかりそうでした。
途中まで作っていた自作のテンプレにしよう、ということで、上記スクリプトを貼り付け。
ところが、これだけではなにも表示してくれません。
さんざん検索して探し回ったのですが、結局見つからず、試しに「wc_item_single.php」の中身をそっくりそのまま自作テンプレに「ctrl + A」-->>「ctrl + V」したところ、まったく同じに動作しました。場所やファイル名は関係ないということ。
ならば、スクリプトのどこかに秘密が隠されているに違いない。
といことで、自作の内容を元に戻し、「wc_item_single.php」のなかのめぼしい個所を下の方に貼り付けてみました。
それがこちら。
<!--価格表示 テスト ここから-->
<!--デフォルト テンプレ部分-->
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<?php usces_remove_filter(); ?>
<?php usces_the_item(); ?>
<?php if(usces_sku_num() === 1) : usces_have_skus(); ?>
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?></div>
<?php endif; ?>
<!--デフォルト テンプレ部分 おわり-->
<!--在庫数を実数表示 いただいた箇所-->
<?php
$stock_rest
= usces_the_itemZaikoNum(
'return'
);
if
( usces_get_itemZaiko(
'id'
) <= 1 ){
if
(
$stock_rest
>= 15 ){
//在庫数が15以上の場合
echo
'在庫有り'
;
}
elseif
( 0 <
$stock_rest
&&
$stock_rest
< 15 ){
//在庫数が0より大きく15未満の場合
echo
$stock_rest
.
'点在庫有り'
;
}
}
else
{
//その他の場合
usces_the_itemZaikoStatus();
//在庫状態を表示
}
<!--在庫数を実数表示(終了)-->
</div>
<!--価格表示 テスト ここまで-->
「デフォルト テンプレ部分」はもとは、ほかにもたくさんのタグやらがあるのですが、関係なさそうなのは削除。
これでも必要最小限かどうかはわかりませんが、何とか在庫数を表示することができました。
ちなみに<?php endif; ?>は
Parse error: syntax error, unexpected $end in
というエラーが出たので入れました。
ループの閉じ忘れだそうです。
オリジナルはもっと下の方で閉じているのでしょう。
参考ページ
https://php1st.com/578/
さらに、不用なタグを削除。
とりあえず(というのは、まだメール送信まで確認していないので。)完成形はこんな感じ。
一覧ページでは問題なかったのですが、詳細ページ(SINGLE PAGE)では、カートボタンと数量設定フォームが消えてしまったので、
<?php wp_reset_query(); ?>
しました。
上部の3行はおまじないのようなものなのでしょう。
これを消すと下が働きません。
<!--在庫数 ここから-->
<?php usces_the_item(); ?>
<?php if(usces_sku_num() === 1) : usces_have_skus(); ?>
<?php endif; ?>
<!--在庫数を実数表示-->
<?php
$stock_rest = usces_the_itemZaikoNum('return');
if ( $stock_rest < 6 ){ //在庫数が6未満の場合
echo '残りわずか';
echo $stock_rest. '個となりました';
} elseif ( $stock_rest > 6 ) { //その他の場合
usces_the_itemZaikoStatus(); //在庫状態を表示
}
?>
<!--在庫数を実数表示(終了)-->
<!--在庫数 ここまで-->
<?php wp_reset_query(); ?>
これで、自作テンプレでも在庫数取得&表示が可能になるので、「在庫がなくなったら、こうしよう・・・。」といった希望が叶えられそうですゎ。
今のところ6個未満で在庫数を表示し購買意欲を煽るシステムにしています。
登録:
投稿 (Atom)