0

わかりましたhttp://sergedenimes.com/products-page/にストアがあります

wordpress で wp e-commerce プラグインを使用しています。希望する外観とレイアウトを得るためにテーマ ファイルを変更しましたが、先日別のサイト ユーザーがファイルをバックアップせずにプラグインを自由に更新したため、変更が上書きされました。

(これはあってはならないことであり、テーマ ファイルを別のディレクトリに配置する必要があることはわかっていますが、それは別の問題です)

とにかく、幸いなことに、ほとんどすべてのテーマ ファイルを自分のものに復元することができ、ストアは元の状態に戻りました。配送料。このドロップダウンには、国がリストされていません。チェックアウト テーマ ファイルを確認したところ、<?php echo wpsc_shipping_country_list();?>タグが正しい場所にありました。

国のリストに選択肢が表示されなくなった理由はありますか? どうすれば修正できますか?

(ご自分で確認するには、少なくとも 1 つの製品をカートに追加して、チェックアウトに進む必要があります)

ありがとう

マーティのポイントに答えて編集します。

  • 合計金額には常に送料が含まれます。これは物理的な商品であり、送料が追加されます。デフォルトの配送国は英国であるため、£3.60 が追加されます。
  • 郵便番号ボックスについてはわかりません。スクリーンショットを提供できますか?私にとっては、郵便番号を提供することについては何も言われていません-「配送料を計算するには、下から国を選択してください」(そうあるべきです)と表示され、選択するオプションのないドロップダウンがあります. (これは私の問題です)。ここにテキストフィールドが表示されません。存在するべきではありません。
  • おそらくカナダのサーバー上にあるにもかかわらず、サイトと会社は英国を拠点としているため、通貨はこれを反映しています
  • 解決策が含まれていないようですが、リンクをありがとう。非アクティブ化/再アクティブ化を試みたところ、カート ウィジェットのチェックアウト リンクが間違ったページに移動するようになりました。

(OK はカート ウィジェット リンクの問題を修正しましたが、国のドロップダウンはまだ壊れています)

別の編集: これは、チェックアウト ページ テンプレート ファイル全体のペーストビンです: http://pastebin.com/aGxqsTVt

更新:コアファイルのクエリをチェックして、wp_プレフィックスをテーブル名に追加しようとしましたが、うまくいきませんでした。まだこれに本当に苦労しており、下書きとして保存されている製品がストアに表示されるなど、更新によって多くのことが台無しになっているようです.

どんな提案でも大歓迎です。

わかりましたので、これに php および mysql タグを追加します。そこに問題があると思われます。

これは、国のリストを生成することになっていると私が信じている関数です。

function wpsc_shipping_country_list( $shippingdetails = false ) {
global $wpdb, $wpsc_shipping_modules, $wpsc_country_data;
$js = '';
$output = '';
if ( !$shippingdetails ) {
    $output = "<input type='hidden' name='wpsc_ajax_actions' value='update_location' />";
    $js = "  onchange='submit_change_country();'";
}
$selected_country = (string) wpsc_get_customer_meta( 'shipping_country' );
$selected_region  = (string) wpsc_get_customer_meta( 'shipping_region'  );

if ( empty( $selected_country ) )
    $selected_country = esc_attr( get_option( 'base_country' ) );

if ( empty( $selected_region ) )
    $selected_region = esc_attr( get_option( 'base_region' ) );

if ( empty( $wpsc_country_data ) )
    $country_data = $wpdb->get_results( "SELECT * FROM `" . WP_WPSC_CURRENCY_LIST . "` WHERE `visible`= '1' ORDER BY `country` ASC", ARRAY_A );
else
    $country_data = $wpsc_country_data;

$acceptable_countries = wpsc_get_acceptable_countries();

$output .= wpsc_get_country_dropdown( array(
    'name'                  => 'country',
    'id'                    => 'current_country',
    'additional_attributes' => $js,
    'acceptable_ids'        => $acceptable_countries,
    'selected'              => $selected_country,
    'placeholder'           => '',
) );

$output .= wpsc_shipping_region_list( $selected_country, $selected_region, $shippingdetails );

if ( isset( $_POST['wpsc_update_location'] ) && $_POST['wpsc_update_location'] == 'true' ) {
    wpsc_update_customer_meta( 'update_location', true );
} else {
    wpsc_delete_customer_meta( 'update_location' );
}

$zipvalue = (string) wpsc_get_customer_meta( 'shipping_zip' );
if ( ! empty( $_POST['zipcode'] ) )
    $zipvalue = $_POST['zipcode'];

$zip_code_text = __( 'Your Zipcode', 'wpsc' );

if ( ( $zipvalue != '' ) && ( $zipvalue != $zip_code_text ) ) {
    $color = '#000';
    wpsc_update_customer_meta( 'shipping_zip', $zipvalue );
} else {
    $zipvalue = $zip_code_text;
    $color = '#999';
}

$uses_zipcode = false;
$custom_shipping = get_option( 'custom_shipping_options' );
foreach ( (array)$custom_shipping as $shipping ) {
    if ( isset( $wpsc_shipping_modules[$shipping]->needs_zipcode ) && $wpsc_shipping_modules[$shipping]->needs_zipcode == true ) {
        $uses_zipcode = true;
    }
}

if ( $uses_zipcode ) {
    $output .= " <input type='text' style='color:" . $color . ";' onclick='if (this.value==\"" . esc_js( $zip_code_text ) . "\") {this.value=\"\";this.style.color=\"#000\";}' onblur='if (this.value==\"\") {this.style.color=\"#999\"; this.value=\"" . esc_js( $zip_code_text ) . "\"; }' value='" . esc_attr( $zipvalue ) . "' size='10' name='zipcode' id='zipcode'>";
}
return $output;
}
4

2 に答える 2

0

更新時にまったく同じ問題が発生しました。問題の原因は、英国から英国への切り替えであることがわかりました。管理者で古い英国の代わりに英国を使用していることを確認してください。問題は解決するはずです。

フランク。

于 2013-04-03T13:59:22.267 に答える
0

OK、checkout.class.php ファイルの最新バージョンを見ると、$wpdb->prefix が使用されていないようです。データベース テーブルでプレフィックスを使用していますか? wp_ だけではありませんか?

$country_data = $wpdb->get_results( "SELECT * FROM `" . WPSC_TABLE_CURRENCY_LIST . "` WHERE `visible`= '1' ORDER BY `country` ASC", ARRAY_A );

のようなものであるべきですか?

$country_data = $wpdb->get_results( "SELECT * FROM `" . $wpdb->prefix.WPSC_TABLE_CURRENCY_LIST . "` WHERE `visible`= '1' ORDER BY `country` ASC", ARRAY_A );

phpmyadmin でデータベース構造をチェックして、テーブル名が一致しているかどうかを確認してください。

[更新]インストールファイルを読んでプレフィックスを使用しますが、それでもそれらのテーブルにデータがあることを確認しますか?

于 2012-10-31T17:03:07.880 に答える