كيفية التعديل على الودجة “منوعات”

التعديل على ودجت “منوعات”

اليوم سنتعلم طريقة التعديل على الودجة “منوعات” قمت بكتابة هذا الموضوع رداً على سؤال أحد زوار المدونة.
الودجة منوعات تحتوي على روابط مثل “تسجيل” “تسجيل الدخول” “خلاصة آخر المقالات RSS”…

التعديل على ودجت “منوعات”

في بعض الأحيان قد يكون مفيداً حذف بعض هذه الروابط لأننا نتوفر عليها في مكان آخر من موقعنا, أو إضافة روابط أخرى قد نجدها أكثر إفادة من الروابط الإفتراضية. المشكل أننا لا نستطيع عمل هذا مباشرة من لوحة تحكم ووردبريس لهذا يتوجب علينا الدخول إلى ملفات موقعنا عبر FTP لعمل تعديلات على ملف class-wp-widget-meta.php.

ستكون مجبراً على عمل هذه التعديلات كلما قمت بتحديث نسخة ووردبريس, لأنه بعد التحديث كل ملفات ووردبريس ترجع إلى وضعها الإفتراضي.

حسناً. فلنبدأ بالعمل.

اقرأ أيضا: إضافة تويتر الرسمية على ووردبريس

أول شيء يجب علينا فعله هو الدخول للإستضافة بواسطة أي برنامج FTP تفضله, أنا أستعمل Filezilla.
بعدها ندخل إلى الملف الذي قمنا بتنصيب ووردبريس داخله. هنا سنبحث عن ملف إسمه wp-includes/widgets و نقوم بالدخول إليه. بعد ذلك نبحث عن ملف إسمه class-wp-widget-meta.php و نقوم بفتحه بمحرر النصوص المفضل لدينا. أنا أستعمل Sublime text.

الآن نقوم بالبحث عن الكود التالي (يمكنك الضغط على ctrl+f و البحث عن كلمة meta).

<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<li><a href="<?php echo esc_url( get_bloginfo( 'rss2_url' ) ); ?>"><?php _e( 'Entries feed' ); ?></a></li>
<li><a href="<?php echo esc_url( get_bloginfo( 'comments_rss2_url' ) ); ?>"><?php _e( 'Comments feed' ); ?></a></li>
<?php
/**
 * Filters the "WordPress.org" list item HTML in the Meta widget.
 *
 * @since 3.6.0
 * @since 4.9.0 Added the `$instance` parameter.
 *
 * @param string $html     Default HTML for the WordPress.org list item.
 * @param array  $instance Array of settings for the current widget.
 */
echo apply_filters(
	'widget_meta_poweredby',
	sprintf(
		'<li><a href="%1$s">%2$s</a></li>',
		esc_url( __( 'https://wordpress.org/' ) ),
		__( 'WordPress.org' )
	),
	$instance
);

wp_meta();
?>
</ul>

بعد العثور على الكود المطلوب, يمكنك حذف الروابط التي لا تحتاجها أو إضافة أي شيء تريده عبر أكواد php أو وسوم html.
مثلا سأقوم بحذف “خلاصة آخر المقالات” “خلاصة التعليقات” wordpress.org وترك فقط “تسجيل الدخول” “تسجيل” “إدارة الموقع” “تسجيل الخروج”.
الكود سيصبح كالثالي:

اقرأ أيضا: كيفية عرض مواضيع تابعة لنفس الكاتب في ووردبريس

<ul>
	<?php wp_register(); ?>
	<li><?php wp_loginout(); ?></li>
	<?php wp_meta(); ?>
</ul>

نقوم بحفض التغييرات في محرر النصوص, و عندما يسألك برنامج Filezilla إذا كنت تريد إستبدال الملف إضغط على نعم.

close

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

أنا لا أرسل أبدا البريد المزعج! اقرأ سياسة الخصوصية لمزيد من المعلومات.

13 تعليق

  1. جزاك الله خير الجزاء على صنيعك هذا واحتسبة في موازين حسناتك.

    ابتداءً اشكرك جزيل الشكر على سرعة استجابتك الكريمة هذه، وعلى هذا الشرح الرائع الذي اعتقد انك قد اتفردت فيه.

    اخي ان سمحت، احترت في حذف رابط wordpress.org فهلا تركرمت بمساعدتي في هذا الأمر فيما اشكل عليَّ ولك جزيل الشكر والامتنان.

    1. ‘,
      esc_url( __( ‘http://wordpress.org/’ ) ),
      esc_attr__( ‘Powered by WordPress, state-of-the-art semantic personal publishing platform.’ ),
      _x( ‘WordPress.org’, ‘meta widget link text’ )
      ) ); ?>
      [/code]

  • اخجلتني بعطفك هذا اخي الكريم.

    لك كل الشكر والامتنان على هذه المساعدة وعلى سرعة الرد.

    نعم اخي، قد نفع الحل الذي تكرمت فيه.

    دمت بحفظ الرحمن

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

  • أخي الكريم جزاك الله خيرا عندي مشكل بسيط في مدونتي وهو عند تسجيل عضو جديد لايصله ايميل التفعيل ما الحل جزاك الله عنا

    1. السلام عليكم أخي, ووردبريس افتراضيا لا يقوم بإرسال رابط التفعيل بل يقوم بإرسال كلمة المررور للبريد التي تم التسجيل بواسطته و هذا لتفادي السبام …

      إذا كنت تريد تفعيل خاصية ارسال رابط التفعيل عليك استعمال أحد اﻹضافات مثل Pie Register أو Theme My Login.

      بالتوفيق.

      1. بارك الله فيك أخي و جزاك خيرا

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

        ما الحل أخي جزاك الله خيرا

  • شكرا لك أخي سعيد على الشرح، فقط أحببت أن أوضح أن التعديل على ملفات ووردبريس هو أمر غير منصوح به إطلاقا، وأحسبك تعلم ذلك، خصوصا وأن ذلك سيتطلب إجراء نفس التعديلات عند كل تحديث، وهو أمر غير عملي بالمرة، ولهذا وجدت الإضافات لإضافة إمكانيات جديدة لووردبريس بعيدا عن ملفات ووردبريس الأصلية.
    يمكن حل المشكلة التي تم التطرق إليها في موضوعك هذا عن طريق استعمال إضافات خصصت لهذا الغرض، وعند بحثي عثرت على الإضافتين التاليتين:

    https://wordpress.org/plugins/custom-meta-widget/

    https://wordpress.org/plugins/customize-meta-widget/

    فيكفي إذن عدم استعمال إضافة meta الأصلية واستبدالها بإحدى الإضافتين اللتين تتيحان تخصيصهما حسب الرغبة.
    بارك الله فيك. تحياتي.

    1. لا شكر على واجب أخي عبد الهادي

      جربت الإضافتين لكنها يحدثان خطأ … لم يحدث معك نفس الشيء؟

      تحياتي 🙂

      1. أهلا بك أخي سعيد.
        في الواقع أنا لم أجرب الإضافتين، لذلك قلت في تعليقي السابق أنني عثرت عليهما من خلال البحث وقد راعيت أن يكون تقييمها جيدا، وذلك لأن أي حل يبقى أفضل من التعديل على ملفات ووردبريس فهو أمر غير منصوح به إطلاقا. أنا لا أستعمل ودجت الذي يتضمن تلك الروابط، لذلك ربما لم تتح لي فرصة تجربة بديل، لكن قطعا هناك حل أفضل من التعديل على ملفات ووردبريس.
        أيضا من الحلول التي يمكن المرء أن يلجأ إليها هي إجراء تعديل على المربع الأصلي لكن من خلال ملف [code lang=”php” inline=true]funcitons.php[/code] الخاص بالقالب، ولمثل هذه الأمور وجد ذلك الملف، وقد وجدت للتو حلا يدخل في هذا السياق، حيث اقترح أحدهم كودا يقوم بتعديل كود ودجت Meta من خلال ملف [code lang=”php” inline=true]funcitons.php[/code]، والكود موجود في التعليق التالي على موقع الدعم الخاص بووردبريس:
        [code lang=”none” inline=true]https://wordpress.org/support/topic/edit-meta-widget-in-theme-file#post-4315464[/code]
        ملاحظة: لم أجرب ذلك الكود، لكن المعلقين يقولون إنه يعمل.
        تحياتي.

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

        هو تقريبا نفس الكود المستعمل في الإضافتين السابقتين، أظن أن الخطأ يحدث عند استعمال الوظيفة [code lang=”php” inline=true]unregister_widget();[/code] على الأقل معي …

        سوف أتأكد من الأمر و بعدها سأقوم بتحرير التدوينة.

        شكرا على إضافتك القيمة للموضوع، تعليقات مثل تعليقاتك تكاد أن تكون منعدمة في المحتوى العربي.

        تحياتي

  • اترك تعليقًا

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