من الشائع جدًا على شبكة اﻹنترنت أن تظهر في أسفل المواقع حقوق النسخ CopyRight، لكن دائما هناك مشكلة، فأغلب المواقع تُظهرها مصحوبة فقط بالتاريخ الحالي، على سبيل المثال: كل الحقوق محفوظة © 2018.
هكذا نكون قد وضعنا حقوق النسخ فقط للمواضيع المنشورة في العام الحالي. وماذا عن المواضيع التي نشرت في أعوام سابقة، ليس لديك عليها حقوق؟
من المنطقي أن يتم إضافة حقوق النسخ كاملة منذ العام الذي تم فيه نشر أول تدوينة إلى التاريخ الحالي وذلك لضمان حقوق كل المواضيع المنشورة خلال هذه الفترة، شيء كهذا: كل الحقوق محفوظة | سعيد البقالي © 2012-2020.
للحصول على هذه النتيجة قمت بكتابة وظيفة تجلب السنة التي تم فيها نشر أول تدوينة من قاعدة البيانات ثم مقارنته مع السنة الحالية، في حالة التساوي، أي أن الموقع جديد ولم يمر على إنشاء أكثر من سنة، يتم عرض السن الحالية فقط، أما في حالة العكس فيتم عرض التاريخ منذ السنة التي تم فيها نشر أول تدوينة إلى السنة الحالية، شيء كهذا:
كل الحقوق محفوظة – [اسم الموقع] © [التاريخ]
قم بإضافة هذا الكود إلى ملف functions.php
للقالب المفعّل أو لإضافتك المخصصة.
/**
* Get footer credits text
*
* @param array $args
* @return string
*/
function sb_get_footer_credits_text( $args = array() ) {
global $wpdb;
$defaults = array(
'first_year' => get_transient( 'sb_get_first_year' ),
'current_year' => date( 'Y' ),
'symbol' => '©',
'text' => esc_html__( 'All right reserved', 'text-domain' ),
'site_name' => get_bloginfo( 'name' ),
'text_separator' => ' | ',
'years_separator' => '-',
);
extract( apply_filters( 'sb_footer_credits_args', wp_parse_args( (array) $args, $defaults ) ) );
if ( false === $first_year ) {
$sql = "SELECT YEAR(min(post_date_gmt))
AS first_year
FROM $wpdb->posts
WHERE post_status = 'publish'";
if ( false === $first_year ) {
$post_date_gmt = $wpdb->get_results( $sql ); // WPCS: cache ok. db call ok. unprepared SQL OK.
if ( is_array( $post_date_gmt ) ) {
set_transient( 'sb_get_first_year', $post_date_gmt[0]->first_year, MONTH_IN_SECONDS );
unset( $post_date_gmt );
}
}
}
$output = $text . $text_separator . $site_name . ' ' . $symbol . ' ';
if ( $current_year !== $first_year ) {
$years = $first_year . $years_separator . $current_year;
$output .= $years;
} else {
$output .= $current_year;
}
return apply_filters( 'sb_footer_credits_text', $output );
}
بعد حفظ التغييرات في ملف functions.php
عليك فتح ملف footer.php
ووضع الكود التالي في المكان المناسب.
<?php echo esc_html( sb_get_footer_credits_text() ); ?>
إذا أردت التغيير في القيم الافتراضية للوظيفة عن طريق تمرير مصفوفة لها بقيم مخصصة كالتالي:
$args = array(
'first_year' => '2012',
'current_year' => '2018',
'symbol' => '©',
'text' => 'كل الحقوق محفوطة',
'site_name' => 'إسم الموقع',
'text_separator' => ' | ',
'years_separator' => '-',
);
echo esc_html( sb_get_footer_credits_text( $args ) );
كذلك يمكنك تغيير القيم اﻹفتراضية للوظيفة عن طريق المرشح (filter) sb_footer_credits_args
وذلك على النحو التالي:
/**
Change copyrght args via filter
*
@param array $copyright
@return void
*/
function sb_change_footer_credits_args( $args ) {
$args['first_year'] = '1820';
$args['text'] = 'جميع الحقوق محفوطة';
$args['site_name'] = 'موقعي الجميل';
return $args;
}
add_filter( 'sb_footer_credits_args', 'sb_change_footer_credits_args' );
كذلك يمكنك التعديل على النص كليا أو حذفه بواسطة المرشح sb_footer_credits_text
، يمكنك استخدامه على سبيل المثال لرفع الحقوق عن صفحات ومقالات معينة، على هذا الشكل:
/**
* Change or hide copyrght via filter
*
* @param string $output
* @return void
*/
function sb_filter_footer_credits_text( $output ) {
if ( is_single( array( 85, 56, 64 ) ) ) {
return 'هذه المقالة لا تتوفر على حقوق النقل والتأليف';
}
if ( is_single( array( 67, 24, 37 ) ) ) {
return 'حقوق النشر و التأليف لهذه الصفحة مختلفة';
}
if ( is_page( array( 55, 44, 55 ) ) ) {
return;
}
}
add_filter( 'sb_footer_credits_text', 'sb_filter_footer_credits_text' );
الهدف اﻷساسي من هذا النوع من الشروحات التي أنشرها هو محاولة إيصال بعض الأفكار التي يمكن تطبيقها على ووردبريس والتعريف بقدراته وإمكانياته، بقليل من المعرفة بلغة الـ PHP ونواة ووردبريس يمكننا التغيير والتعديل على أي شيء تقريبا والوصول إلى النتيجة التي نريدها.
إذا أعجبك الموضوع لا تبخل عليّ برأيك من خلال التعليقات.
عيسى محمد علي قال
درس ممتاز واستفدت منه عديد الأشياء.
جزاك الله خيرا أستاذ سعيد.
سعيد البقالي قال
الله يجازيك وشكرا على مرورك العطر صديقي عيسى، توحشناك 👦
ادريس قال
ممتاز وبارك الله فيك يا البقالي استاذ الاساتذة
سعيد البقالي قال
الله يبارك فيك عزيزي، شكرا لك 🙂
Ahmed قال
شكرا على الشرح ياريت يكون مدعومة بشرح فيديو ولك جزيل الشكر
سعيد البقالي قال
العفو أخي أحمد، سأقوم بعمل فيديوهات إن شاء الله في حالة توفري على وقت.
alsadik قال
بارك الله فيك اخي سعيد
اتمنا ان تضع لنا فيديو مبسط ان كيفية
استعمال هته الاكواد
اجد بعض التطبيقات في متجر لاكن لا اعرف عمل هته الاكواد
صحا فطورك
سعيد البقالي قال
شكرا لك أخي ورمضان مبارك سعيد، إن شاء الله سأقوم بعمل فيديوهات عندما يسمح لي الوقت بذلك.