45 lines
2.5 KiB
PHP
45 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* File ini menangani pembuatan Custom Post Type (CPT)
|
|
* beserta Custom Meta Box untuk Tautan (Link) Slider.
|
|
*/
|
|
|
|
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
|
|
));
|
|
}
|
|
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' ); |