feat: integrasi modul FAQ accordion native dan input jam kerja multi-baris
This commit is contained in:
+47
-45
@@ -1,45 +1,47 @@
|
||||
<?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' );
|
||||
<?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' );
|
||||
|
||||
Reference in New Issue
Block a user