在插入时过滤变更集后发布数据以确保post_name完整。
原型
_wp_customize_changeset_filter_insert_post_data( array $post_data, array $supplied_post_data )
描述
这需要防止在帖子由贡献者转换为挂起状态时删除post_name。
参考:
- wp_insert_post()
参数
$post_data
(array)
(Required)
一系列削减的帖子数据。
$supplied_post_data
(array)
(Required)
一系列已清理但未经修改的帖子数据。
源文件
路径:wp-includes/theme.php
<?php
...
function _wp_customize_changeset_filter_insert_post_data( $post_data, $supplied_post_data ) {
if ( isset( $post_data['post_type'] ) && 'customize_changeset' === $post_data['post_type'] ) {
// Prevent post_name from being dropped, such as when contributor saves a changeset post as pending.
if ( empty( $post_data['post_name'] ) && ! empty( $supplied_post_data['post_name'] ) ) {
$post_data['post_name'] = $supplied_post_data['post_name'];
}
}
return $post_data;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/_wp_customize_changeset_filter_insert_post_data/