اليوم سنتعلم طريقة التعديل على الودجة “منوعات” قمت بكتابة هذا الموضوع رداً على سؤال أحد زوار المدونة.
الودجة منوعات تحتوي على روابط مثل “تسجيل” “تسجيل الدخول” “خلاصة آخر المقالات 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 إذا كنت تريد استبدال الملف انقر على نعم.
عدنان قال
جزاك الله خير الجزاء على صنيعك هذا واحتسبة في موازين حسناتك.
ابتداءً اشكرك جزيل الشكر على سرعة استجابتك الكريمة هذه، وعلى هذا الشرح الرائع الذي اعتقد انك قد اتفردت فيه.
اخي ان سمحت، احترت في حذف رابط wordpress.org فهلا تركرمت بمساعدتي في هذا الأمر فيما اشكل عليَّ ولك جزيل الشكر والامتنان.
سعيد البقالي قال
الشكر لك على المرور أخي.
لحذف رابط ووردبريس فقط قم بمسح هذا الكود:
[code lang=”php”]
%s
‘,
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]
عدنان قال
اخجلتني بعطفك هذا اخي الكريم.
لك كل الشكر والامتنان على هذه المساعدة وعلى سرعة الرد.
نعم اخي، قد نفع الحل الذي تكرمت فيه.
دمت بحفظ الرحمن
المختار الجزائري قال
جزاك الله خيرا
انتفعت كثيرا من مقالاتك ومواضيعك ووزعت رابط موقعك على اصدقائي
ونصحتهم بزيارتك
اتمنى ان تستمر بالمزيد فنحن نتابعك وتهمّنا كثيرا خبرتك وتجاربك
تقبّل مروري اخي وجاري الكريم
سعيد البقالي قال
شكرا لك على المرور و على مشاركة الموقع مع أصدقائك, أتمنا ان اكون دائما عند حسن الظن.
عادل قال
تم بنجاح شكرا لك
عبد الغني قال
أخي الكريم جزاك الله خيرا عندي مشكل بسيط في مدونتي وهو عند تسجيل عضو جديد لايصله ايميل التفعيل ما الحل جزاك الله عنا
سعيد البقالي قال
السلام عليكم أخي, ووردبريس افتراضيا لا يقوم بإرسال رابط التفعيل بل يقوم بإرسال كلمة المررور للبريد التي تم التسجيل بواسطته و هذا لتفادي السبام …
إذا كنت تريد تفعيل خاصية ارسال رابط التفعيل عليك استعمال أحد اﻹضافات مثل Pie Register أو Theme My Login.
بالتوفيق.
عبد الغني قال
بارك الله فيك أخي و جزاك خيرا
نعم أخي الكريم هذه هي المشكلة عند التسجيل في مدونتي لا ترسل كلمة المرور الى الاميل أبدا لكن صاحب الايميل يظهر كمسجل عندي في قائمة اليوزر…
ما الحل أخي جزاك الله خيرا
عبد الهادي اطويل قال
شكرا لك أخي سعيد على الشرح، فقط أحببت أن أوضح أن التعديل على ملفات ووردبريس هو أمر غير منصوح به إطلاقا، وأحسبك تعلم ذلك، خصوصا وأن ذلك سيتطلب إجراء نفس التعديلات عند كل تحديث، وهو أمر غير عملي بالمرة، ولهذا وجدت الإضافات لإضافة إمكانيات جديدة لووردبريس بعيدا عن ملفات ووردبريس الأصلية.
يمكن حل المشكلة التي تم التطرق إليها في موضوعك هذا عن طريق استعمال إضافات خصصت لهذا الغرض، وعند بحثي عثرت على الإضافتين التاليتين:
https://wordpress.org/plugins/custom-meta-widget/
https://wordpress.org/plugins/customize-meta-widget/
فيكفي إذن عدم استعمال إضافة meta الأصلية واستبدالها بإحدى الإضافتين اللتين تتيحان تخصيصهما حسب الرغبة.
بارك الله فيك. تحياتي.
سعيــــد البقـــــــــــــــالي قال
لا شكر على واجب أخي عبد الهادي
جربت الإضافتين لكنها يحدثان خطأ … لم يحدث معك نفس الشيء؟
تحياتي 🙂
عبد الهادي اطويل قال
أهلا بك أخي سعيد.
في الواقع أنا لم أجرب الإضافتين، لذلك قلت في تعليقي السابق أنني عثرت عليهما من خلال البحث وقد راعيت أن يكون تقييمها جيدا، وذلك لأن أي حل يبقى أفضل من التعديل على ملفات ووردبريس فهو أمر غير منصوح به إطلاقا. أنا لا أستعمل ودجت الذي يتضمن تلك الروابط، لذلك ربما لم تتح لي فرصة تجربة بديل، لكن قطعا هناك حل أفضل من التعديل على ملفات ووردبريس.
أيضا من الحلول التي يمكن المرء أن يلجأ إليها هي إجراء تعديل على المربع الأصلي لكن من خلال ملف [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]
ملاحظة: لم أجرب ذلك الكود، لكن المعلقين يقولون إنه يعمل.
تحياتي.
سعيــــد البقـــــــــــــــالي قال
أكيد أنه يعمل لأنه يقوم بحذف ودجت الإفتراضي و يقوم بتسجيل ودجت جديد بنفس الإسم لكن بمواصفات مختلفة.
هو تقريبا نفس الكود المستعمل في الإضافتين السابقتين، أظن أن الخطأ يحدث عند استعمال الوظيفة [code lang=”php” inline=true]unregister_widget();[/code] على الأقل معي …
سوف أتأكد من الأمر و بعدها سأقوم بتحرير التدوينة.
شكرا على إضافتك القيمة للموضوع، تعليقات مثل تعليقاتك تكاد أن تكون منعدمة في المحتوى العربي.
تحياتي