';
}
$selected_posts = get_option('blog_slider_posts', array());
?>
start_controls_section(
'content_section',
[
'label' => 'İçerik Ayarları',
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
]
);
// Blog yazılarını seçme kontrolü
$posts = get_posts([
'post_type' => 'post',
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DESC'
]);
$posts_options = [];
foreach ($posts as $post) {
$posts_options[$post->ID] = $post->post_title;
}
$this->add_control(
'selected_posts',
[
'label' => 'Blog Yazıları',
'type' => \Elementor\Controls_Manager::SELECT2,
'options' => $posts_options,
'multiple' => true,
'default' => array_keys($posts_options),
'description' => 'Slider\'da gösterilecek yazıları seçin. Hiçbir seçim yapılmazsa admin panelinde seçili yazılar gösterilir.'
]
);
$this->add_control(
'autoplay',
[
'label' => 'Otomatik Oynat',
'type' => \Elementor\Controls_Manager::SWITCHER,
'label_on' => 'Evet',
'label_off' => 'Hayır',
'return_value' => 'yes',
'default' => 'yes',
]
);
$this->add_control(
'autoplay_speed',
[
'label' => 'Otomatik Oynatma Hızı (ms)',
'type' => \Elementor\Controls_Manager::NUMBER,
'default' => 5000,
'condition' => [
'autoplay' => 'yes',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'style_section',
[
'label' => 'Stil Ayarları',
'tab' => \Elementor\Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'slider_height',
[
'label' => 'Slider Yüksekliği',
'type' => \Elementor\Controls_Manager::SLIDER,
'size_units' => ['px'],
'range' => [
'px' => [
'min' => 300,
'max' => 1000,
'step' => 10,
],
],
'default' => [
'unit' => 'px',
'size' => 600,
],
'selectors' => [
'{{WRAPPER}} .featured-slider' => 'height: {{SIZE}}{{UNIT}};',
],
]
);
$this->end_controls_section();
}
protected function render() {
$settings = $this->get_settings_for_display();
// Önce widget ayarlarından seçili yazıları kontrol et
$selected_posts = !empty($settings['selected_posts']) ? $settings['selected_posts'] : get_option('blog_slider_posts', array());
// Debug bilgisi
if (current_user_can('manage_options')) {
echo '';
}
if (empty($selected_posts)) {
echo '
Lütfen WordPress admin panelinden Blog Slider menüsünden gösterilecek yazıları seçin.
';
return;
}
$args = array(
'post_type' => 'post',
'post__in' => (array)$selected_posts,
'orderby' => 'post__in',
'posts_per_page' => -1
);
$query = new WP_Query($args);
if ($query->have_posts()) : ?>
have_posts()) : $query->the_post();
$author_id = get_the_author_meta('ID');
$author_avatar = get_avatar_url($author_id, ['size' => 150]);
?>
Seçili yazılar bulunamadı.
register(new Blog_Slider_Widget());
});
// Elementor yüklü değilse uyarı göster
add_action('admin_notices', function() {
if (!did_action('elementor/loaded')) {
echo '
Blog Slider Widget için Elementor eklentisinin yüklü ve aktif olması gerekiyor.
';
}
});