Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress PHP插件-通过save_Post命令发布到外部网站_Php_Hook_Wordpress - Fatal编程技术网

WordPress PHP插件-通过save_Post命令发布到外部网站

WordPress PHP插件-通过save_Post命令发布到外部网站,php,hook,wordpress,Php,Hook,Wordpress,我经常使用stackoverflow,刚刚在谷歌上发现了这个,Nice:D 那么, 我想把我从wordpress写的每一篇文章同时保存到我的第三个(OEXchangable)网站,所以我需要将信息发送到我的网站,开发一个插件iguess 我基本上需要permalink(我可以从我的wesite中提取其余的参数),但如果我能得到标题、标签、permalink和描述(或其中的一些),效果会更好 我通过我的谷歌调查了解到,我所需要做的就是添加 <?php //header of plugin

我经常使用stackoverflow,刚刚在谷歌上发现了这个,Nice:D

那么, 我想把我从wordpress写的每一篇文章同时保存到我的第三个(OEXchangable)网站,所以我需要将信息发送到我的网站,开发一个插件iguess

我基本上需要permalink(我可以从我的wesite中提取其余的参数),但如果我能得到标题、标签、permalink和描述(或其中的一些),效果会更好

我通过我的谷歌调查了解到,我所需要做的就是添加

<?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));

?>

当他们第一次发布文章时,您是否试图将文章的副本保存到其他地方?还是在每个页面浏览

通过编写一个实现save_post钩子的插件,可以在保存帖子时触发它:

要在每个页面上都这样做,您可能会在页面上编写一个带有过滤器挂钩的插件(如果它是您希望其他人使用的),或者如果它只是一个站点,您可以将它添加到您的主题中

但是。。。你确定要这样做吗?您的keepyourlinks网站似乎可以更好地实现为更新服务:

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源怎么样

以下代码将显示提要标题列表,其中包含指向原始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>";
?>
根据这一点,这应该是可行的,帖子id将自动发送到此函数,您可以从帖子id中获取所需内容

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');
顺便说一句,发布帖子时会调用此函数,您可以将其更改为保存时发生

add_action('save_post', 'myFunctionToSendPost');

将这些行添加到主题的functions.php文件中。

OH!看看你最后的解决方案!非常感谢你!我喜欢这个网站!我只是不知道你从哪里开始为我的网站开发更新服务…Hrm。。。我不想在这里给你发垃圾邮件,但如果你想雇人为你建造这个,我可以帮你。(你可以通过点击我的用户名找到我的网站。)你是说提交服务吗?这是一种书签。。。我正在寻找一个自动加载我的脚本后博客posting@tangeststorm,你能快速检查一下吗?我编辑了整个问题哦,伙计!问题是它不在同一个服务器中。。。但看起来不错。@ToniMichelCaubet:我添加了另外两个可能有用的选项。让我知道你的想法。谢谢你的编辑,英语不是我的母语:)太好了!至少有一个解决方案相关的答案!首先,非常感谢。现在,我有点困惑。我只想保存一次,如果我更新了,就不需要更新。所以,发表你的文章,对吗?