array(
‘name’ => ‘🥊 მებრძოლები’,
‘singular_name’ => ‘მებრძოლი’,
‘add_new’ => ‘ახალი მებრძოლი’,
‘add_new_item’ => ‘ახალი მებრძოლის დამატება’,
‘edit_item’ => ‘მებრძოლის რედაქტირება’,
‘all_items’ => ‘ყველა მებრძოლი’
),
‘public’ => true,
‘has_archive’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’),
‘menu_icon’ => ‘dashicons-awards’,
‘menu_position’ => 20,
‘rewrite’ => array(‘slug’ => ‘fighters’),
‘show_in_rest’ => true
));
// Events Post Type
register_post_type(‘events’, array(
‘labels’ => array(
‘name’ => ‘📅 ღონისძიებები’,
‘singular_name’ => ‘ღონისძიება’,
‘add_new’ => ‘ახალი ღონისძიება’,
‘add_new_item’ => ‘ახალი ღონისძიების დამატება’,
‘edit_item’ => ‘ღონისძიების რედაქტირება’,
‘all_items’ => ‘ყველა ღონისძიება’
),
‘public’ => true,
‘has_archive’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’),
‘menu_icon’ => ‘dashicons-calendar-alt’,
‘menu_position’ => 21,
‘rewrite’ => array(‘slug’ => ‘events’),
‘show_in_rest’ => true
));
// Media Gallery Post Type
register_post_type(‘media_gallery’, array(
‘labels’ => array(
‘name’ => ‘📹 მედია გალერეა’,
‘singular_name’ => ‘მედია’,
‘add_new’ => ‘ახალი მედია’,
‘add_new_item’ => ‘ახალი მედიის დამატება’
),
‘public’ => true,
‘has_archive’ => true,
‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’),
‘menu_icon’ => ‘dashicons-video-alt3’,
‘menu_position’ => 22,
‘rewrite’ => array(‘slug’ => ‘media’),
‘show_in_rest’ => true
));
}
add_action(‘init’, ‘mma_create_post_types’);
// Add Meta Boxes for Fighters
function mma_add_fighter_meta_boxes() {
add_meta_box(
‘fighter_details’,
‘მებრძოლის დეტალები’,
‘mma_fighter_details_callback’,
‘fighters’,
‘normal’,
‘high’
);
}
add_action(‘add_meta_boxes’, ‘mma_add_fighter_meta_boxes’);
function mma_fighter_details_callback($post) {
wp_nonce_field(‘mma_save_fighter_details’, ‘fighter_nonce’);
$record = get_post_meta($post->ID, ‘_fighter_record’, true);
$weight_class = get_post_meta($post->ID, ‘_weight_class’, true);
$rank = get_post_meta($post->ID, ‘_fighter_rank’, true);
$wins = get_post_meta($post->ID, ‘_fighter_wins’, true);
$losses = get_post_meta($post->ID, ‘_fighter_losses’, true);
$draws = get_post_meta($post->ID, ‘_fighter_draws’, true);
echo ‘
‘;
}
// Save Fighter Meta Data
function mma_save_fighter_details($post_id) {
if (!isset($_POST[‘fighter_nonce’]) || !wp_verify_nonce($_POST[‘fighter_nonce’], ‘mma_save_fighter_details’)) return;
if (defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) return;
if (!current_user_can(‘edit_post’, $post_id)) return;
$meta_fields = array(‘fighter_record’, ‘weight_class’, ‘fighter_rank’, ‘fighter_wins’, ‘fighter_losses’, ‘fighter_draws’);
foreach ($meta_fields as $field) {
if (isset($_POST[$field])) {
if (in_array($field, array(‘fighter_rank’, ‘fighter_wins’, ‘fighter_losses’, ‘fighter_draws’))) {
update_post_meta($post_id, ‘_’ . $field, intval($_POST[$field]));
} else {
update_post_meta($post_id, ‘_’ . $field, sanitize_text_field($_POST[$field]));
}
}
}
}
add_action(‘save_post’, ‘mma_save_fighter_details’);
// Add Meta Boxes for Events
function mma_add_event_meta_boxes() {
add_meta_box(
‘event_details’,
‘ღონისძიების დეტალები’,
‘mma_event_details_callback’,
‘events’,
‘normal’,
‘high’
);
}
add_action(‘add_meta_boxes’, ‘mma_add_event_meta_boxes’);
function mma_event_details_callback($post) {
wp_nonce_field(‘mma_save_event_details’, ‘event_nonce’);
$event_date = get_post_meta($post->ID, ‘_event_date’, true);
$event_location = get_post_meta($post->ID, ‘_event_location’, true);
$main_event_fighter1 = get_post_meta($post->ID, ‘_main_event_fighter1’, true);
$main_event_fighter2 = get_post_meta($post->ID, ‘_main_event_fighter2’, true);
$event_status = get_post_meta($post->ID, ‘_event_status’, true);
echo ‘
‘;
}
// Save Event Meta Data
function mma_save_event_details($post_id) {
if (!isset($_POST[‘event_nonce’]) || !wp_verify_nonce($_POST[‘event_nonce’], ‘mma_save_event_details’)) return;
if (defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) return;
if (!current_user_can(‘edit_post’, $post_id)) return;
$meta_fields = array(‘event_date’, ‘event_location’, ‘main_event_fighter1’, ‘main_event_fighter2’, ‘event_status’);
foreach ($meta_fields as $field) {
if (isset($_POST[$field])) {
update_post_meta($post_id, ‘_’ . $field, sanitize_text_field($_POST[$field]));
}
}
}
add_action(‘save_post’, ‘mma_save_event_details’);
// Admin Dashboard Widget
function mma_dashboard_widget() {
wp_add_dashboard_widget(
‘mma_dashboard_widget’,
‘🥊 MMA სარჩევი’,
‘mma_dashboard_widget_display’
);
}
add_action(‘wp_dashboard_setup’, ‘mma_dashboard_widget’);
function mma_dashboard_widget_display() {
$fighters_count = wp_count_posts(‘fighters’)->publish;
$events_count = wp_count_posts(‘events’)->publish;
$news_count = wp_count_posts(‘post’)->publish;
echo ‘
‘;
echo ‘
‘ . $fighters_count . ‘
მებრძოლი
‘;
echo ‘
‘ . $events_count . ‘
ღონისძიება
‘;
echo ‘
‘ . $news_count . ‘
სიახლე
‘;
echo ‘
‘;
echo ‘
‘;
}
// Add Admin Notice
function mma_admin_notice() {
echo ‘
‘;
echo ‘
🥊 MMA Manager Plugin აქტიურია! ახლა შეგიძლიათ მებრძოლების და ღონისძიებების დამატება.
‘;
echo ‘
‘;
}
add_action(‘admin_notices’, ‘mma_admin_notice’);
// Plugin activation
function mma_plugin_activate() {
mma_create_post_types();
flush_rewrite_rules();
}
register_activation_hook(__FILE__, ‘mma_plugin_activate’);
// Plugin deactivation
function mma_plugin_deactivate() {
flush_rewrite_rules();
}
register_deactivation_hook(__FILE__, ‘mma_plugin_deactivate’);
?>