87 lines
4.3 KiB
PHP
87 lines
4.3 KiB
PHP
<?php defined( 'ABSPATH' ) || exit; ?>
|
|
<?php
|
|
/**
|
|
* Registrasi Seluruh Custom Post Type (CPT) Native EduKarsa
|
|
*/
|
|
function edukarsa_register_all_cpt() {
|
|
register_post_type( 'slider', array(
|
|
'labels' => array('name' => 'Semua Slider', 'singular_name' => 'Slider', 'add_new_item' => 'Tambah Slider'),
|
|
'supports' => array('title', 'thumbnail'), 'public' => false, 'show_ui' => true, 'show_in_menu' => false
|
|
));
|
|
register_post_type( 'program', array(
|
|
'labels' => array('name' => 'Semua Program', 'singular_name' => 'Program', 'add_new_item' => 'Tambah Program'),
|
|
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'), 'public' => true, 'show_ui' => true, 'show_in_menu' => false
|
|
));
|
|
register_post_type( 'milestone', array(
|
|
'labels' => array('name' => 'Semua Milestone', 'singular_name' => 'Milestone', 'add_new_item' => 'Tambah Milestone'),
|
|
'supports' => array('title', 'excerpt'), 'public' => false, 'show_ui' => true, 'show_in_menu' => false
|
|
));
|
|
register_post_type( 'keunggulan', array(
|
|
'labels' => array('name' => 'Semua Keunggulan', 'singular_name' => 'Keunggulan', 'add_new_item' => 'Tambah Keunggulan'),
|
|
'supports' => array('title', 'editor'), 'public' => false, 'show_ui' => true, 'show_in_menu' => false
|
|
));
|
|
register_post_type( 'faq', array(
|
|
'labels' => array('name' => 'Semua FAQ', 'singular_name' => 'FAQ', 'add_new_item' => 'Tambah FAQ Baru', 'all_items' => 'Semua FAQ'),
|
|
'supports' => array('title', 'editor'), 'public' => false, 'show_ui' => true, 'show_in_menu' => false
|
|
));
|
|
}
|
|
add_action( 'init', 'edukarsa_register_all_cpt', 0 );
|
|
|
|
// METABOX UNTUK LINK SLIDER
|
|
function edukarsa_slider_meta_box() {
|
|
add_meta_box( 'slider_link_meta', 'Tautan (URL) Slider', 'edukarsa_slider_meta_callback', 'slider', 'normal', 'high' );
|
|
}
|
|
add_action( 'add_meta_boxes', 'edukarsa_slider_meta_box' );
|
|
|
|
function edukarsa_slider_meta_callback( $post ) {
|
|
wp_nonce_field( 'edukarsa_slider_save', 'edukarsa_slider_meta_nonce' );
|
|
$value = get_post_meta( $post->ID, '_slider_link', true );
|
|
echo '<p>Masukkan URL tujuan jika pengunjung mengklik gambar slider ini (opsional).</p>';
|
|
echo '<input type="url" id="slider_link" name="slider_link" value="' . esc_attr( $value ) . '" style="width:100%; padding:8px;" placeholder="https://..." />';
|
|
}
|
|
|
|
function edukarsa_slider_save_meta( $post_id ) {
|
|
if ( ! isset( $_POST['edukarsa_slider_meta_nonce'] ) || ! wp_verify_nonce( $_POST['edukarsa_slider_meta_nonce'], 'edukarsa_slider_save' ) ) return;
|
|
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
|
|
if ( isset( $_POST['slider_link'] ) ) { update_post_meta( $post_id, '_slider_link', sanitize_text_field( $_POST['slider_link'] ) ); }
|
|
}
|
|
add_action( 'save_post', 'edukarsa_slider_save_meta' );
|
|
|
|
// --- REGISTRASI CPT GALERI & TAXONOMY ---
|
|
function edukarsa_register_galeri_cpt() {
|
|
register_post_type( 'galeri', array(
|
|
'labels' => array(
|
|
'name' => 'Galeri Fasilitas',
|
|
'singular_name' => 'Galeri',
|
|
'add_new_item' => 'Tambah Foto Galeri',
|
|
'all_items' => 'Semua Foto Galeri'
|
|
),
|
|
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
|
|
'public' => true,
|
|
'show_ui' => true,
|
|
'show_in_menu' => false,
|
|
'menu_icon' => 'dashicons-format-gallery'
|
|
));
|
|
|
|
register_taxonomy( 'kategori_galeri', 'galeri', array(
|
|
'labels' => array('name' => 'Kategori Galeri', 'singular_name' => 'Kategori', 'add_new_item' => 'Tambah Kategori'),
|
|
'hierarchical' => true,
|
|
'public' => true,
|
|
'show_ui' => true,
|
|
'show_admin_column' => true,
|
|
'show_in_menu' => false
|
|
));
|
|
}
|
|
add_action( 'init', 'edukarsa_register_galeri_cpt', 0 );
|
|
|
|
// --- NOTIFIKASI PANDUAN RESOLUSI SLIDER ---
|
|
function edukarsa_slider_admin_notice() {
|
|
$screen = get_current_screen();
|
|
if ( isset($screen->post_type) && $screen->post_type === 'slider' ) {
|
|
echo '<div class="notice notice-info is-dismissible" style="border-left-color: #0b4a8e;">
|
|
<p><strong>💡 Panduan Resolusi Gambar:</strong> Untuk tampilan terbaik tanpa pecah, gunakan gambar beresolusi <strong>1920x1080 piksel (16:9)</strong> pada kotak <em>Gambar Unggulan (Featured Image)</em> di sisi kanan bawah.</p>
|
|
</div>';
|
|
}
|
|
}
|
|
add_action('admin_notices', 'edukarsa_slider_admin_notice');
|