在另一个数据库中插入帖子

时间:2011-06-21 作者:Riccardo

我开发了一个自定义脚本wp_insert_post 为了创建新帖子,我想使用类似的代码在另一个wp数据库中创建相同的数据。是否可以在插入前即时执行此操作?例如,指示wordpress指向另一个数据库,然后插入数据?还是应该使用原始mySQL代码“手动”执行此操作?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您可以完全避免使用SQL,并使用XML-RPC API。这也可以让您发布到远程wordpress安装。

(注意,如果XML-RPC不是选项,请向下滚动)

If Using XML-RPC

以下是使用XML-RPC快速搜索google以发布到远程Wordpress博客的一些代码:

http://en.forums.wordpress.com/topic/great-code-for-remote-posting?replies=5

下面是一组简单的示例,解释了XML-RPC API

http://life.mysiteonline.org/archives/161-Automatic-Post-Creation-with-Wordpress,-PHP,-and-XML-RPC.html

下面是一个使用Curl和XML-RPC的WP配方示例:

http://www.wprecipes.com/post-on-your-wordpress-blog-using-php

function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$category,$keywords=\'\',$encoding=\'UTF-8\') {
    $title = htmlentities($title,ENT_NOQUOTES,$encoding);
    $keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding);

    $content = array(
        \'title\'=>$title,
        \'description\'=>$body,
        \'mt_allow_comments\'=>0,  // 1 to allow comments
        \'mt_allow_pings\'=>0,  // 1 to allow trackbacks
        \'post_type\'=>\'post\',
        \'mt_keywords\'=>$keywords,
        \'categories\'=>array($category)
    );
    $params = array(0,$username,$password,$content,true);
    $request = xmlrpc_encode_request(\'metaWeblog.newPost\',$params);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
    curl_setopt($ch, CURLOPT_URL, $rpcurl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    $results = curl_exec($ch);
    curl_close($ch);
    return $results;
?>

If afterall that XML-RPC is not for you

也许wordpress多站点最适合你?创建新帖子就像打电话一样简单switch_to_blog($blog_id); 然后在打电话之前创建新帖子restore_current_blog();

If you MUST use SQL

使用this question linked to 通过mike23以通过wpdb对象访问

结束

相关推荐

Corrupt Wordpress Database

我认为这是最奇怪的文字印刷问题。一个拥有大量帖子数据库的客户网站已经有了自己的想法。前一分钟一切似乎都很好,接下来的帖子、类别和标签都不见了。此时仪表板告诉我9个类别中有2309个帖子,但当我单击admin中的categories链接时,列表中没有任何帖子。我可以在admin中看到所有帖子,但尽管它们过去被分配到类别并列出标签,但现在它们都“未分类”,没有标签。很明显,wordpress数据库在某种程度上已经损坏,但从哪里开始尝试修复呢!?以下是我迄今为止测试的内容:插件–我关闭了所有当前的插件。主题–我