Faking the "onSave" event

时间:2012-06-27 作者:Zach

虽然这是一个特定的用例,但我相信这可能会让其他人受益。

我正在使用TurboCSV 将大量帖子导入WordPress(到目前为止,它做得非常好)。在该导入中,我指定要与一起使用的自定义字段Advanced Custom Fields 存储/输出数据。post\\U元表创建正确,但未按预期工作的部分正在生成ACF的隐藏字段(使用字段关系)。首次完成导入时,在手动进入每篇文章并重新保存之前,不会创建这些数据库表。我想知道是否有一种方法可以为WordPress的许多帖子“伪造”onSave事件。ACF还将帖子信息(存储在帖子编辑屏幕上)传递给这个保存功能,这让它有点棘手,但如果有人有任何想法,我会很感兴趣。谢谢

2 个回复
最合适的回答,由SO网友:SickHippie 整理而成

你看到了吗wpshell? 这是wordpress的命令行工具。基本上,它是一个Wordpress环境,允许您运行任意php,因此您可以设置WP_Query 这会拉住所有的柱子,绕过它们,然后对每个柱子发出命令。

这是我的想法,没有经过测试。使用wp_update_post() 因为它包含save_post 挂钩,相当于在编辑后屏幕上点击“更新”:

$args = array(\'posts_per_page\' => -1, \'post_type\' => \'any\')
$query = new Wp_query($args)
while ( $query->have_posts() ) : $query->the_post();
    $post->wp_update_post();
    echo $post->ID . \'<br />\';
endwhile;
echo \'Done!  Everything saved!\';

SO网友:DeNitto

我知道这是一个老问题,但数据导入对用户来说是一个持续的挑战,我相信!

我最近开始使用WP All Import,我在ACF字段中遇到了同样的问题。幸运的是,他们为插件提供了一个扩展,正好解决了这个问题:

http://www.wpallimport.com/add-ons/

WP All Import ACF附加模块应该可以解决这个难题—没有问题。这是一个高级插件,但我几乎每个月都会使用它,所以它的价格超过了自己的价格。希望这对别人有帮助。

结束

相关推荐

WordPress“类别到标签的转换器”不起作用。改为指向Import.php

我刚把博客上的帖子导入wordpress。在这样做的过程中,出于某种奇怪的原因,标签被转换为类别。我现在正试图使用wordpress的内置转换器将它们转换回标签。然而,每当我单击“Category to tag converter”链接时,它都会将我引导到导入页面“/import.php”。我能做些什么来纠正这一点吗。或者,请某人复制转换工具页面的URL结尾,并粘贴到此处,以便我可以将其附加到我的博客URL。我猜这可能同时奏效。提前欢呼。。

Faking the "onSave" event - 小码农CODE - 行之有效找到问题解决它

Faking the "onSave" event

时间:2012-06-27 作者:Zach

虽然这是一个特定的用例,但我相信这可能会让其他人受益。

我正在使用TurboCSV 将大量帖子导入WordPress(到目前为止,它做得非常好)。在该导入中,我指定要与一起使用的自定义字段Advanced Custom Fields 存储/输出数据。post\\U元表创建正确,但未按预期工作的部分正在生成ACF的隐藏字段(使用字段关系)。首次完成导入时,在手动进入每篇文章并重新保存之前,不会创建这些数据库表。我想知道是否有一种方法可以为WordPress的许多帖子“伪造”onSave事件。ACF还将帖子信息(存储在帖子编辑屏幕上)传递给这个保存功能,这让它有点棘手,但如果有人有任何想法,我会很感兴趣。谢谢

2 个回复
最合适的回答,由SO网友:SickHippie 整理而成

你看到了吗wpshell? 这是wordpress的命令行工具。基本上,它是一个Wordpress环境,允许您运行任意php,因此您可以设置WP_Query 这会拉住所有的柱子,绕过它们,然后对每个柱子发出命令。

这是我的想法,没有经过测试。使用wp_update_post() 因为它包含save_post 挂钩,相当于在编辑后屏幕上点击“更新”:

$args = array(\'posts_per_page\' => -1, \'post_type\' => \'any\')
$query = new Wp_query($args)
while ( $query->have_posts() ) : $query->the_post();
    $post->wp_update_post();
    echo $post->ID . \'<br />\';
endwhile;
echo \'Done!  Everything saved!\';

SO网友:DeNitto

我知道这是一个老问题,但数据导入对用户来说是一个持续的挑战,我相信!

我最近开始使用WP All Import,我在ACF字段中遇到了同样的问题。幸运的是,他们为插件提供了一个扩展,正好解决了这个问题:

http://www.wpallimport.com/add-ons/

WP All Import ACF附加模块应该可以解决这个难题—没有问题。这是一个高级插件,但我几乎每个月都会使用它,所以它的价格超过了自己的价格。希望这对别人有帮助。

相关推荐

SQL database export-import

我开发的网站包含WordPress博客以及我设计的其他PHP页面。当我在测试服务器上本地更改站点时,我使用myPHPAdmin进行SQL数据库转储。如何避免覆盖客户端WordPress日历条目和其他日历设置的内容?如果我只是在localhost db dump上取消选择日历表,那么在导入之后,客户端的db会维护远程服务器上表的这些客户端条目吗?提前感谢