如何通过外部PHP脚本从我的Wordpress博客中检索所有博客帖子?这甚至可能吗?我已经看到了用于创建Wordpress插件的API,但我不确定这是否与此特定情况相关。任何建议都非常感谢。谢谢。
答案 0 :(得分:1)
您的外部脚本可以使用
加载wordpress apiinclude('blog/wp-load.php'); // change blog/ to your actual path
然后你可以使用get_posts或query_posts来获得你想要的帖子。
答案 1 :(得分:0)
Wordpress有一个您的帖子默认发布到的Feed。您可以阅读XML提要,并解析相关数据。
我有一个我用它来发送客户的虚荣网站,我偶尔也会为博客做贡献。我的虚荣网站显示的一件事是一个简短的链接列表,列出了博客最近的5篇最新帖子。这是我用来做的代码:
<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>
随意使用此代码。您可以检查自己博客的供稿,并确定要解析的元素。通常,您的Feed会位于您博客的网址上,最后会加/feed
。
答案 2 :(得分:0)
另一种选择当然是使用PHP连接到您的数据库并自己读取数据库:)
//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);
}
这样可以让您更轻松地使用数据:)
答案 3 :(得分:0)
您需要查看Magpie。这是一个非常直接的PHP RSS客户端,让你订阅任何一个feed并只用几行代码来获取帖子。