التصنيف: دعم عام
التصنيف: دعم عام
  • إضافة schema سكيما للصورة البارزة itemprop
  • الالوان في ستايل اضافة News-Ticker-Benaceur لا تعمل
  • اريد كود جعل الصور متساوية في الرئيسية

إضافة schema سكيما للصورة البارزة itemprop

مرحبا أخي ، لقد قمت بتثبيت كود ولاكن أواجه مشكلةإنه يعمل بشكل جيد هنا[ر...
mansor2020 |24 ديسمبر 2020 |5

الالوان في ستايل اضافة News-Ticker-Benaceur لا تعمل

مرحبا الالوان في ستايل اضافة News-Ticker-Benaceur لا تعمل و شريط الاخبار معدل ع...
soufien |4 ديسمبر 2020 |3

اريد كود جعل الصور متساوية في الرئيسية

السلام عليكملديا مشكلة في موقعي الشريط الجانبي يعمل داخل المقالات جيداو...
mansor2020 |8 نوفمبر 2020 |8

  • إضافة كلمة جديد لعناوين المقالات الجديدة لمدة معينة

2017/04/15
كاتب الموضوع: BENACEUR
التصنيف: ووردبريس wordpress

السلام عليكم, وأنا أتصفح أحد المواقع وجدت سؤالا عن كيفية إضافة كلمة جديد بجانب عنوان المقالة التي تم نشرها حديثا مثلا المنشورة قبل 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

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




أضف تعليقك | سجّل دخولك

تعليقاتك في هذا الموضوع تحتاج إلى المراجعة قبل النشر



  1. سيرة الذاتية
    ---------------------------
    لم يقم بكتابة سيرته بعد
  2. devlak ← علّقَ : 35 تعليقا
    عضو

    السلام عليكم أخي BENACEUR
    جزاك الله خيرا على مقدمته من يد المساعدة يمكن أن أكون العضو الاذي طلب هذا الكود
    وأنا ممتنن لك كثيرا أخي فلا أعرف بما أشكرك
    المهم الله يجعله في ميزان حسناتكم

    جاري تطبيق الكود
    فقط لو ممكن كيف أعمل تنسيق للكلمة (جديد) من خلفية ولون الخط لتبقى مغايرة للون العنوان ولك منا كل تحية



  3. سيرة الذاتية
    ---------------------------
    لم يقم بكتابة سيرته بعد
  4. devlak ← علّقَ : 35 تعليقا
    عضو

    السلام عليكم أخي
    لقد جربت الكود وكانت النيجة رائعة فقط لو ممكن طريقة لجعل الكلمة تأتي بعد العنوان
    كذالك هناك مشكلة مع قالب صحيحفة حيث أن كلمة جديد لا تضهر في السلايدر
    ولا في قائمة المواضيع الأخيرة أي أنها تضهر فقط عند الدخول الى الموضوع بحد ذاته
    كما في الصور المرفقة
    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



  5. سيرة الذاتية
    ---------------------------
    أقوم بتطوير الووردبريس وكل ما يتعلق به كالإضافات حيث ساهمت بثلاث إضافات من تطويري, ولذلك فموقعي هذا جعلته يهتم بالدرجة الأولى بتطوير ودعم الووردبريس, ثم الأنترنت والمواقع الإلكترونية بصفة عامة ...
  6. BENACEUR ← علّقَ : 280 تعليقا
    إدارة الموقع

    وعليكم السلام ورحمة الله
    المشكلة في هذا الفلتر أو الهوك the_title أنه يعمل كذلك على الموني nav menu ولذلك أنا وضعت هذا الشرط:

    in_the_loop()

    حتى تظهر كلمة جديد داخل المقالات فقط ولذلك جرب حذف ذلك الشرط ستجد أن كلمة جديد ظهرت كذلك في الموني menu
    الحل إما استعمال الكود السابق وظهور جديد داخل المقالات فقط وإما استعمال الطريقة اليدوية (إن صحّ التعبير) إذا أردنا أن تظهر الكلمة في السلايدر كذلك وذلك بتحرير الملفات التالية الخاصة بقالب صحيفة كما أردت أنت:

    sahifa\framework\loops\loop-default.php
    sahifa\framework\parts\breaking-news.php
    sahifa\single.php

    ثم ابحث عن:

    <?php the_title(); ?>

    واستبدلها ب:

    <?php if ( time() <= get_post_time('U', true) + 7 * DAY_IN_SECONDS ) echo '(جديد) '; the_title(); ?>

    أما بالنسبة لتنسيق كلمة جديد فقط استبدل:

    (جديد) 

    ب:

    <span style="color:#ff0c45;">(جديد) </span>

    طبعا أنت غيّر إلى اللون الذي يناسبك
    بالنسبة لأحدث المقالات في القائمة الجانبية ابحث في قالبك عن الملف المسؤول عن ذلك (لأني لا أستعمل قالب صحيفة) و حرر الملف ثم عدّل:

    <?php the_title(); ?>

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

    return $ba.$title;

    ب:

    return $title.$ba;

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

    <?php if ( time() <= get_post_time('U', true) + 7 * DAY_IN_SECONDS ) echo '(جديد) '; the_title(); ?>

    ب:

    <?php the_title(); if ( time() <= get_post_time('U', true) + 7 * DAY_IN_SECONDS ) echo ' (جديد)'; ?>

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



  7. سيرة الذاتية
    ---------------------------
    لم يقم بكتابة سيرته بعد
  8. devlak ← علّقَ : 35 تعليقا
    عضو

    آآآه آآآه
    يعجز لساني عن التعبير لك فلا فض فوك ولا عاش حاسدوك
    المهم فبالنسبة لي إخترت الطريقة اليدوية لأنه في الطريقة السابقة وكما ذكرت أنها تضهر في المينيو عند الدخول إلى الموضوع وعليه تفاديها كان أحسن لأنه يفسد الشكل الجمالي للموقع
    وقد جربت الكود الثاني بالتبديل كما شرحت وكانت النتيجة رائعة
    ويعد أن نسقت فيها قليلا فهي تضهر كما في الصورة
    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
    حاليا أبحث عن الملف المسؤول عن آخر التدوينات للتعديل عليه
    لمن أراد التنسيق الموجود في الصورة

    <span style="background-color: #ff0000; border-radius:10px; font-size: 12pt; position: relative; top: -10px; color: #ffffff"  >  جديد </span>

    تعبتك معاي أخي الطاهر



  9. سيرة الذاتية
    ---------------------------
    لم يقم بكتابة سيرته بعد
  10. devlak ← علّقَ : 35 تعليقا
    عضو

    لقد وجدت الملف المسؤل عن آخر التدوينات
    themes/sahifa/framework/blocks/block-recent.php
    نغير فقط الكود الأولى فلاداعي للكل وكل واحد وراحته
    المهم الكود في آخر المطاف وبعد تعب أخي بن ناصر

    <?php the_title(); if ( time() <= get_post_time('U', true) + 7 * DAY_IN_SECONDS ) echo '<span style="background-color: #ff0000; border-radius:10px; font-size: 12pt; position: relative; top: -10px; color: #ffffff"  >  جديد </span>
    '; ?>