Wie Abrufen Blogposts (Wordpress) aus externem Script

stimmen
1

Wie gehe ich über all die Blogeinträge von meinem Wordpress-Blog über ein externes PHP-Skript abrufen? Ist das überhaupt möglich? Ich habe die API für das Erstellen einer Wordpress-Plugin gesehen, aber ich bin mir nicht sicher, ob das in diesem speziellen Fall relevant ist. Alle Vorschläge werden sehr geschätzt. Vielen Dank.

Veröffentlicht am 30/12/2009 um 02:08
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
0

Wordpress hat ein Futter, das Ihre Beiträge standardmäßig veröffentlicht werden. Sie können den XML-Feed, lesen und die entsprechenden Daten parsen.

Ich habe eine Eitelkeit Website, die ich verwende, um Clients zu senden, und ich auch dazu beitragen, gelegentlich in ein Blog. Eines der Dinge, die meine Eitelkeit Website zeigt eine kurze Liste von Links zu den Top 5 neuesten Beiträge aus dem Blog. Hier ist der Code, den ich verwende, es zu tun:

<ul>
<?php
    //slurp latest post from Wordpress' RSS feed, and cache them for short time.
    $posts = '';
    $cachefile = 'my-blog-cache-file.html';
    if (is_readable($cachefile) && filemtime($cachefile) > (time() - 1800)) {
        readfile($cachefile);
    }
    else {
        $doc = new DOMDocument();
        $doc->load('http://my.wordpress.blog/feed');
        $items = $doc->getElementsByTagName('item');
        foreach($items as $i)
        {
            if ($i->hasChildNodes()) {
                $title = $link = '';
                foreach($i->childNodes as $cn) {
                    if ($cn->nodeName == 'title') $title = $cn->nodeValue;
                    if ($cn->nodeName == 'link') $link = $cn->nodeValue;
                    if ($cn->nodeName == 'dc:creator') $author = $cn->nodeValue;
                }
                if ($title != '' && $link != '' && $author == 'my name') {
                    $posts .= '<li><a href="'.$link.'">'.$title.'</a></li>'."\n";
                }
            }
        }
        file_put_contents($cachefile,$posts);
        echo $posts;
    }
?>
</ul>

Fühlen Sie sich frei , diesen Code zu verwenden. Sie können den Feed von Ihrem eigenen Blog untersuchen und entscheiden , welche Elemente , die Sie analysieren möchten. Im Allgemeinen wird Ihre Feed in Ihrem Blog URL befindet, mit /feedauf das Ende geheftet.

Beantwortet am 30/12/2009 um 02:51
quelle vom benutzer

stimmen
1

Ihr externes Skript kann die Wordpress api lädt mit

include('blog/wp-load.php'); // change blog/ to your actual path

Dann können Sie get_posts oder query_posts verwenden, um die Beiträge zu erhalten Sie wollen.

Beantwortet am 30/12/2009 um 08:38
quelle vom benutzer

stimmen
0

Die andere Alternative ist natürlich PHP verwenden, um die Datenbank zu verbinden und die Datenbank selbst lesen :)

//You'll want to set your database credentials 
mysql_connect($server, $username, $password);
mysql_select_db($wp_db);

// Modify the fields to pull whatever data you need for the output, even perhaps join the wp_users table for user data // Setting the ORDER BY to DESC to mimic the Wordpress ordering with newest first $sql = "SELECT ID, post_author, post_date, post_content, post_title, post_status, post_name, guid FROM wp_posts ORDER BY post_date DESC"; $data = mysql_query($sql);

$num = count($data); for($i = 0; $i < $num; $i++){ $row = mysql_fetch_array($data); // Output your posts to something print_r($row); }

Dies sollte Ihnen ermöglichen, mit den Daten viel leichter zu spielen :)

Beantwortet am 30/12/2009 um 09:58
quelle vom benutzer

stimmen
0

Sie werden einen Blick auf nehmen wollen Magpie . Es ist ein ziemlich straight-forward RSS - Client für PHP, die sie an, Sie zu jedem Feed abonnieren und die Posten mit nur wenigen Zeilen Code bekommen.

Beantwortet am 30/12/2009 um 10:48
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more