السلام عليكم, وأنا أتصفح أحد المواقع وجدت سؤالا عن كيفية إضافة كلمة جديد بجانب عنوان المقالة التي تم نشرها حديثا مثلا المنشورة قبل 7 أيام, فقمت بتطوير هذا الكود عن طريق هوك the_title وذلك بعملية بسيطة حيث نستدعي الدالة الخاصة بجلب وقت نشر المقالة:
get_post_time('U', true)
ثم نضيف إليها عدد الأيام مثلا هنا أنا استخدمت 7 ثم نحول يوم إلى ثواني عن طريق DAY_IN_SECONDS بعدها نقارن هذا الوقت بدالة الوقت الحاضر:
time()
وفي الأخير أضفت شرطا آخر وهو أن يكون عمل الدالة داخل المقالات فقط loop عن طريق دالة:
in_the_loop()
ليصبح الكود في الأخير هكذا:
add_filter('the_title', 'ben_new_custom_title_by_days', 10, 2);
function ben_new_custom_title_by_days($title) {
// https://benaceur-php.com/
$day = 7;
$ba = '(جديد) ';
if ( in_the_loop() && time() <= get_post_time('U', true) + $day * DAY_IN_SECONDS )
return $ba.$title;
return $title;
}
ثم نضيفه طبعا في ملف functions.php
لتغيير عدد الأيام فقط نغير رقم 7
رابط الموضوع للنسخ
السلام عليكم أخي BENACEUR
جزاك الله خيرا على مقدمته من يد المساعدة يمكن أن أكون العضو الاذي طلب هذا الكود
وأنا ممتنن لك كثيرا أخي فلا أعرف بما أشكرك
المهم الله يجعله في ميزان حسناتكم
جاري تطبيق الكود
فقط لو ممكن كيف أعمل تنسيق للكلمة (جديد) من خلفية ولون الخط لتبقى مغايرة للون العنوان ولك منا كل تحية
السلام عليكم أخي
لقد جربت الكود وكانت النيجة رائعة فقط لو ممكن طريقة لجعل الكلمة تأتي بعد العنوان
كذالك هناك مشكلة مع قالب صحيحفة حيث أن كلمة جديد لا تضهر في السلايدر
ولا في قائمة المواضيع الأخيرة أي أنها تضهر فقط عند الدخول الى الموضوع بحد ذاته
كما في الصور المرفقة
http://store6.up-00.com/2017-04/149311436750651.jpg
http://store6.up-00.com/2017-04/149311436760522.jpg
http://store6.up-00.com/2017-04/149311436776023.jpg
وعليكم السلام ورحمة الله
المشكلة في هذا الفلتر أو الهوك the_title أنه يعمل كذلك على الموني nav menu ولذلك أنا وضعت هذا الشرط:
حتى تظهر كلمة جديد داخل المقالات فقط ولذلك جرب حذف ذلك الشرط ستجد أن كلمة جديد ظهرت كذلك في الموني menu
الحل إما استعمال الكود السابق وظهور جديد داخل المقالات فقط وإما استعمال الطريقة اليدوية (إن صحّ التعبير) إذا أردنا أن تظهر الكلمة في السلايدر كذلك وذلك بتحرير الملفات التالية الخاصة بقالب صحيفة كما أردت أنت:
sahifa\framework\loops\loop-default.php
sahifa\framework\parts\breaking-news.php
sahifa\single.php
ثم ابحث عن:
واستبدلها ب:
أما بالنسبة لتنسيق كلمة جديد فقط استبدل:
ب:
طبعا أنت غيّر إلى اللون الذي يناسبك
بالنسبة لأحدث المقالات في القائمة الجانبية ابحث في قالبك عن الملف المسؤول عن ذلك (لأني لا أستعمل قالب صحيفة) و حرر الملف ثم عدّل:
فقط التي يجب تعديلها ليس الكل وذلك بالتعديل ثم التجريب
أما سؤالك عن جعل الكلمة بعد العنوان فإن استعملت الكود الأول الموجود في المقالة فقط استبدل:
ب:
أما إذا استعملت الطريقة اليدوية فاستبدل:
ب:
ملاحظة: إذا طبقت الطريقة الثانية أي اليدوية لاتستعمل الكود الموجود في الموضوع.
انتهى
آآآه آآآه
يعجز لساني عن التعبير لك فلا فض فوك ولا عاش حاسدوك
المهم فبالنسبة لي إخترت الطريقة اليدوية لأنه في الطريقة السابقة وكما ذكرت أنها تضهر في المينيو عند الدخول إلى الموضوع وعليه تفاديها كان أحسن لأنه يفسد الشكل الجمالي للموقع
وقد جربت الكود الثاني بالتبديل كما شرحت وكانت النتيجة رائعة
ويعد أن نسقت فيها قليلا فهي تضهر كما في الصورة
http://store6.up-00.com/2017-04/149331004443091.jpg
http://store6.up-00.com/2017-04/149331004452422.jpg
http://store6.up-00.com/2017-04/149331004470373.jpg
بالنسبة للسلايدر نقوم بالتغيير على الملف التالي
themes/sahifa/framework/parts/slider-home.php
حاليا أبحث عن الملف المسؤول عن آخر التدوينات للتعديل عليه
لمن أراد التنسيق الموجود في الصورة
تعبتك معاي أخي الطاهر
لقد وجدت الملف المسؤل عن آخر التدوينات
themes/sahifa/framework/blocks/block-recent.php
نغير فقط الكود الأولى فلاداعي للكل وكل واحد وراحته
المهم الكود في آخر المطاف وبعد تعب أخي بن ناصر