如何在更新页面时捕获和修改自定义字段值

时间:2016-09-16 作者:Adam B

我试图找到如何在保存页面上某些自定义字段的值时截取这些值。我已经搜索并找到了如何向函数文件添加挂钩以获取标准内容字段,但到目前为止还没有找到如何对自定义字段执行相同操作的方法。我将ACF Pro与灵活的内容字段一起使用,因此实际值以多维数组的形式出现。

我使用的代码位于底部。此代码在保存之前成功修改了标准的“post\\u内容”字段。基本上,我想对各种自定义字段执行相同的操作。有什么想法吗?

function save_my_post( $content ) {
  global $post;
  if( isset($post) && get_post_type( $post->ID ) == \'post\' ){
    $content[\'post_content\'] = function_to_manipulate_the_content();
  }
  return $content;
}
add_filter( \'wp_insert_post_data\', \'save_my_post\' );

1 个回复
最合适的回答,由SO网友:Jesper Nilsson 整理而成

这完全取决于“自定义字段”的保存方式。如果将值存储为post-meta,则必须调用update_post_meta 用于更新的函数wp_insert_post_data. 在下面的示例中,Im使用字符串值“my\\u meta\\u value”设置post meta“my\\u meta\\u key”。

function save_my_post( $content ) {
    global $post;
    if( isset($post) && get_post_type( $post->ID ) == \'post\' ){
        update_post_meta( $post->ID, \'my_meta_key\', \'my_meta_value\' );
    }
    return $content;
}
add_filter( \'wp_insert_post_data\', \'save_my_post\' );

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private