Paano magdagdag ng isang pasadyang RSS feed sa WordPress Dashboard

Magdagdag ng isang Pasadyang RSS Feed sa WordPress Dashboard

Ang Internet ay puno ng mahusay na mapagkukunan at mahirap tingnan ang lahat. Siyempre mayroong Twitter na pagmasdan ang mga tendencies, o mga softwares ng mambabasa ng RSS, ngunit katulad mo ako ay abala kung minsan nakakainis na magkaroon ng 20 na mga softwares na binuksan nang sabay. Iyon ang dahilan kung bakit nagpasya akong gamitin ang aking WordPress dashboard bilang isang global platform upang magkaroon ng mabilis na pag-access sa mga feed na iyon. Isang halimbawa na nais kong ibahagi ngayon ay kung paano lumikha ng isang pasadyang RSS metabox sa loob ng dashboard ng WordPress.


Narito ang pangwakas na resulta ng kung ano ang lilikha namin:

add-a-custom-rss-dashboard-metabox

Hakbang 1: Ang Plugin

Upang idagdag ang metabox na kailangan namin upang lumikha ng isang plugin. Kaya, lumikha lamang ng isang bagong folder na tinatawag na “my-dashboard-metabox” sa wp-content / plugins / at sa loob ng bagong folder ay lumikha ng isang file na tinatawag na my-dashboard-metaboxes.php. Ang file na ito ay ang pangunahing file ng plugin. Buksan ito sa iyong pangunahing editor. Ang code sa ibaba ay ang code na bubuo ng plugin. Walang talagang kumplikado dito:

Hakbang 2: Pagrehistro ng Metabox

Ngayon na mayroon kaming isang walang laman na plugin (nangangahulugang isang plugin na walang ginagawa), kailangan naming magparehistro ng isang metabox upang maipakita sa dashboard ng WordPress. Upang gawin ito, kailangan nating lumikha ng isang bagong pag-andar na mai-hook ang "wp_dashboard_setup"Kawit. Tinawagan ang function na "rc_mdm_register_widget ()". Sa loob ng pagpapaandar na ito kailangan nating i-telle ang WordPress na nais naming magdagdag ng isang bagong metabox, at ito ang layunin ng "wp_add_dashboard_widget ()"Function. Tumatanggap ang function na ito ng 4 na mga parameter:

1 - $ widget_id (integer) (kinakailangan) isang pagkilala ng slug para sa iyong widget. Ito ay gagamitin bilang klase ng css at ang susi nito sa hanay ng mga widget.
Default: Wala

2 - $ widget_name (string) (kinakailangan) ito ang pangalan na ipapakita ng iyong widget sa heading nito.
Default: Wala

3 - $ callback (string) (kinakailangan) Ang pangalan ng isang function na nilikha mo na magpapakita ng aktwal na nilalaman ng iyong widget.
Default: Wala

4 - $ control_callback (string) (opsyonal) Ang pangalan ng isang function na nilikha mo na hahawak sa pagsusumite ng mga pagpipilian sa widget (pagsasaayos), at magpapakita din ng mga elemento ng form.

Ang mahalaga dito ay ang pangatlong parameter, ito ang tumutukoy sa mga pag-andar na mai-load sa metabox. Sa halimbawang ito ay tinawag itong "rc_mdm_create_my_rss_box ()".

/ **
* Irehistro ang lahat ng mga metabox ng dashboard
*
* @access publiko
* @since 1.0
* @return walang bisa
* /

function na rc_mdm_register_widget () {
pandaigdigang $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Aking RSS Feeds', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widget');

Hakbang 3: Ang Nilalaman ng Metabox

Kung buhayin mo ang plugin at pumunta sa iyong WordPress dashboard dapat mong makita ang isang bagong walang laman na metabox. Kailangan nating punan ngayon ang nilalaman nito. Ang mga mahahalagang bagay para sa pagpapaandar na ito ay isama ang WordPress builtin na "feed.php" file na pahintulutan na gumamit ng "fetch_feed ()" function. Mangyaring tandaan na ginagamit namin ang "fetch_feed ()" dahil ang "fetch_rss ()", "get_rss ()", at "wp_rss ()" ay tinanggal. Minsan, isinama ko ang lahat ng mga puna sa loob ng code nang direkta ngunit nais kong iguhit ang iyong pansin sa ilang mga magagandang tampok na ginagamit ko sa loob ng metabox function.

Una sa lahat mayroong "nalagpasan ()"Function. Ang isang ito ay ginagamit upang makuha at i-parse ang mga nilalaman ng feed. Ang pagpapaandar na ito ay gumagamit ng Simpleng klase, sa gayon maaari mong samantalahin ang halos lahat ng mga pag-andar na kasama dito.

Kami ay mayroong function na "human_time_diff ()" na ginagamit upang maipakita ang oras bilang "human_time_diff ()", Halimbawa upang ipakita ang isang bagay tulad ng" 2 oras na ang nakakaraan "," 4 araw na ang nakakaraan "atbp ... ito ay isang function na WordPress.

At sa wakas mayroon kaming "wp_html_excerpt ()"Upang paikliin ang bawat nilalaman ng feed.

Ang lahat ng iba pang mga pag-andar ay kilala ang mga pag-andar ng WordPress o kasama sa simpleng klase ng Pie.

Narito ang code:

/ **
* Lumilikha ng metabox RSS
*
* @access publiko
* @since 1.0
* @return walang bisa
* /

function na rc_mdm_create_my_rss_box () {

// Kumuha ng (RSS) RSS
isama ang_once (ABSPATH. WPINC. '/feed.php');

// Listahan ng aking feed (magdagdag ng iyong sariling RSS feed url)
$ my_feeds = array
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/?post_type=job_listing'
);

// Loop sa pamamagitan ng Mga Pagkain
unahan ($ my_feeds bilang $ feed):

// Kumuha ng isang object ng SimplePie feed mula sa tinukoy na mapagkukunan ng feed.
$ rss = fetch_feed ($ feed);
kung (! is_wp_error ($ rss)): // Sinusuri na ang bagay ay nilikha nang tama
/ Alamin kung gaano karaming mga kabuuang item, at pumili ng isang limitasyon
$ maxitems = $ rss-> get_item_quantity (3);

// Gumawa ng isang hanay ng lahat ng mga item, na nagsisimula sa elemento 0 (unang elemento).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Kunin ang pamagat ng RSS
$ rss_title = 'get_permalink (). '"target =" _ blangko ">'. strtoupper ($ rss-> get_title ()). '';
tapusin kung;

// Ipakita ang lalagyan
sigaw
'; sigaw'. $ rss_title.''; sigaw
'; // Nagsisimula sa listahan ng mga item sa loob
    tag sigaw
      '; // Suriin ang mga item kung ($ maxitems == 0) { sigaw
    • '.__ (' Walang item ',' rc_mdm ').'.
    • '; } iba pa { // I-Loop ang bawat item ng feed at ipakita ang bawat item bilang isang hyperlink. unahan ($ rss_items bilang $ item): // Uncomment line sa ibaba upang ipakita ang hindi tao na petsa // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Kumuha ng petsa ng tao (magkomento kung nais mong gumamit ng di-date na tao) $ item_date = human_time_diff ($ item-> get_date ('U'), kasalukuyang_time ('timestamp')). ' '.__ (' nakaraan ',' rc_mdm '); // Simulan ang pagpapakita ng nilalaman ng item sa loob ng a
    • tag sigaw
    • '; // lumikha ng link ng item sigawget_permalink ()). '"title ="'. $ item_date. '">'; // Kunin ang pamagat ng item echo esc_html ($ item-> get_title ()); sigaw'; // Petsa ng pagpapakita sigaw '. $ item_date.'
      '; // Kunin ang nilalaman ng item $ nilalaman = $ item-> get_content (); // Paikliin ang nilalaman $ nilalaman = wp_html_excerpt ($ nilalaman, 120). '[...]'; // Ipakita ang nilalaman echo $ nilalaman; // Tapusin
    • tag sigaw
    • '; endforeach; } // Tapusin
        tag sigaw
'; endforeach; // Tapusin ang unahan ng feed }

Sa linya 15 mayroong isang array kung saan maaari kang maglagay ng maraming mga feed hangga't gusto mo. Maaari mo ring tukuyin ang bilang ng bawat item sa feed na ipakita sa linya 27. Sa wakas sa linya 50 at 54 maaari kang pumili upang magpakita ng isang petsa ng tao o isang normal na petsa. Bahala ka.

Konklusyon

Ok, kaya lumikha kami ng isang simpleng metabox, ngunit mayroon ka na ngayong mga pangunahing kaalaman upang lumikha ka ng sariling mga metabox gamit ang iyong sariling nilalaman. Maaari mo ring alisin ang default na mga metabox ng WordPress, at magkaroon ng ganap na pag-unawa sa dashboard ng mga widget ng API, hinihikayat kita, tulad ng dati, na magkaroon ng isang pagtingin sa codex.

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