it-swarm-eu.dev

RSS/XML všech kategorií a/nebo tagů

Je možné získat RSS/XML zdroj všech WordPress kategorií a/nebo tagů?

Hledal jsem Codex , který byl velmi užitečný při uvádění příkladů, jak přistupovat ke konkrétním, jednotlivým RSS kanálům, ale nebyl schopen najít žádné jak zobrazit všechny kategorie webu.

Pomocí příkladů z Kodexu lze nalézt konkrétní kategorie s následující strukturou:

example.com/category/categoryname/feed

Hledám něco podle:

example.com/category/*/feed

OR

example.com/categories/feed

Nějaké nápady? Řešení? Návrhy?


EDIT: Nehledám zdroj příspěvků, spíše zdroj všech aktuálních kategorií nebo značek. V ideálním případě by toto krmivo obsahovalo pouze kategorie samotné, žádné konkrétní poštovní údaje. S použitím kategorií v kanálu však budu moci shromažďovat příspěvky podle potřeby při pohledu na každou z kategorií specifických RSS kanálů.

Příkladem toho, co hledám, by byl zdroj, který vrátil následující seznam:

  • Kategorie 1
  • Kategorie 2
  • Kategorie 3
  • Kategorie 4

Iterace nad tím, když je to potřeba, by mi mohla poskytnout místa pro každého.

1
user2242816

Demo plugin pro export JSON:

Nejsem si jistý, zda struktura RSS kanálů vyhovuje vašim potřebám, například taxonomie a termíny nemají žádná data pro pole veřejného data . Zde je příklad, jak můžete načíst všechny termíny pro danou taxonomii:

/** 
 * Plugin Name: WPSE - JSON export all terms for a given taxonomy. 
 * Plugin URI:  http://wordpress.stackexchange.com/a/151908/26350
 * Version:     0.0.1
 */ 

add_filter( 'query_vars', function( $qv ){
    $qv[] = 'wpse-export-taxonomy';
    return $qv;
});

add_action( 'template_redirect', function(){

    $tax = get_query_var( 'export-taxonomy' );

    if( ! empty( $tax ) )
    {
        if( taxonomy_exists( $tax ) )
        {
            $data = get_terms( sanitize_key( $tax ), 
                array( 
                    'hide_empty' => true,
                    'orderby'    => 'name', 
                    'order'      => 'ASC', 
                ) 
            );

            if( count( $data ) > 0 )
                wp_send_json_success( $data );
        }
    }

    // Error:
    wp_send_json_error();

} );

kde můžete modifikovat get_terms() argumenty podle vašich potřeb.

Příklady použití:

Export kategorií:

http://example.com/?wpse-export-taxonomy=category

Exportovat značky příspěvků:

http://example.com/?wpse-export-taxonomy=post_tag

Vlastní export country taxonomie:

http://example.com/?wpse-export-taxonomy=country

Export kategorie může vypadat takto:

{"success":true,"data":{
"0":{"term_id":"65","name":"animals","slug":"animals","term_group":"0","term_taxonomy_id":"75","taxonomy":"category","description":"id:65","parent":"0","count":"5"},
"1":{"term_id":"61","name":"birds","slug":"birds","term_group":"0","term_taxonomy_id":"70","taxonomy":"category","description":"id:61","parent":"65","count":"8"}
"2":{"term_id":"13","name":"falcons","slug":"falcons","term_group":"0","term_taxonomy_id":"15","taxonomy":"category","description":"id:13","parent":"61","count":"3"}
}}

Doufám, že to pomůže.

1
birgire