Harici komut blogposts (Wordpress) Al nasıl

4 Cevap php

Nasıl harici bir PHP komut dosyası ile benim Wordpress blog blogposts tüm alma hakkında nasıl gidiyor? Bu bile mümkün mü? Ben bir Wordpress eklentisi oluşturmak için API gördük, ancak bu özel durumda ilgili olup olmadığından emin değilim. Herhangi bir öneri büyük takdir edilmektedir. Teşekkür ederim.

4 Cevap

Sizin dış komut ile wordpress API yükleyebilirsiniz

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

Sonra istediğiniz mesajları almak için get_posts veya query_posts kullanabilirsiniz.

Wordpress mesajlar varsayılan olarak yayınlanan olsun bir yayını vardır. Sen XML beslemesi okumak ve ilgili verileri ayrıştırmak olabilir.

Ben müşterilerine göndermek için kullanabileceğiniz bir makyaj sitesi var, ve ben de bir blog için zaman zaman katkıda bulunur. Benim makyaj sitesi gösteren şeylerden biri blogdan iyi 5 en son mesajların bağlantıların kısa bir listesi. İşte ben bunu yapmak için kullanılacak kod:

<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>

Bu kodu kullanmak için çekinmeyin. Sen kendi blog yem incelemek ve ayrıştırmak istediğiniz öğeleri karar verebilirsiniz. Genellikle besleme /feed sonuna tacked ile, blogunuzun URL yer alacaktır.

Tabii diğer alternatif veritabanına bağlanmak ve veritabanını kendiniz okumak için PHP kullanmak için :)

//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); }

Bu çok daha kolay veri ile oynamak için izin vermelidir :)

Sen Magpie bakmak isteyeceksiniz. It herhangi beslemesine abone ve kod sadece birkaç satır ile mesajları almak izin PHP için oldukça düz ileri RSS istemcisi bulunuyor.