Adicionar um feed RSS personalizado no painel do WordPress

A Internet está cheia de ótimos recursos e é difícil dar uma olhada em tudo. É claro que existe o Twitter para acompanhar as tendências, ou softwares de leitores de RSS, mas você é muito ocupado comigo, às vezes é irritante ter 20 softwares abertos ao mesmo tempo. Por isso, decidi usar meu painel do WordPress como uma plataforma global para ter acesso rápido a esses feeds. Um exemplo que quero compartilhar hoje é como criar uma metabox RSS personalizada no painel do WordPress.


Aqui está o resultado final do que vamos criar:

add-a-custom-rss-dashboard-metabox

Etapa 1: o plug-in

Para adicionar este metabox, precisamos criar um plugin. Portanto, basta criar uma nova pasta chamada “my-dashboard-metaboxes” em wp-content / plugins / e dentro da nova pasta criar um arquivo chamado my-dashboard-metaboxes.php. Este arquivo será o principal arquivo de plug-in. Abra-o no seu editor principal. O código abaixo é o código que irá gerar o plugin. Nada realmente complexo aqui:

Etapa 2: Registrando a Metabox

Agora que temos um plug-in vazio (quero dizer, um plug-in que não faz nada), precisamos registrar pelo menos um metabox para ser exibido no painel do WordPress. Para fazer isso, precisamos criar uma nova função que conectará o "wp_dashboard_setupGancho. Vamos chamar essa função de "rc_mdm_register_widgets ()". Dentro desta função, precisamos informar ao WordPress que queremos adicionar uma nova metabox, e esse é o objetivo do "wp_add_dashboard_widget ()Função Esta função aceita 4 parâmetros:

1 - $ widget_id (número inteiro) (obrigatório) uma lesma de identificação para o seu widget. Isso será usado como sua classe css e sua chave na matriz de widgets.
Padrão: Nenhum

2 - $ widget_name (string) (obrigatório) é o nome que o widget exibirá no cabeçalho.
Padrão: Nenhum

3 - $ retorno de chamada (string) (obrigatório) O nome de uma função criada que exibirá o conteúdo real do seu widget.
Padrão: Nenhum

4 - $ control_callback (string) (opcional) O nome de uma função criada que manipulará o envio de formulários de opções de widget (configuração) e também exibirá os elementos do formulário.

O importante aqui é o terceiro parâmetro, é o que define as funções que serão carregadas no metabox. Neste exemplo, ele é chamado de "rc_mdm_create_my_rss_box ()".

/ **
* Registre todos os metaboxes do painel
*
* @access public
* @ desde 1.0
* @return void
* /

função rc_mdm_register_widgets () {
global $ wp_meta_boxes;

wp_add_dashboard_widget ('widget_freelanceswitch', __ ('Meus feeds RSS', 'rc_mdm'), 'rc_mdm_create_my_rss_box');
}
add_action ('wp_dashboard_setup', 'rc_mdm_register_widgets');

Etapa 3: o conteúdo da Metabox

Se você ativar o plug-in e acessar o painel do WordPress, verá um novo metabox vazio. Agora precisamos preencher seu conteúdo. O importante para esta função é incluir o arquivo “feed.php” incorporado no WordPress para poder usar a função “fetch_feed ()”. Observe que estamos usando "fetch_feed ()" porque "fetch_rss ()", "get_rss ()" e "wp_rss ()" estão obsoletos. Pela primeira vez, incluí todos os comentários diretamente no código, mas gostaria de chamar sua atenção para alguns recursos interessantes que estou usando na função metabox.

Primeiro de tudo, há o "fetch_feed ()Função Este é usado para obter e analisar o conteúdo dos feeds. Esta função está usando o Classe SimplePie, para que você possa aproveitar quase todas as funções incluídas nele.

Em seguida, temos a função "human_time_diff ()", usada para exibir a hora como "human_time_diff ()", Por exemplo, para exibir algo como" 2 horas atrás "," 4 dias atrás "etc ... é uma função do WordPress.

E finalmente nós temos "wp_html_excerpt ()”Para reduzir cada conteúdo de feed.

Todas as outras funções conhecem bem as funções do WordPress ou estão incluídas na classe Simple Pie.

Aqui está o código:

/ **
* Cria o metabox RSS
*
* @access public
* @ desde 1.0
* @return void
* /

função rc_mdm_create_my_rss_box () {

// Obter feeds RSS
include_once (ABSPATH. WPINC. '/ feed.php');

// Minha lista de feeds (adicione seus próprios URLs de feeds RSS)
$ my_feeds = array (
'http://feeds.feedburner.com/FSAllJobs',
'http://www.wphired.com/feed/?post_type=job_listing'
);

// Repetir feeds
foreach ($ my_feeds como $ feed):

// Obter um objeto de feed do SimplePie da fonte de feed especificada.
$ rss = busca_feed ($ feed);
if (! is_wp_error ($ rss)): // Verifica se o objeto foi criado corretamente
// Descobrir quantos itens totais existem e escolher um limite
$ maxitems = $ rss-> get_item_quantity (3);

// Constrói uma matriz de todos os itens, começando com o elemento 0 (primeiro elemento).
$ rss_items = $ rss-> get_items (0, $ maxitems);

// Obter título do RSS
$ rss_title = 'get_permalink (). '"target =" _ blank ">'. strtoupper ($ rss-> get_title ()). '';
fim se;

// Exibe o contêiner
eco '
'; eco ''. $ rss_title.''; eco '
'; // Inicia a listagem de itens em
    tag eco '
      '; // Verificar itens if ($ maxitems == 0) { eco '
    • '.__ (' Nenhum item ',' rc_mdm ').'.
    • '; } outro { // Passa por cada item de feed e exibe cada item como um hiperlink. foreach ($ rss_items como $ item): // Remova o comentário da linha abaixo para exibir a data não humana // $ item_date = $ item-> get_date (get_option ('date_format'). '@' .get_option ('time_format')); // Obter data humana (comente se você deseja usar data não humana) $ item_date = human_time_diff ($ item-> get_date ('U'), horário atual ('timestamp'))). ' '.__ (' atrás ',' rc_mdm '); // Comece a exibir o conteúdo do item dentro de um
    • tag eco '
    • '; // criar link do item eco 'get_permalink ()). '"title ="'. $ item_date. '">'; // Obter título do item echo esc_html ($ item-> get_title ()); eco ''; // Data de exibição eco ' '. $ item_date.'
      '; // Obter conteúdo do item $ content = $ item-> get_content (); // Encurtar conteúdo $ content = wp_html_excerpt ($ content, 120). '[...]'; // Exibir conteúdo eco de conteúdo $; // Fim
    • tag eco '
    • '; endforeach; } // Fim
        tag eco '
'; endforeach; // Fim do feed foreach }

Na linha 15, há uma matriz na qual você pode colocar quantos feeds desejar. Você também pode definir o número de cada item de feed a ser exibido na linha 27. Finalmente, nas linhas 50 e 54, você pode optar por exibir uma data humana ou uma data normal. Você decide.

Conclusão

Ok, criamos um metabox simples, mas agora você tem o básico para criar seus próprios metaboxes com seu próprio conteúdo. Você também pode remover metaboxes padrão do WordPress e ter uma compreensão completa dos API de widgets do painel, eu encorajo você, como sempre, a dar uma olhada no códice.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me