Jak dodać niestandardowy kanał RSS w panelu WordPress

Dodaj niestandardowy kanał RSS w panelu WordPress

Internet jest pełen wspaniałych zasobów i ciężko na wszystko spojrzeć. Oczywiście jest Twitter, który ma na oku tendencje lub oprogramowanie czytników RSS, ale jesteś bardzo zajęty, czasami denerwujące jest otwieranie 20 programów jednocześnie. Właśnie dlatego postanowiłem wykorzystać pulpit WordPress jako platformę globalną, aby mieć szybki dostęp do tych kanałów. Przykładem, który chcę dzisiaj udostępnić, jest sposób tworzenia niestandardowego metaboksu RSS w desce rozdzielczej WordPress.


Oto końcowy wynik tego, co stworzymy:

add-a-custom-rss-dashboard-metabox

Krok 1: Wtyczka

Aby dodać ten metaboks, musimy utworzyć wtyczkę. Tak więc po prostu stwórz nowy folder o nazwie „my-dashboard-metaboxes” w wp-content / plugins / i w nowym folderze utwórz plik o nazwie my-dashboard-metaboxes.php. Ten plik będzie głównym plikiem wtyczki. Otwórz go w głównym edytorze. Poniższy kod to kod, który wygeneruje wtyczkę. Nic naprawdę złożonego tutaj:

Krok 2: Rejestracja Metabox

Teraz, gdy mamy pustą wtyczkę (mam na myśli wtyczkę, która nic nie robi), musimy zarejestrować przynajmniej metaboks, który będzie wyświetlany na pulpicie nawigacyjnym WordPress. Aby to zrobić, musimy utworzyć nową funkcję, która przechwyci „wp_dashboard_setup" hak. Nazwijmy tę funkcję „rc_mdm_register_widgets ()”. Wewnątrz tej funkcji musimy nazywać WordPress, że chcemy dodać nowy metaboks, a to jest cel „wp_add_dashboard_widget ()”. Ta funkcja przyjmuje 4 parametry:

1 - $ widget_id (liczba całkowita) (wymagany) ślimak identyfikacyjny widżetu. Będzie to wykorzystane jako klasa css i klucz w tablicy widżetów.
Domyślnie: brak

2 - $ widget_name (ciąg) (wymagane) to nazwa widżetu wyświetlanego w nagłówku.
Domyślnie: brak

3 - $ oddzwonienie (ciąg) (wymagane) Nazwa tworzonej funkcji, która wyświetla rzeczywistą zawartość widżetu.
Domyślnie: brak

4 - $ control_callback (ciąg) (opcjonalnie) Nazwa tworzonej funkcji, która będzie obsługiwać przesyłanie formularzy opcji (konfiguracji) widgetów, a także wyświetla elementy formularza.

Ważny jest tutaj trzeci parametr, który określa funkcje, które zostaną załadowane do metaboksu. W tym przykładzie nazywa się to „rc_mdm_create_my_rss_box ()”.

/ **
* Zarejestruj wszystkie metaboksy na desce rozdzielczej
*
* @dostęp publiczny
* @ od wersji 1.0
* @render void
* /

funkcja rc_mdm_register_widgets () {
globalne $ wp_meta_boxes;

wp_add_dashboard_widget („widget_freelanceswitch”, __ („Moje kanały RSS”, „rc_mdm”), „rc_mdm_create_my_rss_box”);
}
działanie dodatkowe („wp_dashboard_setup”, „rc_mdm_register_widgets”);

Krok 3: Zawartość Metabox

Jeśli aktywujesz wtyczkę i przejdziesz do pulpitu WordPress, powinieneś zobaczyć nowy pusty metabox. Teraz musimy wypełnić jego treść. Ważną rzeczą dla tej funkcji jest dołączenie wbudowanego pliku WordPress „feed.php”, aby móc korzystać z funkcji „fetch_feed ()”. Pamiętaj, że używamy „fetch_feed ()”, ponieważ „fetch_rss ()”, „get_rss ()” i „wp_rss ()” są przestarzałe. Po raz pierwszy zamieściłem wszystkie komentarze w kodzie bezpośrednio, ale chciałbym zwrócić uwagę na kilka fajnych funkcji, których używam wewnątrz funkcji metabox.

Przede wszystkim „fetch_feed ()”. Ten służy do pobierania i analizowania treści kanałów. Ta funkcja korzysta z Klasa SimplePie, dzięki czemu możesz korzystać z prawie wszystkich zawartych w nim funkcji.

Następnie mamy funkcję „human_time_diff ()”, która służy do wyświetlania czasu jako „human_time_diff ()„, Na przykład, aby wyświetlić coś w stylu„ 2 godziny temu ”,„ 4 dni temu ”itp.… Jest to funkcja WordPress.

I wreszcie mamy „wp_html_excerpt ()”, Aby skrócić zawartość każdego kanału.

Wszystkie pozostałe funkcje są dobrze znanymi funkcjami WordPress lub należą do klasy Simple Pie.

Oto kod:

/ **
* Tworzy metabox RSS
*
* @dostęp publiczny
* @ od wersji 1.0
* @render void
* /

funkcja rc_mdm_create_my_rss_box () {

// Uzyskaj kanały RSS
include_once (ABSPATH. WPINC. '/feed.php');

// Moja lista kanałów (dodaj własne adresy URL kanałów RSS)
$ my_feeds = array (
„http://feeds.feedburner.com/FSAllJobs”,
„http://www.wphired.com/feed/?post_type=job_listing”
);

// Pętla przez kanały
foreach ($ my_feeds jako $ feed):

// Pobierz obiekt kanału SimplePie z określonego źródła kanału.
$ rss = fetch_feed ($ feed);
if (! is_wp_error ($ rss)): // Sprawdza, czy obiekt został poprawnie utworzony
// Dowiedz się, ile jest wszystkich elementów i wybierz limit
$ maxitems = $ rss-> get_item_quantity (3);

// Zbuduj tablicę wszystkich elementów, zaczynając od elementu 0 (pierwszy element).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Uzyskaj tytuł RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '„;
endif;

// Wyświetl kontener
Echo '
„; Echo '„. $ rss_title.”„; Echo '
„; // Rozpoczyna listę przedmiotów w ciągu
    etykietka Echo '
      „; // Sprawdź elementy if ($ maxitems == 0) { Echo '
    • „.__ („ Brak elementu ”,„ rc_mdm ”).”.
    • „; } else { // Pętlę przez każdy element kanału i wyświetlać każdy element jako hiperłącze. foreach ($ rss_items jako $ item): // Odkomentuj wiersz poniżej, aby wyświetlić datę inną niż ludzka // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Uzyskaj datę człowieka (komentarz, jeśli chcesz użyć daty innej niż człowiek) $ item_date = human_time_diff ($ item-> get_date ('U'), current_time ('timestamp')). ' „.__ („ temu ”,„ rc_mdm ”); // Rozpocznij wyświetlanie zawartości elementu w ciągu
    • etykietka Echo '
    • „; // utwórz link do przedmiotu Echo 'get_permalink ()). '"title ="'. $ item_date. '">'; // Uzyskaj tytuł przedmiotu echo esc_html ($ item-> get_title ()); Echo '„; // Wyświetl datę Echo ' „. $ item_date.”
      „; // Uzyskaj treść przedmiotu $ content = $ item-> get_content (); // Skróć treść $ content = wp_html_excerpt ($ content, 120). „[...]”; // Wyświetl zawartość echo $ content; // Koniec
    • etykietka Echo '
    • „; endforeach; } // Koniec
        etykietka Echo '
„; endforeach; // Koniec kanału foreach }

W linii 15 znajduje się tablica, w której możesz umieścić tyle kanałów, ile chcesz. Możesz także zdefiniować liczbę poszczególnych elementów kanału wyświetlanych w wierszu 27. Wreszcie w wierszach 50 i 54 możesz wybrać wyświetlanie daty ludzkiej lub zwykłej daty. To zależy od Ciebie.

Wniosek

Ok, więc stworzyliśmy prosty metaboks, ale teraz masz podstawy do tworzenia własnych metaboksów z własną treścią. Możesz także usunąć domyślne metaboksy WordPressa i mieć pełne zrozumienie Interfejs API widżetów deski rozdzielczej, jak zawsze zachęcam do zapoznania się z kodeks.

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