在不同的WordPress安装中加载自定义POST类型

时间:2012-01-11 作者:Lou

我试图显示来自不同WordPress安装的帖子列表(自定义帖子类型)(为了更清楚,我的客户希望有两个单独的站点,他们希望在两个站点上列出他们的列表,但只添加一次)。

我曾尝试用PHP/MySQL实现这一点,我能够从特定的自定义帖子类型中获取帖子标题、内容、ID和日期,但是所有添加的字段都存储在“*meta_key*”字段下的*wp_postemta*中,所以你可以想象这将是一场噩梦。

我希望有人能有一个更快更简单的解决方案,在不同的WordPress安装上显示任何给定帖子的完整日期。

2 个回复
SO网友:Nickiler

从WordPress到WordPress获取帖子的最简单方法是使用RSS。您可以使用SimplePie处理目标站点上的提要。http://simplepie.org/wiki/reference/start

我使用这种技术从WordPress获取到Joomla CMS的帖子,我从未回头。

Edit Added

我在过去使用过feed,它工作得很好,并且SimplePie是WordPress附带的,您只需添加适当的类。我用这种方法把最新的帖子放到Joomla网站上,效果完美。

要在代码签出中获取提要URL,请获取\\u category\\u feed\\u链接或\\u category\\u rss()(注意:\\u category\\u rss()必须在循环中)

This is how you get a feed from anywhere into WordPress 您可能希望将其分解为使用过滤器和操作,但这是基本的想法,如果您只需将文件放入模板文件中,则效果会很好。

包括

<?php 
require_once  (ABSPATH . WPINC . \'/class-feed.php\');

$feed_url = \'feed://techcrunch.com/feed/\';
$feed = new SimplePie($feed_url);

?>
显示代码

<h1>Latest 5 Post<?php print $feed->get_title(); ?></h1>
<ul>
<?php foreach ($feed->get_items(0, 5) as $item): ?>
    <li>
        <a href="<?php print $item->get_permalink(); ?>">
        <?php print $item->get_title(); ?></a>
    </li>
<?php endforeach; ?>
</ul>

<h1>Latest post from <?php print $feed->get_title(); ?></h1>
<?php $item = $feed->get_item() ?>
<h2><?php print $item->get_title(); ?></h2>
<?php print $item->get_description(); ?>
用于从源WordPress站点获取提要URL的命令(在任何地方运行)

$url = get_category_feed_link(\'25\', \'\'); // get your category id
$feed = SimplePie($url);

Possibly helpful links

简单饼图示例页:http://simplepie.org/wiki/setup/sample_page

WordPress get\\u category\\u feed\\u link():http://codex.wordpress.org/Function_Reference/get_category_feed_link

您可以从一些很好的SimplePie代码示例开始:http://www.corvidworks.com/articles/easy-feed-reading-with-simplepie

SO网友:Noel Tock

我认为另一个简单的解决方案是create a JSON file via PHP 您需要的所有内容(包括任何其他元数据),即。

<?php

// Delcare JSON filetype

header( \'Content-Type:application/json\' );

// Grab wp-load & $wpdb

include \'../../../../../wp-load.php\'; // wherever it is

global $wpdb;

// Run your Custom Loop whilst saving to $array

...

// Encode & echo the JSON

echo json_encode( $array );

?>
此时,您可以从这个PHP文件中获取文件内容,并运行一个简单的循环。您还可以利用Transient API 如果流量较大,可以帮助将数据存储在其他网站上。

结束

相关推荐