File size: 5,592 Bytes
03eca9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #!/usr/bin/env sh
set -eu
cd /var/www/html
if wp core is-installed >/dev/null 2>&1; then
echo "wp already installed"
else
wp core install \
--url="http://localhost:8088" \
--title="Indo MVP" \
--admin_user="admin" \
--admin_password="admin123456" \
--admin_email="admin@example.com" \
--skip-email
fi
wp config set WP_ENVIRONMENT_TYPE local --type=constant >/dev/null 2>&1 || true
wp option update timezone_string "Asia/Jakarta"
wp option update permalink_structure "/%postname%/"
wp rewrite flush --hard
wp plugin install woocommerce --activate
wp plugin activate indo-mvp-core
wp theme activate indo-trade
wp option update indo_mvp_enable_chatbox "1"
wp option update indo_mvp_enable_inquiry "0"
wp option update indo_mvp_enable_whatsapp "0"
wp option update indo_mvp_catalog_mode "1"
wp option update indo_mvp_whatsapp_number "628123456789"
wp option update indo_mvp_notify_emails "admin@example.com"
wp option update indo_mvp_default_country "Indonesia"
wp option update indo_mvp_auto_inject_product_cta "1"
create_page () {
title="$1"
slug="$2"
content="$3"
template="${4:-}"
if wp post list --post_type=page --name="$slug" --field=ID --format=ids | grep -q '[0-9]'; then
echo "page exists: $slug"
return
fi
id="$(wp post create --post_type=page --post_status=publish --post_title="$title" --post_name="$slug" --post_content="$content" --porcelain)"
echo "page created: $slug (#$id)"
if [ -n "$template" ]; then
wp post meta update "$id" _wp_page_template "$template" >/dev/null
fi
}
create_page "Home" "home" "## Pemasok & Produsen untuk Pasar Indonesia\n\nLihat produk, minta penawaran, atau chat WhatsApp untuk respon cepat.\n\nProduk:\n\nhttp://localhost:8088/shop/"
create_page "Produk" "products" "## Produk\n\nKunjungi halaman produk kami:\n\nhttp://localhost:8088/shop/"
create_page "Tentang Kami" "about-us" "## Tentang Kami\n\nKami adalah produsen & pemasok yang fokus pada kebutuhan pasar Indonesia.\n\nUntuk penawaran cepat, silakan hubungi kami via WhatsApp."
create_page "Hubungi Kami" "contact" "## Hubungi Kami\n\n**WhatsApp**: +62 xxx xxxx xxxx\n\n**Email**: sales@domain.com\n\nJam kerja: Senin–Jumat, 09:00–18:00 (WIB)"
create_page "FAQ" "faq" "## FAQ\n\n**1) Berapa MOQ?**\n\nMOQ tergantung produk dan spesifikasi."
create_page "Shop" "shop" ""
privacy_id="$(wp post list --post_type=page --name="privacy-policy" --field=ID --format=ids || true)"
if [ -z "$privacy_id" ]; then
privacy_id="$(wp post create --post_type=page --post_status=publish --post_title="Kebijakan Privasi" --post_name="privacy-policy" --post_content="## Kebijakan Privasi\n\nKami menghargai privasi Anda." --porcelain)"
echo "page created: privacy-policy (#$privacy_id)"
fi
wp option update wp_page_for_privacy_policy "$privacy_id"
create_page "Minta Penawaran" "request-a-quote" "## Minta Penawaran\n\nMohon isi form berikut.\n\n[indo_inquiry_form]\n\n[indo_whatsapp_button label=\"WhatsApp\"]" "page-templates/page-inquiry.php"
home_id="$(wp post list --post_type=page --name="home" --field=ID --format=ids | head -n1)"
wp option update show_on_front "page"
wp option update page_on_front "$home_id"
shop_id="$(wp post list --post_type=page --name="shop" --field=ID --format=ids | head -n1)"
wp option update woocommerce_shop_page_id "$shop_id"
ensure_term () {
tax="$1"
name="$2"
slug="$3"
if wp term list "$tax" --field=slug | grep -q "^$slug$"; then
return
fi
wp term create "$tax" "$name" --slug="$slug" >/dev/null
}
ensure_term product_type "simple" "simple"
ensure_term product_cat "Sample" "sample"
create_product () {
title="$1"
slug="$2"
price="$3"
if wp post list --post_type=product --name="$slug" --field=ID --format=ids | grep -q '[0-9]'; then
echo "product exists: $slug"
return
fi
id="$(wp post create --post_type=product --post_status=publish --post_title="$title" --post_name="$slug" --porcelain)"
wp term set product_type "$id" simple >/dev/null || true
wp term set product_cat "$id" sample >/dev/null || true
wp post meta update "$id" _regular_price "$price" >/dev/null
wp post meta update "$id" _price "$price" >/dev/null
wp post meta update "$id" _stock_status "instock" >/dev/null
wp post meta update "$id" _manage_stock "no" >/dev/null
echo "product created: $slug (#$id)"
}
create_product "Sample Product A" "sample-product-a" "12"
create_product "Sample Product B" "sample-product-b" "18"
create_product "Sample Product C" "sample-product-c" "25"
create_product "Sample Product D" "sample-product-d" "9"
create_product "Sample Product E" "sample-product-e" "30"
create_product "Sample Product F" "sample-product-f" "15"
create_product "Sample Product G" "sample-product-g" "22"
create_product "Sample Product H" "sample-product-h" "16"
create_product "Sample Product I" "sample-product-i" "28"
create_product "Sample Product J" "sample-product-j" "11"
menu_id="$(wp menu list --fields=term_id,name --format=csv | tail -n +2 | awk -F, '$2=="Primary"{print $1}' | head -n1 || true)"
if [ -z "$menu_id" ]; then
menu_id="$(wp menu create "Primary" --porcelain)"
fi
wp menu location assign "$menu_id" primary >/dev/null || true
for slug in home products about-us contact faq request-a-quote; do
pid="$(wp post list --post_type=page --name="$slug" --field=ID --format=ids | head -n1)"
if [ -n "$pid" ]; then
wp menu item add-post "$menu_id" "$pid" >/dev/null || true
fi
done
if [ -n "$shop_id" ]; then
wp menu item add-post "$menu_id" "$shop_id" >/dev/null || true
fi
echo "done: http://localhost:8088 (admin/admin123456)"
|