سعيد البقالي

تصميم وتطوير المواقع وتطوير وبرمجة قوالب ووردبريس وإضافات ووردبريس

  • الرئيسية
  • المدونة
  • راسلني
أنت في:الرئيسية / شرحات ووردبريس / طريقة تعيين الصورة البارزة تلقائيا لمقالات ووردبريس

طريقة تعيين الصورة البارزة تلقائيا لمقالات ووردبريس

29 سبتمبر، 2014 20 تعليق

موضوعنا اليوم هو حول طريقة تعيين صورة بارزة تلقائيا للمقالات في ووردبريس, وذلك ردا على سؤال أحد زوار الموقع في تدوينة فرض صورة بارزة الذي هو التالي:

كنت استخدم قالب Goodnews والصور المصغرة تظهر في الموضوع تلقائيا طبعا ريحني من استخدام الصورة البارزة الان نصبت قالب صحيفة ولا يدعم timthumb يعني احتاج تحديث 1000 مقال ووضع صور بارزة وهذا ياخذ وقت وجهد بحثت عن حلول ولم أجد هل لديك حل لهذه المشكلة.

في هذه الحالة وضع صور بارزة لكل المقالات يدويا قد يكون أمر مرهقا جدا… لكن لحسن الحظ في ووردبريس دائما هناك حلول سهلمة لكل شيء تقريبا.

هناك عدة طرق لحل هذه المشكلة لكن في هذه التدوينة سأتطرق لشرح إثنين منهم:

وضع صورة بارزة تلقائيا بواسطة كود.

فقط عليك وضع هذا الكود في ملف functions.php أو لإضافتك المخصصة

function sb_auto_post_thumbnail() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
    if (!$already_has_thumb) {
        $attached_image = get_children(
            array(
                'numberposts' => '1',
                'post_parent' => $post->ID,
                'post_type' => 'attachment',
                'post_mime_type' => 'image',

            )
        );
        if ($attached_image) {
            foreach ($attached_image as $attachment_id => $attachment) {
                set_post_thumbnail($post->ID, $attachment_id);
            }
        } else {
            set_post_thumbnail($post->ID, '1638');
        }
    }
}
add_action('save_post', 'sb_auto_post_thumbnail');

بعدها قم بإستبدالرقم 1638 (السطر 20) بالرقم المعرف (ID) الخاص بالصورة التي تريد أن تكون كصورة بارزة إفتراضية للمقالات التي لا تحتوي على أي صورة.

طريقة معرفة ID الصور

لمعرفة معرفة ID أي صورة فقط عليك الدخول إلى مكتبة الوسائط بعدها النقر على الصورة التي تريد أخد رقمها المعرف (ID) و سيظهر لك هذا الأخير في آخر الرابط كما هو واضح في الصورة.

وضع صورة بارزة تلقائيا في ووردبريس

شرح الكود

أولا نقوم بالتحقق من وجود أو عدم وجود صورة بارزة من خلال الوظيفة has_post_thumbnail($post->ID) و تخزين النتيجة في المتغير $already_has_thumb

$already_has_thumb = has_post_thumbnail($post->ID);

في حالة عدم وجود صورة بارزة نقوم بإستخراج أول صورة موجودة في المقال بواسطة الوظيفة get_children()

if (  !$already_has_thumb) {
$attached_image = get_children(
  array(
    'numberposts' => '1',
    'post_parent' => $post->ID,
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
  )
);

بعدها نقوم بتعيين الصورة المستخرة كصورة بارزة للمقالة.

if ($attached_image) {
  foreach ($attached_image as $attachment_id => $attachment) {
    set_post_thumbnail($post->ID, $attachment_id);
  }
}

و في حالة عدم عدم توفر أي شرط, أي عدم وجود لا صورة بارزة و لا أي صورة داخل المقال نقوم بإظهار الصورة الإفتراضية.

  //
else {
  set_post_thumbnail($post->ID, '1638');
}

و في الأخير نقوم بإضافة الوظيفة التي قمنا بإنشائها إلى الخطافات save_post المناسبة بواسطة الوظيفة add_action.

add_action('save_post', 'sb_auto_post_thumbnail');

وضع صورة بارزة تلقائيا بواسطة إضافة.

إذا لم تكن لديك الخبرة الكافية للتعامل مع الأكواد, بإمكانك استعمال إضافة Automatically set 1st image as featured
هذه الإضافة تقوم بنفس عمل الكود السابق لكنها لا تتوفر على خاصية الصورة الإفتراضية، أحسن ما فيها هو أنها لا تحتاج لأي تعديل أو إعداد.

في الأخير أقترح عليك تنصيب إضافة Regenerate Thumbnails التي تقوم بإعادة توليد الصور المصغّرة لكي تتوافق مع القياسات المعتمد في القالب المفعّل.

تدوينات أخرى قد تهمك

  • طريقة إضافة نجوم تقييم المقالات في ووردبريسطريقة إضافة نجوم تقييم المقالات في ووردبريس
  • إستبعاد تصنيف من ودجت تصنيفاتكيف يمكنك إستبعاد تصنيف من الودجة تصنيفات
  • إضافة هاشتاج تلقائيا للمواضيع المنشورة بواسطة Jetpackإضافة هاشتاق تلقائيا للمواضيع المنشورة بواسطة Jetpack
  • وضع الإعلانات بعد فقرة معينة في ووردبريسطريقة وضع الإعلانات داخل محتوى المقالة في ووردبريس
  • عرض آخر المستخدمين المسجلين في ووردبريسعرض آخر المستخدمين المسجلين على ووردبريس
  • التعديل على ودجت “منوعات”كيفية التعديل على الودجة “منوعات”

عن سعيد البقالي

من مواليد 1984م بالمغرب, مطور قوالب وإضافات ووردبريس و مبرمج php بخبرة تفوق 8 سنوات، أكتب تدوينات في موقعي هذا بين الفينة و الأخرى حول تطوير الويب وووردبريس على وجه الخصوص منذ سنة 2012، لدي مساهمات في تطوير نواة ووردبريس والترجمة إلى اللغة العربية. أتمنا أن يروق لكم كل ما أقدمه.

أضف رأيك حول الموضوع


المرجو الكتابة باللغة العربية الفصحى لكي يفهم الجميع و شكرا

  1. محمد عكفي قال

    29 سبتمبر، 2014 بتوقيت 8:25 مساءً

    لاشك أنّ البعض يرغب في تغيير قالبه الخاص ولكن قد يفقد الصورة البارزة ولكن بفضل الله ثم بفضل هذه الأكواد التي وضعتها ستحل الكثير من الإشكالات، اشكرك أخي سعيد على هذا الموضوع الهام والذي ينتظره الكثير .

    تحياتي لك.

    رد
    • سعيد البقالي قال

      29 سبتمبر، 2014 بتوقيت 9:03 مساءً

      الشكر لك أخي محمد على الزيارة و التشجيع المستمر, يفرحنى معرفة أن الموضوع قد اعجبك 🙂

      رد
  2. احمد قال

    29 سبتمبر، 2014 بتوقيت 9:14 مساءً

    مجهود رائع يا اخ سعيد بارك الله فيك

    رد
  3. radwan hallak قال

    29 سبتمبر، 2014 بتوقيت 10:27 مساءً

    شكرا اخ سعيد بارك الله فيك . وماشاء الله المظهر الجديد للموقع رائع بالتوفيق

    رد
  4. ابو صلاح قال

    30 سبتمبر، 2014 بتوقيت 7:45 صباحًا

    عدرا لكن نقطة الحصول على ال ID لاستبداله بالرقم غير واضحة . كيف أحصل على ال ID؟

    رد
    • سعيد البقالي قال

      30 سبتمبر، 2014 بتوقيت 2:02 مساءً

      السلام عليكم,
      فقط عليك الدخول إلى مكتبة الوسائط بعدها النقر على الصورة التي تريد أخد رقمها المعرف (ID)و سيظهر لك هذا الأخير في آخر الرابط كما هو واضح في الصورة.

      رد
  5. احمد قال

    1 أكتوبر، 2014 بتوقيت 1:01 صباحًا

    أخ سعيد الطريقة لاتنفع مع القالب صحيفه و بعض القوالب المدفوعة لان تحتاج سكربت او صنع ملف timthumb داخل الثيم نفسه وصنع مجلد كاش خاص فيه وتعديل عل اربع ملفات وهي functions.php و index و archive و style ووضع كود استدعاء للمصغرات بداخلها
    تابع هذا الشرح وارجو اضافته ضمن المقال

    رد
    • سعيد البقالي قال

      1 أكتوبر، 2014 بتوقيت 4:15 مساءً

      السلام عليكم أخي,

      الشرح الذي وضعته قديم جدا, كان يستعمل قبل ان يتم إضافة الصور المصغرة بشكل إفتراضي في ووردبريس, حاليا و منذ النسخة 2.9 ووردبريس أصبح يدعم الصور المصغرة إفتراضيا.

      أما بالنسبة لتطبيق TimThumb فقد أعلن مطوره التخلي عنه مأخرا و أوصى بعدم إستعماله… يمكنك قراءة المنشور من هنا

      أنصحك باللجوء إلى الدعم الفني لقالب صحيفة لأنه قالب مدفوع و يتوفر على دعم خاص من طرف صاحبه.

      رد
  6. احمد قال

    2 أكتوبر، 2014 بتوقيت 1:05 صباحًا

    شكرا سعيد على هذه المعلومات
    فقدقمت بشراء ثيم قود نيوز الاصدار 5+ بصراحة يمكنك الاستغناء عن اضافات كثيرة منها الجت باك الثيم يدعم المصغرات
    والتحكم به سلس جدا والتحكم بالصور ومقاساتها دون اضافات ولا تعديل على ملفات يمكنك زيارة موقعي.

    رد
  7. سعودي انحراف قال

    13 أكتوبر، 2014 بتوقيت 3:53 صباحًا

    اشكرك جزيل الشكر اخوي وكنت اتمنى الحصول على شرح اضافة صوره بارزه تلقائي من نفس التدوينه

    رد
    • سعيد البقالي قال

      13 أكتوبر، 2014 بتوقيت 3:13 مساءً

      السلام عليكم أخي, هذا الشرح هو مخصص لعمل ذلك.

      بالتوفيق إنشاء الله.

      رد
  8. أبا الهيثم قال

    7 ديسمبر، 2014 بتوقيت 8:00 مساءً

    شكرا لك استاذ سعيد
    بس ياريت لو توصح لنا في أي مكان بالضبط نضع الكود بعد أي امر أو سطر في ملف functions.php

    رد
  9. محمد ابومعاذ قال

    25 ديسمبر، 2014 بتوقيت 8:39 صباحًا

    بارك الله فيك .. شرحت واوفيت
    من فضلك ( طالما دخلنا في الاكواد )
    القائمة الافقية اعلى الموقع .. التي تعرض اقسام الموقع او التصنيفات .. ايا كان اسمها
    تعرض الاقسام حسب الترتيب الابجدي … كيف استطيع ان اقوم بالترتيب في هذه القائمة حسب ما اريد ؟؟؟
    واشكرك مقدما

    رد
    • سعيد البقالي قال

      25 ديسمبر، 2014 بتوقيت 9:03 مساءً

      يمكنك التحكم في طريقة ظهور القوائم من خلال لوحة تحكم ووردبريس, و ذلك بالولوج إلى المظهر=> القوائم.

      بالتوفيق

      رد
  10. ربيع الخير قال

    17 مايو، 2015 بتوقيت 3:30 مساءً

    وفقك الله استاذ سعيد والله استفدنا منك جدا
    عندك المشاركة في توتير او فيسبوك ايضا لا يظهر الكود

    رد
    • سعيد البقالي قال

      17 مايو، 2015 بتوقيت 3:55 مساءً

      شكراً لك على التنبيه عزيزي ربيع، تم حذف الخاصية من هذا الموضوع لتفادي المشاكل 🙂

      رد
  11. جنة قال

    15 ديسمبر، 2016 بتوقيت 9:52 صباحًا

    سلمت يداك.
    الشرح جميل ومميز.

    رد
    • سعيد البقالي قال

      15 ديسمبر، 2016 بتوقيت 2:19 مساءً

      الله يسلكم أخي العفو 🙂

      رد
  12. عمر علي قال

    3 يونيو، 2017 بتوقيت 12:45 مساءً

    اخي الكريم شكرا على الطريقة لكنها لا تنفع مع تخصص موقعي
    اخويه انا املك موقع لعرض الصور فانا محتاج لطريقة تجعل اول صوره فى الموضوع
    كصوره بارزه هل هناك من طريقة او اضافه لذلك؟؟

    رد
    • سعيد البقالي قال

      11 يوليو، 2017 بتوقيت 9:42 مساءً

      الكود يعمل بشكل جيد، كذلك في آخر التدوينة قمت بذكر إضافة تقوم بنفس عمل الكود يمكنك استعمالها في حالة عدم معرفتك بأمور تطوير ووردبريس والتعامل مع الأكواد.

      رد

أضف رأيك حول الموضوع إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

التصنيفات

  • إضافات ووردبريس
  • تحسين الأرشفة في محركات البحث
  • شرحات ووردبريس
  • قوالب ووردبريس
  • مقالات و أخبار
@arabwordpress

الإشتراك في القائمة البريدية

اشترك في القائمة البريدية و توصّل بجديد الموقع على بريدك الإلكتروني، شرحات ومقالات حصرية في انتظارك!

نظيف من البريد المزعج ويمكنك حذف اشتراكك وقتما تشاء.

كل الحقوق محفوظة © 2012 | 2019 سعيد البقالي