忍者ブログ
20 January

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

14 April

welcart カートページ、メンバーページの編集について

検索すると

【重要】カートページ、メンバーページ等のカスタマイズについて

というページが上位に引っかかり、これをそのまま参考にしてしまいますよね。
でもちょっと待ってください。
現在ではもっと簡単な方法でできます。2014/04

/plugins/usc-e-shop/theme/welcart_default/wc_templates

フォルダをコピーし、

/自分のテーマ/
wc_templates/

の位置にフォルダごとコピーしてください。
そして中身の.phpファイルを編集してください。

私も最初はフィルターやらなんやらよくわからなくて困ってたんですが、
welcartのフォーラムで検索しているうちに、現在のアップデート状況を見つけました。
オンラインマニュアル見ても書いてないし、.phpのファイル名も昔のままだし、
鵜呑みにしては危ない部分がかなりあります。
本体は無料だし、有料サポートや有料制作のほうを優先してるだろうし、
色んな機能がありすぎて書き直しに手が回らないのかもしれませんね。
PR
14 April

WordPress カテゴリー階層がなくなってしまった!

商品をカテゴリー登録していて、気づいたときには
階層表示していたカテゴリーが全部フラット表示になっていた。

原因

1、親子関係のミス。

親にチェックをいれずに、子だけチェックをいれていると、
親子関係を維持できずフラットになる。

2、未分類を変名して使用

未分類という削除できないWPデフォルトカテゴリーを、
余ってるからといって別の名前にして階層に入れ込むとフラットになる

解決策

どれが原因かわからなかったら、作業していた関係のありそうな記事を
ひとつひとつ非公開にしていってカテゴリ一覧を検証する。

13 April

welcart パスくずリストの設定

Breadcrumb NavXT パンくずリストプラグインを入れる

入れたい場所にコード記入
<div class="breadcrumbs"><!--パンくずリスト-->
    <?php if(function_exists('bcn_display'))
    {
        bcn_display();
    }?>
</div>

welcartのfunction.phpに記入
「商品」「商品ジャンル」が出てしまうので消す記述
開発フォーラムで開発の人の回答よりコピペ
http://www.welcart.com/community/forums/topic/%E3%83%91%E3%83%B3%E3%81%8F%E3%81%9A%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-1

/*パンくずリストの商品、商品ジャンルを消す*/
function my_filter_breadcrumbs($bcnObj) {
$trail = array();
if ( count($bcnObj->trail) > 0 ) {
for ( $i = 0; $i < count($bcnObj->trail); $i++ ) {
if ( '商品' != $bcnObj->trail[$i]->get_title() && '商品ジャンル' != $bcnObj->trail[$i]->get_title() ) {
$trail[] = $bcnObj->trail[$i];
}
}
}
$bcnObj->trail = $trail;
return $bcnObj;
}
add_action('bcn_after_fill', 'my_filter_breadcrumbs');
13 April

welcart サイドバーウィジェットのカテゴリー一覧をアコーディオンパネルにする

<script>
jQuery(function(){
    //sideberカテゴリの折り畳み
    jQuery(".ucart_widget_body .children").hide();
    jQuery(".ucart_widget_body li").hover(function() {
        jQuery(this).children('ul:not(:animated)').slideDown(400);
    }, function() {
        jQuery(this).children('ul:not(:animated)').hide(400);
    });
});
</script>

参考
http://hi-rom.com/blog/archives/1721

参考URLは親→子までだが、私のは親→子→孫まであるので、
変に考えてしまって余計なセレクタをいれてしまった。
入れ子関係がどんだけあろうが、変えるのは<ul>のclass名のみでよい。
カテゴリー別なので、.click だとカテ別ページにとんでしまう
そのため .hover で対処する。WordPressにはこちらのほうがよさそうだ。
数値で開閉速度が決められる。


追記2014/04/14
カーソルが外れ .hide すると、自分の行きたい場所にすんなりいけずにイライラすることがある。
階層が多くなればなるほどそのような事態になるため、開いたら開きっぱなしのほうがよいと思い、
    }, function() {
        jQuery(this).children('ul:not(:animated)').hide(400);

を削除することにした。
クリックで開閉のアコーディオンパネルができないと、色々な弊害がでてやりにくいね。


参考URLには書いてなかったこと。
試してみるとわかるが、slideDownとhideが繰り返されてしまう。
この「アニメーションが止まらない」を解決するために :not(:animated) をいれる
(jQueryデザイン入門 p129)

$(function(){
	//カテゴリの折り畳み
	$(".tree-menu .children").hide(); // .childrenというclassの子カテゴリーを隠す状態にする)
	$(".tree-menu li").hover(function() { // <li>要素にマウスカーソルを乗せたとき
		$(this).children('ul').slideDown(200); // ulの.childrenがスライドダウンする
	}, function() {
		$(this).children('ul').hide(200); // マウス外したら隠れる
	});
});

約束事
WordPress内のphpに記述するときは  $ → jQuery に変える
<head>内や<body>すぐ下にいれると読み込みが遅くなるので、</body>の直前に書く。
つまりfooter.php
12 April

WordPressのサーバー引越し。ドメイン変更もあるよ。

データをダウンロード

旧サーバーのデータベース .sql をエクスポート(phpMyAdmin。設定何もいじらずそのまま)
旧サーバーのWPフォルダ一式をFTPからデスクトップへ保存

データの書き換え(wp-config.php)

旧サーバーから落としたWPフォルダの中の「wp-config.php」の設定項目を
新サーバーの設定項目へと書き換える。DB_NAME  password hostnameとか4つくらい

データをアップロード

新サーバーへFTPでWPフォルダをどんっとアップロード(wp-config.php書き換え済み)
フォルダ名変えるならリネームもする
新サーバーのデータベースへ .sql をインポート(phpMyAdmin。設定何もいじらずそのまま)

データの書き換え(データベース)

新サーバーのWPフォルダ内に「searchreplacedb2.php」をいれ、
http://サーバー名/wpフォルダ/searchreplacedb2.php にブラウザからアクセスする
Search and Replace for WordPress Databases Script

What to replace?
旧ドメイン名 http://旧ドメイン名 データベース内に記述してあるのでコピペしよう
新ドメイン名 http://新ドメイン名 見た目のサイトアドレスをどうしたいかで決めよう
おしりの「 / 」スラッシュは無し

例1)
http://旧ドメイン名/test/blog (blogというフォルダにWPファイルを入れていたとする) http://新ドメイン名/blog   (新しいほうではフォルダの階層を一段あげたい) 入力するURLはこうなる
What to replace? 旧ドメイン名 http://旧ドメイン名/test/blog 新ドメイン名 http://新ドメイン名/blog
例2)
http://旧ドメイン名/test    (testというフォルダにWPファイルを入れていたとする) http://新ドメイン名/shop   (新しいほうでは /shop を消すサイトアドレスにする予定)
入力するURLはこうなる
What to replace? 旧ドメイン名 http://旧ドメイン名/test
新ドメイン名 http://新ドメイン名
このあとWP管理画面の設定の「サイトアドレス」から /shop を消し、
index.phpを修正する作業をする。(転送設定)
例3)
http://旧ドメイン名/test   (testというフォルダにWPファイルを入れていたとする http://新ドメイン名/test   (新しいほうでも階層もフォルダ名もかわらない) 入力するURLはこうなる
What to replace?
旧ドメイン名 http://旧ドメイン名 (/testは両方つける、もしくは両方つけない)
新ドメイン名 http://新ドメイン名  (/testは両方つける、もしくは両方つけない)

ドメイン名を間違えた場合

新サーバーのphpMyAdminに入り、該当データベースごと削除する。
もう一度 .sql をインポートし、
http://サーバー名/wpフォルダ/searchreplacedb2.php にブラウザからアクセスして同じように名前置換をする。


searchreplacedb2.phpは終わったらいらないので削除する。
サーバー移転後、WP-dbmanagerのアドレス設定が直らないので
アンインストール→再インストール有効化→htaccess.txtを移動して.htaccessにリネームする
をもう一度やること。
カスタムメニューで「リンク」を使ってる場合は、URLが旧アドレスなので直すこと。

追記

サーバー移転はせず、同じサーバー内でドメインだけ変更(テスト環境→本番環境)のときは
searchreplacedb2.php のところのみ書き換える

1、旧ドメインデータベースバックアップ
2、旧ドメインWPフォルダバックアップ
3、新ドメインWPフォルダアップロード
4、
searchreplacedb2.php を新ドメインWPフォルダに挿入し、アクセスしてデータベース内のドメインURLの書き換え
5、新ドメイン/wp-admin/へアクセスできることを確認