Php Wordpress wp_insert_post();在一个脚本中复制到不同的安装
想象一下,我有一大组预先格式化的数据,并想从中创建wordpress帖子 我需要的只是一些小片段如何:Php Wordpress wp_insert_post();在一个脚本中复制到不同的安装,php,mysql,wordpress,multiple-instances,Php,Mysql,Wordpress,Multiple Instances,想象一下,我有一大组预先格式化的数据,并想从中创建wordpress帖子 我需要的只是一些小片段如何: 检查是否有wordpress连接(是否包含weather wp-blog-header.php) 关闭wordpress数据库连接 包括(“wp博客标题”) 插入柱 我希望如此。。。这是我能走的路吗 $data = array( "path/to/wordpress-instance/wp-blog-header.php" => array(
$data = array(
"path/to/wordpress-instance/wp-blog-header.php" => array(
"post_title" => "bla",
"post_content" => "blubb"
...
),
"path/to/wordpress-instance/wp-blog-header.php" => array(
"post_title" => "bla",
"post_content" => "blubb"
...
),
"path/to/wordpress-instance/wp-blog-header.php" => array(
"post_title" => "bla",
"post_content" => "blubb"
...
)
);
foreach($data as $path => $dataItem){
if($wpdb){
@mysql_close( $wpdb->dbh );//close connection
}
include($path);//new wp-blog-header
wp_insert_post($dataItem);
}
这听起来像是一种迂回的做事方式。为什么一开始就要关闭数据库连接呢 相反,只需在wp中创建一个页面。然后创建一个页面模板,为该页面运行php代码 不要打印该页面数据库中的任何数据,只需循环并打印所需的任何数据即可。(因此您不需要任何类型的wp_查询循环) 如果要传递参数以确定要显示的页面,可以按如下方式设置URL:
http://example.com/the_page/some_parameter
然后使用php解析url,获取参数并显示正确的页面。我问这个问题是因为我无法真正测试它,并且想确定这是否可以完成,因为我刚刚上传了它,我的错误日志类似于下面的php警告:mysql\u errno():43在第1531行的/path/to/wordpress instance/wp includes/wp-db.php中不是有效的MySQL链接资源。。。有什么帮助吗?:)mySQL会这么快吗?我应该在开头包含所有wp-blog-header.php,然后再使用它吗?但是我如何更改每个实例的$wpdb变量以使用正确的连接?这对我来说不起作用,因为我想将数据保存到wordpress表中。您可以使用类似Pods插件的东西来帮助创建和管理自定义帖子类型的自定义wordpress表。然后在我提到的页面模板中,您将有一个pods循环来遍历您的自定义数据。。那将是一种方式。。。如果能避免的话会很好,因为额外的工作,但这肯定会有用的…谢谢你