商品マスタ(商品一覧)のテンプレートファイル
/wp-content/plugins/usc-e-shop/includes/usces_item_master_list.php
詳細
/home/hashimoto/www/yoga-lien.com/wp-content/plugins/usc-e-shop/js にファイルを追加
jquery-1.8.0.min.js
jquery-ui.js
商品一覧のテンプレート(一覧大規模変更)
/home/hashimoto/www/yoga-lien.com/wp-content/plugins/usc-e-shop/includes/usces_item_master_list.php
// 並び替えページ
”usces_item_popup.php”を追加(新設)した。
”itemList.class.php” にてソート順を変更した
手法:$rows[L:410付近]の並び順を変えることで成功!
DB wp_posts.to_ping 型をtext → int に変更
// Heart-Lab Start
//-------------------------------------------------
/*
echo '<pre>';
var_dump($rows);
echo '</pre>';*/
// 商品IDのソート順
$id_array = array();
$pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USER, DB_PASSWORD);
$sql = "SELECT * FROM `wp_posts` WHERE `post_mime_type` = 'item' AND `post_type` = 'post' AND `post_status` = 'publish' ORDER BY `to_ping` ASC";
foreach($pdo->query($sql) as $item) {
// echo $item[ID].' -- ';
array_push($id_array, $item[ID]);
}
// var_dump($id_array);
// $rows の並び順を変える
for($i = 0; $id_array[$i] != ''; $i ++){
for($a = 0; $rows[$a] != ''; $a ++){
if($id_array[$i] == $rows[$a][ID]){
$new_rows[$i][ID] = $rows[$a][ID];
$new_rows[$i][item_code] = $rows[$a][item_code];
$new_rows[$i][item_name] = $rows[$a][item_name];
}
}
}
// echo '<pre>';
// var_dump($new_rows);
// echo '</pre>';
$rows = $new_rows;
// Heart-Lab END
//-------------------------------------------------
”usces_item_popup.php”
<html lang="ja" class="no-js"><head><meta charset="UTF-8">
<!-- WR -->
<style>
a {
color: gray;
}
.wr_menu li {
display: inline-block;
margin: 0 20px 30px 0;
}
.ns {
display: block;
float: left;
border: 1px solid silver;
width: 500px;
height: 60px;
background: white;
overflow: hidden;
margin: 0 0 5px 0;
}
.w100 {
display: block;
float: left;
width: 80px;
}
.w200 {
display: block;
float: left;
width: 300px;
overflow: hidden;
}
#tablenavi {
display: none;
}
</style>
</head>
<body>
<?php
error_reporting(E_ALL & ~E_NOTICE);
$act1 = ''; $act2 = ''; $act3 = '';
if($_GET["wr"] == 'lesson'){
$act1 = ' style="color:red;font-weight: bold"';
}elseif($_GET[wr] == 'shopping'){
$act2 = ' style="color:red;font-weight: bold"';
}else{
$act3 = ' style="color:red;font-weight: bold"';
}
echo '<div class="wr_menu">';
echo '<li><a href="?page=usces_itemedit&wr=all"'.$act3.'>All</a></li>';
echo '<li><a href="?page=usces_itemedit&wr=lesson"'.$act1.'>Lesson</a></li>';
echo '<li><a href="?page=usces_itemedit&wr=shopping"'.$act2.'>Shopping</a></li>';
echo '</div>';
?>
<script type="text/javascript">
<!--
function p_reload(){
var pwin=window.opener;
pwin.location.reload();
pwin.focus();
window.close();
}
//-->
</script>
<button type="button" onclick="p_reload()" style="float: right;">閉じる</button>
<br><br>
<form action="" method="post">
<input type="submit" id="submit" value="並び順を保存する" onClick="alert('並べ替え完了です')"/>
<ul class="sortable">
<!-- WR -->
<?php
include("../../../../wp-config.php");
$pdo =
new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USER, DB_PASSWORD);
// 並べ替え
if($_POST[result] != ''){
$sort_ids = explode(",", $_POST[result]);
for($i = 0; $sort_ids[$i] != ''; $i ++){
if($_GET[wr] == 'shopping'){
$a = $i;
}else{
$a = $i + 10000;
}
$sql = "UPDATE `wp_posts` SET `to_ping` = '$a' WHERE `ID` = '$sort_ids[$i]'";
$statement = $pdo->query($sql);
}
}
$sql = "SELECT * FROM `wp_posts` WHERE `post_mime_type` = 'item' AND `post_type` = 'post' AND `post_status` = 'publish' ORDER BY `to_ping` ASC";
foreach($pdo->query($sql) as $item) {
$print_flg = 0;
if($_GET[wr] == 'shopping'){
$sql2 = "SELECT * FROM `wp_term_relationships` WHERE `object_id` = '$item[ID]' AND `term_taxonomy_id` = '5'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
if($item2[object_id] != ''){
$print_flg = 1;
}
}
if($_GET[wr] == 'lesson'){
$sql2 = "SELECT * FROM `wp_term_relationships` WHERE `object_id` = '$item[ID]' AND `term_taxonomy_id` = '3'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
if($item2[object_id] != ''){
$print_flg = 1;
}
}
if( ($_GET[wr] == '') || ($_GET[wr] == 'all') ) $print_flg = 1;
if($print_flg == 1){
// 商品情報取得
$sql2 = "SELECT * FROM `wp_postmeta` WHERE `post_id` = '$item[ID]' AND `meta_key` = '_isku_'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
$hoge = explode(";", $item2[meta_value]);
$wr_array = array();
for($i = 0; $hoge[$i] != ''; $i ++){
$hhh = explode('"', $hoge[$i]);
// echo $i.'> '.$hhh[1].'<br>';
array_push($wr_array, $hhh[1]);
}
$ID = $item["ID"]; ///////idのようなモノ
$code = $wr_array[1];
$price = number_format($wr_array[7]);
$stock_num = number_format($wr_array[11]);
// 在庫有無
if($stock_num == 0){
$stock_text = '<span style="color:red;">在庫切れ</span>';
}else{
$stock_text = '.';
}
// 公開状態
if($item[post_status] == 'publish'){
$open_text = '公開';
}else{
$open_text = '<span style="color:red;">非公開</span>';
}
// カテゴリ
$sql3 = "SELECT * FROM `wp_term_relationships` WHERE `object_id` = '$ID' AND `term_taxonomy_id` != '2'";
$statement3 = $pdo->query($sql3);
$item3 = $statement3->fetch(PDO::FETCH_ASSOC);
$sql4 = "SELECT * FROM `wp_terms` WHERE `term_id` = '$item3[term_taxonomy_id]'";
$statement4 = $pdo->query($sql4);
$item4 = $statement4->fetch(PDO::FETCH_ASSOC);
$category = $item4[name];
// 画像
$sql2 = "SELECT * FROM `wp_postmeta` WHERE `post_id` = '$item[ID]' AND `meta_key` = '_thumbnail_id'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
$sql2 = "SELECT * FROM `wp_posts` WHERE `ID` = '$item2[meta_value]'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
$img = $item2[guid];
$post_name = $item2[post_title];
// url
$sql2 = "SELECT * FROM `wp_options` WHERE `option_name` = 'siteurl'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
$http_url = $item1[option_value];
$item[post_title] = mb_strimwidth( $item[post_title], 0, 85, '…','UTF-8' );
echo '<li class="ns" id="'.$ID.'">
<div class="w100"><img src="'.$img.'" width="60" alt="
IMG"></div>
<div class="w100">'.$ID.'</div>
<div class="w200">'.$code.'<br>'.$item[post_title].'</div>
<!--
<div class="w100">'.$price.'</div>
<div class="w100">'.$stock_num.'</div>
<div class="w100">'.$stock_text.'</div>
<div class="w100">'.$category.'</div>
<div class="w100">'.$open_text.'</div>
-->
</li><!-- ----リスト---- -->';
}
}
?>
<?php
// url
$sql2 = "SELECT * FROM `wp_options` WHERE `option_name` = 'siteurl'";
$statement2 = $pdo->query($sql2);
$item2 = $statement2->fetch(PDO::FETCH_ASSOC);
$http_url = $item2[option_value];
?>
<!-- WR -->
</ul>
<input type="hidden" id="result" name="result" />
</form>
<script src="<?php echo $http_url; ?>/wp-content/plugins/usc-e-shop/js/jquery-1.8.0.min.js"></script>
<script src="<?php echo $http_url; ?>/wp-content/plugins/usc-e-shop/js/jquery-ui.js"></script>
<script>
$(function() {
$(".sortable").sortable();
$(".sortable").disableSelection();
$("#submit").click(function() {
var result = $(".sortable").sortable("toArray");
$("#result").val(result);
$("form").submit();
});
});
</script>
<div style="clear:both;"></div>
<!--
<pre>
<?php var_dump($_POST); ?>
</pre>
-->
<!-- WR -->