在导入的帖子创建中更新自定义字段

时间:2013-06-14 作者:Steve Dimock

因此,我创建了一个函数,在创建帖子时更新帖子中的几个自定义字段。这样做的目的是清理这些信息,以便我可以轻松地将其用于其他目的。当我手动创建帖子时,该函数工作正常。然而,我将数百篇帖子直接导入到站点(使用WP All import),对于这些导入的帖子,似乎此功能不适用。目前,我正在使用“save\\u post”、“publish\\u post”和“new\\u to\\u publish”挂钩来尝试实现这一点。然而,它们似乎都不起作用。我错过什么了吗?有没有更好的方法来实现这一点?以下是我迄今为止的简略版本:

add_action( \'save_post\', \'sterilize_vehicle_information\' );
add_action( \'publish_post\', \'sterilize_vehicle_information\' );
add_action( \'new_to_publish\', \'sterilize_vehicle_information\' );
function sterilize_vehicle_information( $post_id ) {
    $internet_price = get_field(\'internet_price\',$post_id);
    update_post_meta( $post_id, \'internet_price\', preg_replace( "/[^0-9]/", "", $internet_price ) );
}
感谢您的洞察力!

1 个回复
SO网友:JMau

在大多数情况下,有一个钩子对我有效,而你使用的三个钩子都失败了。它是transition_post_status :

add_action(\'transition_post_status\', \'sterilize_vehicle_information\', 10, 3);
function sterilize_vehicle_information( $post, $new_status, $old_status) {

   $internet_price = get_field(\'internet_price\',$post->ID);
   if(  $new_status == \'publish\' && old_status != \'publish\' ) {
           update_post_meta( $post->ID, \'internet_price\', preg_replace( "/[^0-9]/", "", $internet_price ) );
    }
}
希望这会有所帮助。

结束

相关推荐

PHP包括不能在自定义页面中工作

问题出在我身上db.php 包含mysql登录详细信息的文件。我想把它放在一个单独的文件中,这样它就可以链接到几个不同的页面,以便以后更容易跟踪。这一切在没有wordpress网站的情况下都能正常工作,但我现在正试图将所有内容转换为wordpress,我遇到了一个问题。下面的内容不起作用(页面上没有任何回应),但如果我从inc/db.php 进入我的page-pricechanges.php 它起作用了。对我来说,什么是链接此内容的最佳方式?文件夹结构价格变化页面。php标题价格更改。php。php页面代