تركيب سلايدرشو أحترافي متحرك لقالب بلوجر
يُعد السلايدر شو (Slider Show) من العناصر البصرية المهمة في قوالب بلوجر الحديثة، حيث يُستخدم لعرض مجموعة من الصور أو المقالات أو العناوين بشكل متحرك وجذاب في أعلى الصفحة الرئيسية أو في أماكن مخصصة داخل القالب. يهدف السلايدر شو إلى لفت انتباه الزائر منذ اللحظة الأولى لدخوله إلى الموقع، مما يساهم في تحسين تجربة المستخدم وزيادة تفاعله مع المحتوى.يعتمد السلايدر شو على عرض المحتوى بطريقة ديناميكية، حيث يتم التنقل بين الشرائح تلقائيًا أو يدويًا، مما يسمح بعرض أكثر من موضوع في مساحة محدودة دون التسبب في ازدحام أو فوضى بصرية. وغالبًا ما يتم استخدامه لعرض أحدث المقالات، أو المقالات الأكثر مشاهدة، أو الأخبار المهمة، أو العروض الخاصة، مما يساعد صاحب الموقع على إبراز المحتوى الذي يريد التركيز عليه.
من أهم فوائد تركيب السلايدر شو في قوالب بلوجر أنه يعزز الشكل الجمالي للموقع ويمنحه مظهرًا احترافيًا وعصريًا. فالتصميم الجذاب يلعب دورًا كبيرًا في تكوين الانطباع الأول لدى الزائر، وقد يكون سببًا مباشرًا في بقائه داخل الموقع لفترة أطول أو مغادرته بسرعة. كما أن السلايدر شو يساعد على تنظيم المحتوى بصريًا، خاصة في المواقع التي تحتوي على عدد كبير من المقالات.
إضافة إلى ذلك، يساهم السلايدر شو في تحسين معدل النقر على المقالات، لأنه يسلط الضوء على عناوين وصور مختارة بعناية، مما يشجع الزائر على استكشاف المزيد من الصفحات. وهذا الأمر ينعكس إيجابًا على معدل التفاعل وعدد المشاهدات، وهو ما تبحث عنه محركات البحث عند تقييم جودة الموقع.
من الناحية التقنية، فإن السلايدر شو في بلوجر يتميز بسهولة تركيبه وتخصيصه، حيث يمكن التحكم في عدد الشرائح، وسرعة الانتقال، وطريقة العرض، سواء باستخدام الإضافات الجاهزة أو التعديلات اليدوية على القالب. كما أن العديد من قوالب بلوجر توفر سلايدر شو متجاوبًا مع جميع أحجام الشاشات، مما يضمن تجربة استخدام ممتازة على الهواتف الذكية والأجهزة اللوحية.
في الختام، يمكن القول إن السلايدر شو عنصر أساسي في قوالب بلوجر الناجحة، لأنه يجمع بين الجمال والتنظيم والفعالية في عرض المحتوى، ويساهم بشكل كبير في تحسين تجربة المستخدم وزيادة جاذبية الموقع بشكل عام.
تركيب سلايدر شو لقوالب بلوجر
شرح أضافة الأكواد الخاصة بالسلايدر شو
طريقة تركيب هذا السلايدر شو طريقة بسيظ و سهلة و لا تحتاج لأي مجهود
- الذهاب الى المظهر
- تعديل HTML
- لصق الكود بالمكان المناسب سأختار داخل رسائل المدونة الألكترونية
<b:section class='homeslider' id='HomeSlider' maxwidgets='1' showaddelement='no'> <b:widget id='HTML18' locked='true' title='سلايدر المواضيع' type='HTML' version='2' visible='true'> <b:widget-settings> <b:widget-setting name='content'><![CDATA[<!-- mode:random -->]]></b:widget-setting> </b:widget-settings> <b:includable id='main'> <style> #imageslider{width:100%;margin:0 auto 20px;overflow:hidden;position:relative;direction:rtl} .slider-wrap{position:relative;width:100%;padding-top:56.25%;overflow:hidden} .slider-track{position:absolute;top:0;right:0;height:100%;display:flex;transition:transform .6s ease} .slide{min-width:100%;height:100%;position:relative} .slide img{width:100%;height:100%;object-fit:cover} .slide-info{position:absolute;bottom:0;width:100%;padding:70px 15px 20px;color:#fff;text-align:center;background:linear-gradient(to top,#000,transparent)} .post-label{position:absolute;top:25px;right:25px;background:#0066ff;color:#fff;padding:6px 16px;font-size:13px;font-weight:600;border-radius:4px;z-index:5;box-shadow:0 2px 6px rgba(0,0,0,.3);white-space:nowrap} #imageslider button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;opacity:.75;font-size:20px;cursor:pointer;z-index:10} .prev{left:15px} .next{right:15px} #imageslider .slide img{transition:all .6s ease-in-out} #imageslider .slide:hover img{filter:brightness(80%);transform:scale(1.05)} .slide-info b{font-size:22px;line-height:36px} .meta{margin-top:16px;display:flex;justify-content:center;gap:15px;font-size:14px;opacity:.85} .meta span{display:flex;align-items:center;gap:5px} </style> <b:if cond='data:blog.url == data:blog.homepageUrl'> <div id='imageslider'> <div class='slider-wrap'> <div class='slider-track'/> </div> <button class='next'>❮</button> <button class='prev'>❯</button> </div> </b:if> <script> //<![CDATA[ document.addEventListener("DOMContentLoaded", function () { const MODE = "recent"; // recent | random const LIMIT = 10; const AUTO_TIME = 4000; fetch("/feeds/posts/default?alt=json&max-results=20") .then(res => res.json()) .then(data => { let posts = data.feed.entry || []; const track = document.querySelector(".slider-track"); if (!track || posts.length === 0) return; if (MODE === "random") posts.sort(() => 0.5 - Math.random()); posts.slice(0, LIMIT).forEach(post => { const title = post.title.$t; const linkObj = post.link.find(l => l.rel === "alternate"); const link = linkObj ? linkObj.href : "#"; const content = post.content ? post.content.$t : ""; const imgMatch = content.match(/<img.*?src="(.*?)"/i); let imgSrc = imgMatch ? imgMatch[1] : "https://via.placeholder.com/1600x900"; imgSrc = imgSrc.replace(/\/s\d+-c/, "/s1600").split("?")[0]; const label = post.category && post.category.length ? post.category[0].term : "عام"; const author = post.author && post.author.length ? post.author[0].name.$t : ""; const date = post.published ? new Date(post.published.$t).toLocaleDateString('ar',{year:'numeric',month:'long',day:'numeric'}) : ""; const slide = document.createElement("div"); slide.className = "slide"; slide.innerHTML = ` <a href="${link}"> <span class="post-label">${label}</span> <img src="${imgSrc}" alt="${title}"> <div class="slide-info"> <b>${title}</b> <div class="meta"> <span>${author}</span> <span>${date}</span> </div> </div> </a> `; track.appendChild(slide); }); track.appendChild(track.children[0].cloneNode(true)); initSlider(); }); function initSlider() { const slider = document.getElementById("imageslider"); const track = document.querySelector(".slider-track"); const slides = document.querySelectorAll(".slide"); const next = document.querySelector(".next"); const prev = document.querySelector(".prev"); let index = 0; let moving = false; let auto; function move(i) { if (moving) return; moving = true; track.style.transition = "transform .6s ease"; track.style.transform = `translateX(${i * 100}%)`; setTimeout(() => { if (i === slides.length - 1) { track.style.transition = "none"; index = 0; track.style.transform = "translateX(0)"; } moving = false; }, 600); } function startAuto() { auto = setInterval(() => { index++; move(index); }, AUTO_TIME); } function stopAuto() { clearInterval(auto); } next.onclick = () => { stopAuto(); index++; move(index); startAuto(); }; prev.onclick = () => { stopAuto(); if (index === 0) { track.style.transition = "none"; index = slides.length - 1; track.style.transform = `translateX(${index * 100}%)`; } setTimeout(() => { index--; move(index); }, 20); startAuto(); }; slider.addEventListener("mouseenter", stopAuto); slider.addEventListener("mouseleave", startAuto); startAuto(); } }); //]]> </script> </b:includable> </b:widget> </b:section>
التعديلات
ستجد بداخل الكود const AUTO_TIME = 4000; و هو المسول عند مدة حركة الشريحة غير الرقم فقط و ستجد
istener("DOMContentLoaded",function (){const MODE = "recent";const LIMIT = 10
الرقم 10 هي عدد الشرائح المتحركة و recent هي جلب أخر المواضيع اذا اردت مواضيع عشوائية استبدلها بـكلمة random
<head>
ملاحظة
أذا القالب الخاص بك لا يحتوي على مكتبة الايقونات قم بلصق الكود أسفل<link href='https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css' rel='stylesheet'/>
ثم قم بالحفظ
شكرًا لوقتكم واهتمامكم بقراءة موضوع أضافة سلايدر شو أحترافي شريحة واحدة متحرك لقوالب بلوجر . إذا صادفتكم أي مشكلة أثناء استخدام الكود أو كان لديكم أي استفسار، فلا تترددوا في طرحه ضمن التعليقات أو التواصل معنا عبر صفحة الاتصال بنا . ولا تنسوا الانضمام إلى متابعي مدونة هلا تك ليصلكم كل ما هو جديد.
