ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
tmp
/
bsimport
/
Filename :
setup_tools.php
back
Copy
<?php // Cipta halaman alat + pillar + menu item. Run: wp eval-file setup_tools.php if (!defined('WP_CLI')) { echo "Run via wp eval-file\n"; return; } function bs_upsert_tpl_page($title, $slug, $template, $parent_id = 0, $desc = '') { $found = get_posts(array('name'=>$slug,'post_type'=>'page','post_status'=>'any','numberposts'=>1,'fields'=>'ids','post_parent'=>$parent_id)); if (!$found) { // cuba tanpa parent constraint $found = get_posts(array('name'=>$slug,'post_type'=>'page','post_status'=>'any','numberposts'=>1,'fields'=>'ids')); } if ($found) { $id = $found[0]; update_post_meta($id, '_wp_page_template', $template); if ($parent_id) wp_update_post(array('ID'=>$id,'post_parent'=>$parent_id)); WP_CLI::log("page ada, template dikemaskini: $slug -> $template (#$id)"); return $id; } $id = wp_insert_post(array( 'post_title'=>$title,'post_name'=>$slug,'post_content'=>$desc, 'post_status'=>'publish','post_type'=>'page','post_author'=>1,'post_parent'=>$parent_id, ), true); if (is_wp_error($id)) { WP_CLI::warning("$slug: ".$id->get_error_message()); return 0; } update_post_meta($id, '_wp_page_template', $template); // SEO meta untuk halaman alat WP_CLI::log("page #$id: $title -> $template"); return $id; } $hub = bs_upsert_tpl_page('Alat & Kalkulator', 'alat', 'tpl-alat-hub.php'); $edd = bs_upsert_tpl_page('Kalkulator Tarikh Jangka Bersalin (EDD)', 'kalkulator-tarikh-bersalin', 'tpl-alat-edd.php', $hub); $imu = bs_upsert_tpl_page('Penyemak Jadual Imunisasi Bayi', 'jadual-imunisasi', 'tpl-alat-imunisasi.php', $hub); $nam = bs_upsert_tpl_page('Cari Nama Bayi Islam & Maksudnya', 'nama-bayi', 'tpl-alat-nama.php', $hub); $brt = bs_upsert_tpl_page('Semakan Berat Bayi Ikut Umur', 'berat-bayi', 'tpl-alat-berat.php', $hub); $mgg = bs_upsert_tpl_page('Kehamilan Minggu demi Minggu (1-40)', 'kehamilan-mingguan', 'tpl-minggu.php'); $ph = bs_upsert_tpl_page('Panduan Kehamilan Lengkap', 'panduan-kehamilan', 'tpl-pillar-hamil.php'); $pb = bs_upsert_tpl_page('Panduan Lengkap Bayi 0-12 Bulan', 'panduan-bayi', 'tpl-pillar-bayi.php'); // SEO meta descriptions (guna meta box fields sedia ada) $seo = array( $edd => array('kalkulator tarikh bersalin','Kalkulator Tarikh Bersalin (EDD) Percuma','Kira tarikh jangka bersalin anda secara percuma — masukkan tarikh haid akhir, dapat EDD, usia kandungan & trimester serta-merta.'), $imu => array('jadual imunisasi bayi','Penyemak Jadual Imunisasi Bayi KKM','Jana jadual imunisasi peribadi bayi anda berdasarkan jadual kebangsaan KKM — masukkan tarikh lahir, dapat anggaran tarikh setiap vaksin.'), $nam => array('nama bayi islam','Cari Nama Bayi Islam & Maksudnya','Ratusan nama bayi Islam lelaki & perempuan beserta maksud. Tapis ikut huruf, jantina atau cari terus — percuma.'), $brt => array('berat bayi normal','Semakan Berat Bayi Ikut Umur (0-24 Bulan)','Semak berat bayi anda berbanding julat rujukan pertumbuhan WHO secara anggaran — percuma & mesra ibu bapa.'), $mgg => array('kehamilan minggu demi minggu','Kehamilan Minggu demi Minggu (1-40)','Jejak kehamilan anda minggu demi minggu — saiz bayi, perubahan badan ibu & tip praktikal setiap minggu, dalam BM.'), $ph => array('panduan kehamilan','Panduan Kehamilan Lengkap untuk Ibu Malaysia','Semua panduan kehamilan Bayi Sihat di satu tempat — dari tanda awal hingga bersalin, bersumber & mudah difahami.'), $pb => array('panduan bayi baru lahir','Panduan Lengkap Bayi 0-12 Bulan','Panduan penjagaan bayi 0-12 bulan paling lengkap dalam BM — penyusuan, tidur, kesihatan, MPASI & tumbesaran.'), $hub => array('alat kalkulator ibu bapa','Alat & Kalkulator Percuma untuk Ibu Bapa','Kalkulator EDD, penjejak kehamilan mingguan, jadual imunisasi, carian nama bayi & semakan berat — semuanya percuma.'), ); foreach ($seo as $pid => $s) { if (!$pid) continue; update_post_meta($pid, 'bs_focus_kw', $s[0]); update_post_meta($pid, 'bs_seo_title', $s[1]); update_post_meta($pid, 'bs_seo_desc', $s[2]); } // Tambah "Alat & Kalkulator" ke menu utama (jika belum ada) $menu = wp_get_nav_menu_object('Menu Utama'); if ($menu && $hub) { $items = wp_get_nav_menu_items($menu->term_id) ?: array(); $has = false; foreach ($items as $it) { if ((int)$it->object_id === (int)$hub) { $has = true; break; } } if (!$has) { wp_update_nav_menu_item($menu->term_id, 0, array( 'menu-item-title'=>'Alat & Kalkulator','menu-item-type'=>'post_type','menu-item-object'=>'page', 'menu-item-object-id'=>$hub,'menu-item-status'=>'publish', )); WP_CLI::log('menu: + Alat & Kalkulator'); } else { WP_CLI::log('menu: Alat & Kalkulator sudah ada'); } } flush_rewrite_rules(false); WP_CLI::success("Halaman alat & pillar siap. hub=$hub edd=$edd imun=$imu nama=$nam berat=$brt minggu=$mgg pillar_h=$ph pillar_b=$pb");