نحوه اضافه کردن یک خوراک RSS سفارشی در داشبورد وردپرس

یک خوراک RSS سفارشی در داشبورد وردپرس اضافه کنید

اینترنت پر از منابع عالی است و نگاهی به همه چیز دشوار است. البته توییتر وجود دارد که توجه به گرایش ها یا نرم افزارهای خواننده RSS را دنبال کند ، اما شما مثل من بسیار شلوغ هستید و گاهی اوقات 20 نرم افزار در همان زمان باز می شود آزار دهنده است. به همین دلیل تصمیم گرفتم از داشبورد وردپرس خود به عنوان یک بستر جهانی برای دسترسی سریع به این فید ها استفاده کنم. مثالی که امروز می خواهم به اشتراک بگذارم این است که چگونه می توان متابوکس RSS سفارشی را در داشبورد WordPress ایجاد کرد.


در اینجا نتیجه نهایی آنچه می خواهیم ایجاد کنیم:

add-a-custom-rss-dashboard-metabolox

مرحله 1: افزونه

برای اضافه کردن این متابوکس باید یک افزونه ایجاد کنیم. بنابراین ، به سادگی یک پوشه جدید با نام “my-dashboard-metaboloxes” را در wp-content / plugins ایجاد کنید و در پوشه جدید ، پرونده ای به نام my-dashboard-metaboloxes.php ایجاد کنید. این پرونده فایل اصلی افزونه خواهد بود. آن را در ویرایشگر اصلی خود باز کنید. کد زیر کدی است که افزونه را تولید می کند. هیچ چیز واقعاً پیچیده نیست:

مرحله 2: ثبت Metabox

اکنون که یک افزونه خالی داریم (منظورم از افزونه ای است که کاری نمی کند) ، باید حداقل یک متابکسی را برای نمایش در داشبورد وردپرس ثبت کنیم. برای این کار ، ما باید یک تابع جدید ایجاد کنیم که "wp_dashboard_setup" قلاب. بیایید این عملکرد را "rc_mdm_register_widgets ()" بنامیم. در داخل این عملکرد ، باید وردپرس را به هم بزنیم که می خواهیم متابوکس جدیدی اضافه کنیم ، و این هدف "wp_add_dashboard_widget ()" تابع. این عملکرد 4 پارامتر را می پذیرد:

1 - $ widget_id (عدد صحیح) (مورد نیاز) یک دیجیتال شناسایی برای ویجت شما. این به عنوان کلاس css و کلید آن در مجموعه ابزارک ها مورد استفاده قرار می گیرد.
پیش فرض: هیچکدام

2 - $ widget_name (رشته) (لازم) این نامی است که ویجت شما در عنوان آن نمایش می دهد.
پیش فرض: هیچکدام

3 - $ برگشت تماس (رشته) (لازم) نام تابعی که ایجاد می کنید که محتوای واقعی ویجت شما را نشان می دهد.
پیش فرض: هیچکدام

4 - $ control_callback (رشته) (اختیاری) نام تابعی که شما ایجاد می کنید با ارائه فرم های گزینه های ویجت (پیکربندی) کنترل می شود و همچنین عناصر فرم را نشان می دهد.

آنچه در اینجا مهم است پارامتر سوم است ، این یکی از توابع بارگذاری شده در متابوكس است. در این مثال "rc_mdm_create_my_rss_box ()".

/ **
* ثبت کلیه متابوكسهای داشبورد
*
* عمومی دسترسی
*since 1.0
*return باطل است
* /

عملکرد rc_mdm_register_widgets ()
$ wp_meta_boxes جهانی؛

wp_add_dashboard_widget ('widget_freelanceswitch'، __ ('RSS Feeds'، 'rc_mdm')، 'rc_mdm_create_my_rss_box')؛
}
add_action ('wp_dashboard_setup' ، 'rc_mdm_register_widgets')؛

مرحله 3: محتوای Metabox

اگر افزونه را فعال کرده و به داشبورد وردپرس خود می روید ، باید متابوکس خالی جدید را ببینید. اکنون باید محتوای آن را پر کنیم. موارد مهم برای این کار این است که پرونده وردپرس داخلی "feed.php" را وارد کنید تا مجاز به استفاده از عملکرد "fetch_feed ()" باشد. لطفا توجه داشته باشید که ما از "fetch_feed ()" استفاده می کنیم زیرا "fetch_rss ()" ، "get_rss ()" و "wp_rss ()" مستهلک می شوند. برای یک بار ، من تمام نظرات را درون کد به طور مستقیم درج کردم ، اما می خواهم توجه شما را به برخی از ویژگی های خوب مورد استفاده در عملکرد Metabox جلب کنم.

اول از همه ""fetch_feed ()" تابع. این مورد برای دریافت و تجزیه محتوای فیدها استفاده می شود. این عملکرد با استفاده از کلاس SimplePie, بنابراین می توانید تقریباً از تمام عملکردهای موجود در آن استفاده کنید.

سپس ما عملکرد "human_time_diff ()" را داریم که برای نمایش زمان به عنوان "human_time_diff ()"، به عنوان مثال برای نمایش چیزی مانند" 2 ساعت قبل "،" 4 روز قبل "و غیره ... این یک عملکرد WordPress است.

و در آخر ما "wp_html_excerpt ()"برای کوتاه کردن هر محتوای خوراک.

همه عملکردهای دیگر به خوبی عملکردهای WordPress را می شناسند یا در کلاس Simple Pie گنجانده شده اند.

در اینجا کد آمده است:

/ **
* ایجاد متابوکس RSS
*
* عمومی دسترسی
*since 1.0
*return باطل است
* /

عملکرد rc_mdm_create_my_rss_box ()

// دریافت فید (های) RSS
این شامل :_once (ABSPATH. WPINC. '/feed.php')؛

// لیست فیدهای من (آدرس اینترنتی URL های خبری RSS خود را اضافه کنید)
$ my_feeds = آرایه (
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/؟post_type=job_listing'
)؛

// حلقه از طریق خوردها
foreach ($ my_feeds به عنوان $ خوراک):

// یک منبع ساده SimplePie را از منبع فید مشخص شده دریافت کنید.
$ rss = fetch_feed (خوراک $)؛
if (! is_wp_error ($ rss)): // بررسی می کند که شیء به درستی ایجاد شده است
// بفهمید که تعداد کل موارد چقدر وجود دارد ، و حد انتخاب کنید
$ maxitems = $ rss-> get_item_quantity (3)؛

// مجموعه ای از همه موارد ، با شروع از عنصر 0 (عنصر اول).
$ rss_items = $ rss-> get_items (0، $ حداکثر)؛

// دریافت عنوان RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">". strtoupper ($ rss-> get_title ()) ".''؛
endif؛

// نمایش ظرف
پژواک
'؛ پژواک'. $ rss_title.''؛ پژواک
'؛ // لیست موارد را در داخل شروع می کند
    برچسب زدن پژواک
      '؛ // موارد را چک کنید if ($ maxitems == 0) پژواک
    • ".__ (" بدون مورد "،" rc_mdm ").".
    • '؛ } دیگه // حلقه از طریق هر مورد خوراک و نمایش هر آیتم به عنوان لینک. foreach ($ rss_items به عنوان $ مورد): // خط Uncomment زیر برای نمایش تاریخ غیر انسانی // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format'))؛ // تاریخ انسان را بدست آورید (اگر می خواهید از تاریخ غیر انسانی استفاده کنید) نظر دهید $ item_date = human_time_diff ($ item-> get_date ('U') ، جریان_time ('زمان سنج')). " '.__ (' پیش '،' rc_mdm ')؛ // شروع به نمایش محتوای مورد در داخل
    • برچسب زدن پژواک
    • '؛ // ایجاد پیوند مورد پژواکget_permalink ()). '"title =" ". $ item_date.'"> '؛ // دریافت عنوان مورد echo esc_html ($ item-> get_title ())؛ پژواک'؛ // تاریخ نمایش پژواک $. $ date_date. '
      '؛ // دریافت محتوای مورد $ content = $ item-> get_content ()؛ // کوتاه کردن محتوا $ content = wp_html_excerpt (محتوای $ ، 120). '[...]'؛ // نمایش محتوا محتوای echo $؛ // پایان
    • برچسب زدن پژواک
    • '؛ در نتیجه؛ } // پایان
        برچسب زدن پژواک
'؛ در نتیجه؛ // خاتمه دادن به پیش غذا }

در خط 15 آرایه ای وجود دارد که می توانید هر تعداد غذا را به عنوان دلخواه خود قرار دهید. همچنین می توانید تعداد هر یک از آیتم های خوراک را برای نمایش در خط 27 تعیین کنید. سرانجام در خط 50 و 54 می توانید یک تاریخ انسانی یا یک تاریخ عادی را نمایش دهید. این به شما بستگی دارد.

نتیجه

خوب ، بنابراین ما یک متابوکس ساده ایجاد کردیم ، اما شما اکنون مبانی لازم را برای ایجاد متابوکس های خود با محتوای خود دارید. همچنین می توانید متابوکسهای پیش فرض WordPress را حذف کرده و درک کاملی از آن داشته باشید API ابزارک داشبورد, من مثل همیشه شما را تشویق می کنم که نگاهی به این موضوع بیندازید کد.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map