__('Kişi zaman çizelgesi widgeti', 'text_domain')) ); } public function widget($args, $instance) { echo $args['before_widget']; // Zaman dilimlerini al $zaman_dilimleri = get_option('kisiler_timeline'); $zaman_dilimleri = $zaman_dilimleri ? json_decode($zaman_dilimleri, true) : []; if ($zaman_dilimleri) { echo '
' . esc_html($dilimi['tarih']) . '
'; if ($dilimi['gorsel']) { echo wp_get_attachment_image($dilimi['gorsel'], 'full'); } echo '' . __('Bu widget otomatik olarak zaman çizelgesi verilerini alır.', 'text_domain') . '
'; } public function update($new_instance, $old_instance) { return $new_instance; } } // Widget'ı kaydet function register_kisiler_timeline_widget() { register_widget('Kisiler_Timeline_Widget'); } add_action('widgets_init', 'register_kisiler_timeline_widget'); // Admin sayfası function kisiler_timeline_admin_menu() { add_menu_page('Kişi Zaman Çizelgesi', 'Zaman Çizelgesi', 'manage_options', 'kisiler_timeline', 'kisiler_timeline_admin_page'); } add_action('admin_menu', 'kisiler_timeline_admin_menu'); function kisiler_timeline_admin_page() { if (!current_user_can('manage_options')) { return; } // Form gönderimi kontrolü if (isset($_POST['save_timeline'])) { $zaman_dilimleri = []; foreach ($_POST['tarih'] as $index => $t) { $zaman_dilimleri[] = [ 'tarih' => sanitize_text_field($t), 'baslik' => sanitize_text_field($_POST['baslik'][$index]), 'gorsel' => sanitize_text_field($_POST['gorsel'][$index]) ]; } update_option('kisiler_timeline', json_encode($zaman_dilimleri)); } $zaman_dilimleri = json_decode(get_option('kisiler_timeline'), true); ?>