Wie bekomme ich Feeds für Seiten?

Ich habe eine Frage zu WordPress-Feeds.

Ich weiß, dass der Standard-Feed:

http://www.example.com/feed/ 

ist für den post .

Ich möchte jedoch einen neuen Feed erstellen, nur für den page , z

 http://www.example.com/kellyspagefeed/ 

Ich möchte den Standard nicht überschreiben.

Kann mir jemand eine Anleitung geben, wie man Feeds für Seiten bekommt ?

Solutions Collecting From Web of "Wie bekomme ich Feeds für Seiten?"

Wir können einen benutzerdefinierten Feed erstellen, auf den von hier aus zugegriffen werden kann:

 example.tld/kellyspagefeed/ 

und zeigt nur Seiten statt Posts .

Wir könnten versuchen, die letzte Antwort hier mit dem folgenden Demo-Plugin neu zu schreiben:

 < ?php /** * Plugin Name: Kelly's Page Feed * Description: Accessible from the /kellyspagefeed slug * Plugin URI: https://wordpress.stackexchange.com/a/209244/26350 */ // Add the custom rss2 feed add_action( 'init', 'wpse_init' ); // Set the 'page' post type for the custom feed add_action( 'pre_get_posts', function( \WP_Query $q ) { if( $q->is_feed( 'kellyspagefeed' ) ) $q->set( 'post_type', 'page' ); } ); // Add our rewrite rules and flush only during plugin activation register_activation_hook( __FILE__, 'wpse_init' ); // House cleaning during plugin deactivation - remove our rewrite rules register_deactivation_hook( __FILE__, 'flush_rewrite_rules' ); // Helper function function wpse_init() { add_feed( 'kellyspagefeed', 'do_feed_rss2' ); if( 'init' !== current_filter() ) flush_rewrite_rules(); } 

Lasst uns folgendes beachten:

 register_activation_hook( __FILE__, 'flush_rewrite_rules' ); 

funktioniert hier nicht, weil wir die Umschreibregeln add_feed() müssen, nachdem wir unsere Regeln für benutzerdefinierte Feed-Umschreibung mit add_feed() hinzugefügt haben.

Deshalb habe ich die wp_init() eingeführt:

 register_activation_hook( __FILE__, 'wpse_init' ); 

Hier stellen wir sicher, dass die Rewrite-Regeln nicht innerhalb des init gelöscht werden. Dieser Flush ist teuer und wir wollen es nur tun, wenn unser Demo-Plugin aktiviert oder deaktiviert ist.

Hoffentlich können Sie dies Ihren Bedürfnissen anpassen,