Wie erstelle ich einen HTML-Einbettungscode, um WP-Posts auf anderen Nicht-WP-Websites zu veröffentlichen?

Ich möchte einen Einbettungscode auf meinem WP-Blog anbieten, der es den Benutzern ermöglicht, die letzten Posts auf ihren Websites mit HTML / JavaScript-Code-Snippets zu veröffentlichen, die sie von meiner WP-Site kopieren und in ihre Nicht-WP-Site einfügen können.

Kannst du helfen?

Solutions Collecting From Web of "Wie erstelle ich einen HTML-Einbettungscode, um WP-Posts auf anderen Nicht-WP-Websites zu veröffentlichen?"

Sie müssen im Grunde einen Bereich außerhalb Ihres aktuellen Themas erstellen, in dem Sie Inhalte erstellen können, die Sie in einen IFrame einfügen können.

Sie geben Ihrem Benutzer einfach Folgendes:

 

Und sie haben Ihre Beiträge auf ihrer Website!

Im ersten Schritt erstellen Sie einen URL-Endpunkt für Ihren iFrame. Zuerst müssen Sie eine Rewrite-Regel für den Iframe hinzufügen und dann die Abfragevariable filtern, um sicherzustellen, dass WordPress Ihre neue iframe-Abfrage var erkannt hat und sie nicht ausstreicht.

 < ?php add_action( 'init', 'wpse32725_add_rewrite' ); /** * Adds the rewrite rule for our iframe * * @uses add_rewrite_rule */ function wpse32725_add_rewrite() { add_rewrite_rule( '^iframe$', 'index.php?iframe=true', 'top' ); } add_filter( 'query_vars', 'wpse32725_filter_vars' ); /** * adds our iframe query variable so WP knows what it is and doesn't * just strip it out */ function wpse32725_filter_vars( $vars ) { $vars[] = 'iframe'; return $vars; } 

Als Nächstes haken Sie sich in template_redirect und "catch" ein, wenn die iframe-Abfragevariable vorhanden ist. Wenn es ist, können Sie tun, was Sie wollen. Z.B. Holen Sie sich eine Liste von Posts und zeigen Sie sie an.

 < ?php add_action( 'template_redirect', 'wpse32725_catch_iframe' ); /** * Catches our iframe query variable. If it's there, we'll stop the * rest of WP from loading and do our thing. If not, everything will * continue on its merry way. * * @uses get_query_var * @uses get_posts */ function wpse32725_catch_iframe() { // no iframe? bail if( ! get_query_var( 'iframe' ) ) return; // Here we can do whatever need to do to display our iframe. // this is a quick example, but maybe a better idea would be to include // a file that contains your template for this? $posts = get_posts( array( 'numberposts' => 5 ) ); ?> < !doctype html> >  < ?php /* stylesheets and such here */ ?>   
< ?php // finally, call exit(); and stop wp from finishing (eg. loading the // templates exit(); }

Sie müssen nur noch einen Platz für Ihre Benutzer erstellen, um den iFrame-Code zu erhalten. Sie können dazu einen Shortcode verwenden oder einfach eine function (wie die unten stehende) erstellen, um an einem bestimmten Ort in Ihrem Thema zu bleiben.

 < ?php function wpse32725_iframe_code() { return sprintf( '<iframe src="%s"></iframe>', esc_url( home_url('/iframe/') ) ); } 

Hier ist alles als Plugin .

Ich verstehe, dass Sie Ihren Benutzern eine JS-Datei präsentieren möchten, die sie in ihre Websites einbetten können, um die neuesten Posts aus Ihrem WP-Blog zu erhalten. Ich würde versuchen, einen RSS-Parser 🙂

Überprüfen Sie dies: https://stackoverflow.com/questions/226663/parse-rss-with-jquery

Eine Antwort aus der verknüpften Frage zitierend, ist der einfachste Weg, es mit jQuery zu tun, https://stackoverflow.com/a/7067582/807101

Sie müssen einfach den Code von Drittanbietern verwenden und ihn mithilfe der Widgets-API in ein WordPress-Widget einfügen.

In Bezug auf die Twitter-Widgets, die du speziell erwähnt hast, habe ich mir bereits die Mühe gemacht, den Twitter-Code in ein WordPress-Widget einzufügen und als Plugin zu veröffentlichen. Vielleicht dient mein Plugin als nützlicher Leitfaden für die Verwendung dieser Methode für andere Drittanbieter. Party-Skripte.

… Diese functionalität ist bereits standardmäßig vorhanden.

Jede WordPress-Website kann einen externen RSS-Feed in einem Widget auf ihrer Website veröffentlichen. Solange Sie einen RSS-Feed für Ihre Inhalte erstellen, können andere WP-Sites diesen Inhalt über ein Widget erneut veröffentlichen.

Wenn Sie dafür ein benutzerdefiniertes Plugin schreiben möchten (dh ein einzelnes, installierbares System erstellen, das keine Endbenutzer benötigt, um RSS zu verstehen oder zu verstehen), ist es eigentlich ziemlich einfach.

Ich veröffentliche tatsächlich ein Plugin , das es WP-Site-Besitzern erlaubt, Inhalte von einer WordPress-Site in ihrer Sidebar erneut zu veröffentlichen. Es ist eine bestimmte Site und ich veröffentliche nur die Ergebnisse einer bestimmten Suchanfrage.

Hier ist ungefähr was es tut:

  1. Ziehen Sie den RSS von der Remote-Site
  2. Parsen Sie den RSS-Feed für den neuesten Beitrag (ich lese nur den neuesten).
  3. Gib den neuesten Beitrag als Widget in der Seitenleiste aus

Widget-Code:

 class My_Widget extends WP_Widget { function My_Widget() { $widget_ops = array( 'classname' => 'my_widget', 'description' => 'Add the latest post from My Blog to your sidebar.' ); $this->WP_Widget( false, 'My Widget', $widget_ops ); } function widget( $args, $instance ) { extract( $args ); // Get the feed $feed = fetch_feed( "http://myblog.com&feed=rss2" ); $post = array(); if( is_wp_error( $feed ) ) return; $latest = $feed->get_item(); $post = array( 'title' => esc_attr(strip_tags($latest->get_title())), 'excerpt' => str_replace( array("\n", "\r"), ' ', esc_attr( strip_tags( @html_entity_decode( $latest->get_description(), ENT_QUOTES, get_option('blog_charset') ) ) ) ), 'content' => str_replace( array("\n", "\r"), ' ', $latest->get_content() ), 'link' => esc_url(strip_tags($latest->get_link())) ); echo $before_widget; echo '
'; echo '
'; echo ''; echo '

' . $post['title'] . '

'; echo '

' . $post['content'] . '

'; echo '

Powered by MyBlog.com

'; echo ''; echo '
'; echo '
'; echo $after_widget; } }

Der Vorteil hierbei ist, dass fetch_feed() den Feed mit einem transienten Zwischenspeicher zwischenspeichert, sodass ich nicht bei jedem Laden der Seite auf die Remote-Site fetch_feed() . Es ist schnell, effizient und ziemlich einfach zu machen. Das Plugin, mit dem ich oben verlinkt habe, zieht den neuesten Beitrag von einer Seite, die tägliche spirituelle Meditationen anbietet, und ich veröffentliche die neueste Meditation auf meiner eigenen Seite.

Sie können es in Aktion auf der Seitenleiste eines meiner Blogs, Geerdetes Christentum sehen .