1. إضافة حقل مخصص إلى تذييل RSS لـ WordPress
في هذا المثال الأول ، سنوضح لك كيف يمكنك استخدام حقل مخصص لعرض نص / كائن معين في موجز RSS لـ WordPress. ستسمح لك هذه الحيلة بعرض نص مختلف أو إعلان أو صورة أو أي شيء آخر لكل منشور. افتح أولاً وظائفك .php والصق الرموز التالية في علامات php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function wpbeginner_postrss( $content ) { global $wp_query ; $postid = $wp_query ->post->ID; $coolcustom = get_post_meta( $postid , 'coolcustom' , true); if (is_feed()) { if ( $coolcustom !== '' ) { $content = $content . "<br /><br /><div>" . $coolcustom ."</div> "; } else { $content = $content ; } } return $content ; } add_filter( 'the_excerpt_rss' , 'wpbeginner_postrss' ); add_filter( 'the_content' , 'wpbeginner_postrss' ); |
الآن يتساءل معظمكم عن كيفية عمل هذا الرمز. إذن هنا تفسير. نقوم بإنشاء دالة تسمى wpbeginner_postrss تقوم بتشغيل wp_query عالمي للبحث في كل منشور إذا تم تحديد حقل مخصص يسمى “coolcustom”. إذا تم تعريف Cool Custom ، فإنه يعرض القيمة بعد محتوى المنشور. إذا لم يكن هناك حقل مخصص محدد ، فستعرض الوظيفة افتراضيًا محتوى المنشور فقط ولا شيء آخر. نستخدم المتغير $ content لعرض المحتوى. نحن نستخدم وظيفة if (is_feed) وإضافة نص مخصص أو محتوى آخر إلى محتوى المنشور الرئيسي نفسه والذي يمكنك رؤيته بواسطة الفلتر الثاني. ولكن لن يتم عرضها إلا في موجز ويب لـ RSS نظرًا لمستخدمنا لوظيفة if (is_feed). من خلال القيام بذلك بهذه الطريقة ، نتجنب جميع مشكلات التوافق.
سيقول البعض منكم لكنك فعلت للتو ما يفعله المكون الإضافي لتذييل RSS بوظيفة. نعم و لا. نعم ، نحن نضيف الكود في تذييل المنشور ، لكن هذا النص ليس هو نفس النص بالضبط لكل منشور. الأمر مختلف لأنك تحدد نصًا مختلفًا لكل منشور عبر الحقول المخصصة. ستكون هذه الحيلة مفيدة جدًا للامتثال لإرشادات FTC الجديدة للمدونات التي تحتوي على جميع أنواع المنشورات المختلفة.
2. إضافة نص إضافي لنشر العناوين في RSS
هل تحتوي مدونتك على مشاركات ضيف ومشاركات برعاية ومشاركات مراجعة؟ حسنًا ، إذا قمت بذلك ، فستجد هذا مفيدًا جدًا. يمتلك بعض المدونين نمطًا مخصصًا لعرض كل نوع مختلف من المنشورات ، بحيث يمكن لمستخدميهم التمييز بينهم. ولكن عندما يتم نشر هذه المنشورات في قارئ ، تختفي جميع الأنماط. هذا عندما تكون هذه الحيلة في متناول اليد. في هذه الخدعة سنضيف أي نص قبل العنوان أو بعده.
على سبيل المثال ، إذا كان عنوانك هو “سمة WordPress التجارية – StudioPress ” وكان منشورًا برعاية ، فيمكنك تغييره إلى “منشور برعاية: سمة WordPress التجارية – StudioPress”. نفس الشيء إذا كتب شخص ما منشور ضيف وما إلى ذلك.
للقيام بذلك ، افتح ملف functions.php وأضف الكود التالي هناك:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function wpbeginner_titlerss( $content ) { global $wp_query ; $postid = $wp_query ->post->ID; $gpost = get_post_meta( $postid , 'guest_post' , true); $spost = get_post_meta( $postid , 'sponsored_post' , true); if ( $gpost !== '' ) { $content = 'Guest Post: ' . $content ; } elseif ( $spost !== '' ){ $content = 'Sponsored Post: ' . $content ; } else { $content = $content ; } return $content ; } add_filter( 'the_title_rss' , 'wpbeginner_titlerss' ); |
شرح للكود:
نحن نستخدم الوظيفة التي تسمى wpbeginner_titlerss والتي تدير wp_query عالميًا للبحث في كل منشور إذا كان يحتوي على $ gpost أو $ spost. يبحث هذان العنصران بشكل أساسي عن حقلين مخصصين محددين يسمى “guest_post” أو “sponsored_post”. إذا أضاف أي شخص هذه الحقول المخصصة بقيمة صحيحة ، فستضيفها الشفرة في النص. إذا لم يكن الأمر كذلك ، فسترى العنوان العادي فقط. يمكنك أن ترى أولاً أن الكود يبحث عن ما إذا كان $ gpost صحيحًا ، وإذا لم يكن هذا صحيحًا ما إذا كان $ spost صحيحًا. إذا لم يتم تعريف ذلك أيضًا ، فسيتم عرض المحتوى العادي. ولكن إذا كان أي منهما صحيحًا ، فإنه يعرض النص المختلف الذي تحدده هنا. نحن نستخدم سلسلة المحتوى $ لعرض عنوان التدوينة.
الآن هذا كان يعرض فقط الحقول المخصصة في العنوان. هل تريد عرض اسم الفئة على كل عنوان؟ حسنًا ، يجب عليك ببساطة لصق الكود التالي في ملف jobs.php الخاص بك:
1
2
3
4
5
6
7
8
9
|
function wpbeginner_cattitlerss( $content ) { $postcat = "" ; foreach ((get_the_category()) as $cat ) { $postcat .= ' (' . $cat ->cat_name . ')' ; } $content = $content . $postcat ; return $content ; } add_filter( 'the_title_rss' , 'wpbeginner_cattitlerss' ); |
شرح: نحن نستخدم الوظيفة wpbgeinner_cattitlerss للحصول على معرف الفئة لكل منشور ثم نعرضه بجوار العنوان مباشرةً. لذلك إذا كان العنوان هو “الحصول على نموذج الاتصال 7” ، فسيكون الآن “الحصول على نموذج الاتصال 7 [المكونات الإضافية]”. يمكنك أن ترى أنه لا يوجد إذا متغير في هذا الرمز. نستخدم المحتوى $ للعنوان الرئيسي ومتغير $ postcat لتحديد اسم الفئة. أنت تعيد ترتيب ذلك إذا أردت.
3. إضافة نفس النص على جميع المشاركات في RSS
إذا كنت ترغب فقط في إضافة نفس النص ، فيمكنك أيضًا استخدام المكون الإضافي المسمى RSS Footer by Joost لأنه أسهل. ولكن إذا كنت تريد أن تفعل ذلك بنفسك فهذه هي الطريقة التي تقوم بها. افتح ملف functions.php الخاص بك وأضف الكود التالي:
1
2
3
4
5
6
7
8
|
function wpbeginner_postrss( $content ) { if (is_feed()){ $content = 'This post was written by Syed Balkhi ' . $content . 'Check out WPBeginner' ; } return $content ; } add_filter( 'the_excerpt_rss' , 'wpbeginner_postrss' ); add_filter( 'the_content' , 'wpbeginner_postrss' ); |
شرح: نحن نستدعي دالة wpbeginner_postrss لإضافة محتوى في كل منشور قبل المنشور يقول أن هذا المنشور كتبه سيد بلخي وبعد المحتوى راجع WPBeginner. لكننا نضيف الدالة if (is_feed) ، لذلك سيتم عرضها فقط في موجز ويب لـ RSS.
سيكون هذا مفيدًا جدًا إذا كنت ترغب في بيع الإعلانات على منشورات محددة في RSS أو إضافة إرشادات مخصصة لـ FTC أو أردت فقط التحكم بشكل أكبر في موجزات RSS الخاصة بك.