ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
tmp
/
Filename :
setup_tools_new.php
back
Copy
<?php // Register 5 new tool pages (children of /alat/) with SEO meta + FAQ. Run: wp eval-file if (!defined('WP_CLI')) { echo "Run via wp eval-file\n"; return; } $data = json_decode(file_get_contents('/tmp/bstools.json'), true); $byKey = array(); foreach ((array)$data as $t) { if (!empty($t['key'])) $byKey[$t['key']] = $t; } $parent = get_page_by_path('alat'); $pid = $parent ? $parent->ID : 0; if (!$pid) { WP_CLI::warning('Halaman induk /alat/ tidak dijumpai — tool akan jadi top-level.'); } $map = array( array('key'=>'berat-kehamilan', 'slug'=>'kalkulator-berat-kehamilan','title'=>'Kalkulator Kenaikan Berat Masa Hamil','tpl'=>'tpl-alat-berat-kehamilan.php','kw'=>'kalkulator kenaikan berat masa hamil'), array('key'=>'ovulasi', 'slug'=>'kalkulator-ovulasi', 'title'=>'Kalkulator Ovulasi & Masa Subur','tpl'=>'tpl-alat-ovulasi.php','kw'=>'kalkulator ovulasi masa subur'), array('key'=>'milestone-bayi', 'slug'=>'milestone-bayi', 'title'=>'Penjejak Milestone Bayi 0-12 Bulan','tpl'=>'tpl-alat-milestone.php','kw'=>'milestone perkembangan bayi ikut umur'), array('key'=>'kuantiti-susu-bayi','slug'=>'kuantiti-susu-bayi', 'title'=>'Kalkulator Kuantiti Susu Bayi','tpl'=>'tpl-alat-kuantiti-susu.php','kw'=>'kuantiti susu bayi berapa ml'), array('key'=>'kos-bersalin', 'slug'=>'kos-bersalin', 'title'=>'Kalkulator Anggaran Kos Bersalin','tpl'=>'tpl-alat-kos-bersalin.php','kw'=>'kos bersalin kerajaan swasta'), ); foreach ($map as $m) { $c = isset($byKey[$m['key']]) ? $byKey[$m['key']] : array(); $found = get_posts(array('name'=>$m['slug'],'post_type'=>'page','post_status'=>'any','numberposts'=>1,'post_parent'=>$pid,'fields'=>'ids')); if ($found) { $id = $found[0]; } else { $id = wp_insert_post(array('post_title'=>$m['title'],'post_name'=>$m['slug'],'post_status'=>'publish','post_type'=>'page','post_parent'=>$pid,'post_author'=>1), true); if (is_wp_error($id)) { WP_CLI::warning($m['slug'].': '.$id->get_error_message()); continue; } } update_post_meta($id, '_wp_page_template', $m['tpl']); update_post_meta($id, 'bs_focus_kw', $m['kw']); if (!empty($c['metaTitle'])) update_post_meta($id, 'bs_seo_title', html_entity_decode($c['metaTitle'], ENT_QUOTES, 'UTF-8')); if (!empty($c['metaDesc'])) update_post_meta($id, 'bs_seo_desc', html_entity_decode($c['metaDesc'], ENT_QUOTES, 'UTF-8')); if (!empty($c['takeaway'])) update_post_meta($id, 'bs_takeaway', $c['takeaway']); if (!empty($c['faq']) && is_array($c['faq'])) update_post_meta($id, 'bs_faq', wp_json_encode($c['faq'], JSON_UNESCAPED_UNICODE)); WP_CLI::log("page #$id: /alat/{$m['slug']}/ -> {$m['tpl']} (faq: ".(empty($c['faq'])?0:count($c['faq'])).")"); } WP_CLI::success('5 alat baru didaftarkan.');