我经常使用stackoverflow,只是在google中发现了这个,Nice:D
那么, 我想保存我从wordpress写到我的第三个(OEXChangeble)网站的所有帖子,同时我也需要将信息发送到我的网站,开发一个插件iguess
我基本上需要永久链接(并且我能够从我的wesite中提取其余的参数),但如果我能获得标题,标签,永久链接和描述(或者某些它)
据我的谷歌研究所了解,我需要做的就是添加类似
的内容<?php
//header of plugin
function myFunctionThatSendsMyWebsite($url){
// procedure containing a file_get_contents('myqwebsite?url=') request to my website
}
add_action('page_post', 'myFunctionThatSendsMyWebsite', $permalink));
?>
我有问题,你找到我遗漏的变量的名称(标记为???)。我知道$ post包含所有objet,如何从中提取信息(如果有的话),或者如果它很复杂,那么我将通过永久链接获得
任何提示?
谢谢!
答案 0 :(得分:1)
1)虽然这没有利用save_post功能,但您甚至可以使用此代码在完全独立的网站上显示博客帖子,只要它位于同一台服务器上并且您具有对WordPress的文件系统访问权限原始网站上的目录。只需修改此页面第一个块中的require()即可使用WordPress安装的完整路径:
<?php
// Include WordPress
define('WP_USE_THEMES', false);
require('/var/www/example.com/wordpress/wp-load.php');
query_posts('showposts=1');
?>
使用while循环定位帖子:
<?php while (have_posts()): the_post(); ?>
<?php endwhile; ?>
如果您想指定要显示的帖子的哪些部分使用此代码:
<?php while (have_posts()): the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_excerpt(); ?>
<p><a href="<?php the_permalink(); ?>">Read more...</a></p>
<?php endwhile; ?>
2)如何使用wordpress博客中的rss feed?
以下代码将显示您的Feed标题列表,其中包含指向原始WordPress帖子的超链接:
<?php // Load the XML file into a Simple XML object
$filename = http://feeds.feedburner.com/<em>yourfeedname</em>";
$feed = simplexml_load_file($filename);
// Iterate through the list and create the unordered list
echo "<ul>";
foreach ($feed->channel->item as $item) {
echo "<li><a href='" . $item->link . "'>" . $item->title . "</a></li>";
}
echo "</ul>";
echo "<li>" . $item->description . "</li>";
?>
3)Feedburner有一个名为BuzzBoost的免费功能,您可以在常规HTML网站中显示您的帖子,一旦激活,您只需将他们提供的脚本复制到您希望列表显示的HTML中。从您的feedburner帐户,您可以调整一些元素,如博客标题是否应该出现,日期的格式等...
您还可以使用常规CSS在您现有的CSS网站中设置输出样式。
答案 1 :(得分:1)
根据此link,这应该有效,帖子ID会自动发送到此功能,您可以从帖子ID中获得所需的anything。
function myFunctionToSendPost($post_ID) {
$post = get_post($post_ID);
$title = $post->post_title;
$content = $post->post_content;
$permalink = get_permalink($post_ID);
...
sendToYourServer($params);
return $post_ID;
}
add_action('publish_post', 'myFunctionToSendPost');
BTW,发布帖子时会调用此函数,您可以将其更改为
保存时发生add_action('save_post', 'myFunctionToSendPost');
将这些行添加到主题的functions.php文件中。
答案 2 :(得分:0)
您是否尝试在首次发布帖子时将帖子的副本保存在其他位置?或者在每个页面视图上?
您可以通过编写实现save_post挂钩的插件来保存帖子时触发它:
http://codex.wordpress.org/Plugin_API/Action_Reference
要在每个页面上执行此操作,您可能会在页面上编写带有过滤器挂钩的插件(如果它是您希望其他人使用的内容),或者它只是一个网站,您可以将其添加到您的主题。
但是......你确定要这么做吗?您的keepyourlinks网站似乎可以更好地实施为更新服务:http://codex.wordpress.org/Update_Services