WooCommerce менен Кыргызстан үчүн онлайн-дүкөн кантип ачуу (2015)
Кыскача: WordPress 4.3 + WooCommerce 2.4 орнотуңуз, валютаны KGS (Кыргызстан сому) кылып коюңуз, Элсом платёжды кошуңуз, жеткизүү аймактарын Бишкек + башка шаарлар деп белгилеңиз. Толук орнотуу убактысы: 2–3 апта (дизайн кошо эмес).
Зарыл плагиндер (2015)
✓ WooCommerce 2.4 — негизги дүкөн
✓ WooCommerce - Kyrgyz Som — KGS валютасы (же кол менен коюу)
✓ Contact Form 7 — байланыш формасы
✓ WP Super Cache — ылдамдатуу
✓ Smush — сүрөт оптималдаштыруу
✗ Jetpack — ОЙ БОЛБОСУН (өтө оор)
WooCommerce орнотуу
# WP-CLI аркылуу:
wp plugin install woocommerce --activate
wp plugin install woocommerce --version=2.4.13 --activate # Туруктуу версия
# Setup Wizard'ды өткөрүп кетпеңиз:
# WP Admin → WooCommerce → Settings → General
Валюта жана жалпы жөндөөлөр
<?php
// functions.php — KGS валютасын кошуу
// WooCommerce 2.4'та KGS жок болчу — кол менен кошуу керек
// Кыргызстан сомун кошуу
add_filter('woocommerce_currencies', function($currencies) {
$currencies['KGS'] = __('Kyrgyzstani Som', 'woocommerce');
return $currencies;
});
add_filter('woocommerce_currency_symbol', function($currency_symbol, $currency) {
switch ($currency) {
case 'KGS':
$currency_symbol = 'сом';
break;
}
return $currency_symbol;
}, 10, 2);
WP Admin → WooCommerce → Settings → General:
- Currency: KGS (Kyrgyzstani Som)
- Currency Position: Right (баасы оңдо: "500 сом")
- Thousand Separator: (бош)
- Decimal Separator: .
- Number of Decimals: 0 (тыйын колдонулбайт)
Жеткизүү аймактарын орнотуу
<?php
// functions.php — Кыргызстан шаарлары үчүн жеткизүү аймактары
// WooCommerce Shipping Zones (2.4+та жаңы функция)
// WP Admin → WooCommerce → Settings → Shipping → Shipping Zones
// Программалык жол менен кошуу:
add_action('woocommerce_init', function() {
// Бул жерде Shipping Zone'ду жасоого болот
// Же WP Admin аркылуу кол менен
});
Shipping Zones (WP Admin аркылуу):
Зона 1: "Бишкек"
- Аймак: Кыргызстан → Чүй облусу → Бишкек
- Метод: Flat Rate — 100 сом
- Метод: Free Shipping — 3000 сом'дан жогору заказдарга
Зона 2: "Кыргызстандын башка шаарлары"
- Аймак: Кыргызстан (Бишкекти кошпогондо)
- Метод: Flat Rate — 300–500 сом
- Убакыт: 2–5 жумушчу күн
Зона 3: "Башка өлкөлөр"
- Отключить (2015: Кыргызстандан тышкары жеткизүү жок)
Элсом (E-Wallet) төлөм плагинин жазуу
<?php
// includes/class-wc-gateway-elsom.php
// WooCommerce Payment Gateway Элсом үчүн
class WC_Gateway_Elsom extends WC_Payment_Gateway {
public function __construct() {
$this->id = 'elsom';
$this->method_title = 'Элсом кошелёк';
$this->method_description = 'Элсом электрондук кошелёк аркылуу төлөм';
$this->has_fields = false;
$this->init_form_fields();
$this->init_settings();
$this->title = $this->get_option('title', 'Элсом');
$this->description = $this->get_option('description', 'Элсом кошелёк аркылуу төлөңүз');
add_action('woocommerce_update_options_payment_gateways_' . $this->id,
[$this, 'process_admin_options']
);
}
public function init_form_fields(): void {
$this->form_fields = [
'enabled' => [
'title' => 'Иштетүү',
'type' => 'checkbox',
'default' => 'yes',
],
'merchant_id' => [
'title' => 'Merchant ID',
'type' => 'text',
],
'secret_key' => [
'title' => 'Жашыруун ачкыч',
'type' => 'password',
],
];
}
public function process_payment($order_id): array {
$order = wc_get_order($order_id);
$merchantId = $this->get_option('merchant_id');
$secretKey = $this->get_option('secret_key');
// Элсом API чалуу
$response = wp_remote_post('https://api.elsom.kg/v1/payments/create', [
'headers' => ['Content-Type' => 'application/json'],
'body' => json_encode([
'merchant_id' => $merchantId,
'order_id' => $order_id,
'amount' => $order->get_total(),
'currency' => 'KGS',
'description' => 'Заказ #' . $order_id . ' myshop.kg сайтынан',
'callback_url' => home_url('/wc-api/wc_gateway_elsom/'),
'success_url' => $this->get_return_url($order),
'fail_url' => wc_get_checkout_url(),
'signature' => hash_hmac('sha256',
$merchantId . '|' . $order_id . '|' . $order->get_total(),
$secretKey
),
]),
'timeout' => 15,
]);
if (is_wp_error($response)) {
wc_add_notice('Байланыш катасы. Кайра аракет кылыңыз.', 'error');
return ['result' => 'fail'];
}
$data = json_decode(wp_remote_retrieve_body($response), true);
if (empty($data['payment_url'])) {
wc_add_notice('Төлөм системасында ката кетти.', 'error');
return ['result' => 'fail'];
}
// Заказды "Pending payment" статусуна өткөрүү
$order->update_status('pending', 'Элсом аркылуу төлөм башталды.');
return [
'result' => 'success',
'redirect' => $data['payment_url'],
];
}
}
// Плагинди WooCommerce'ка каттоо
add_filter('woocommerce_payment_gateways', function($gateways) {
$gateways[] = 'WC_Gateway_Elsom';
return $gateways;
});
Наличные при доставке + SMS билдирүү
<?php
// functions.php — заказ жасалганда SMS жибер
add_action('woocommerce_new_order', function($order_id) {
$order = wc_get_order($order_id);
$phone = $order->get_billing_phone();
// Казахстан же Кыргызстан телефон номерин нормалдаштыруу
$phone = preg_replace('/[^0-9]/', '', $phone);
if (strlen($phone) === 10) $phone = '996' . $phone; // 0xxx → 996xxx
$message = "Заказ #{$order_id} кабыл алынды! "
. "Сумма: " . number_format($order->get_total(), 0) . " сом. "
. "Тез арада менеджер байланышат. myshop.kg";
// SMS жибер (Mobizon API аркылуу)
wp_remote_get('https://api.mobizon.kg/service/message/sendsmsmessage?' . http_build_query([
'apiKey' => SMS_API_KEY,
'recipient' => $phone,
'text' => $message,
'from' => 'MyShop',
]));
});
Кыргызча/Орусча тил которулуу
<?php
// Тил боюнча URL структурасы:
// myshop.kg/ → орусча (default)
// myshop.kg/ky/ → кыргызча
// WPML же Polylang плагинин колдон (2015-жылда Polylang бекер)
// Polylang орнотуу:
// wp plugin install polylang --activate
// Же кол менен тил которулуу:
add_filter('woocommerce_checkout_fields', function($fields) {
$lang = get_locale();
if ($lang === 'ky') {
$fields['billing']['billing_first_name']['label'] = 'Аты';
$fields['billing']['billing_last_name']['label'] = 'Фамилиясы';
$fields['billing']['billing_phone']['label'] = 'Телефон';
$fields['billing']['billing_email']['label'] = 'Email';
}
return $fields;
});
Биринчи айдагы жыйынтыктар
Кардарыбыздын Бишкектеги кийим дүкөнү (WooCommerce, 2015):
| Метрика | 1-ай | 3-ай |
|---|---|---|
| Заказдар | 23 | 87 |
| Орточо чек | 1,850 сом | 2,100 сом |
| Айлык айланым | 42,550 сом | 182,700 сом |
| Наличные / Элсом | 78% / 22% | 61% / 39% |
Элсомдун үлүшү ар ай өстү — пайдалануучулар онлайн төлөмгө адаттанды.